0 beğenilme 0 beğenilmeme
349 kez görüntülendi
BU STRATEJİYE KAR AL EKLENEBİLİR Mİ ACABA? MESELA  %5 KAR AL DİYEBİLECEĞİMİZ  BİR SİSTEM İSTİYORU MBEN BİRÇOK DENEME YAPTIM ANCAK PEK BAŞARILI OLAMADIM . YA DA STRATEJİNİN DOĞASINDA OLAN BİR PROBLEM VAR. ALDIĞI FİYATIN ALTINA DÜŞMEDEN SATMIYOR .BU SEBEPLE İYİ ÇALIŞAN BİR KAR AL KOMUTU GEREKLİ OLUYOR . BURADAKİ KAR AL KOMUTUNU EKLEDİM BEN DAHA ÖNCE BU STRATEJİYE . ANCAK SİZ DOĞRU YERE KOYUP  ,DÜZGÜN BİR ŞEKİLDE PAYLAŞIRSANIZ SEVİNİRİM. KOLAY GELSİN

NOT:  TRAİLİNG STOP LOSS DA DENEDİM O DA ÇOK İSTEDİĞİM SONUÇLAR VERMEDİ ... AYNI YERE MONTE EDİLİBİLİRSE SEVİNİRİM.

 

 

 

 

using System;

using System.Collections.Generic;

using System.Linq;

using Matriks.Data.Symbol;

using Matriks.Engines;

using Matriks.Indicators;

using Matriks.Symbols;

using Matriks.AlgoTrader;

using Matriks.Trader.Core;

using Matriks.Trader.Core.Fields;

using Matriks.Trader.Core.TraderModels;

using Matriks.Lean.Algotrader.AlgoBase;

using Matriks.Lean.Algotrader.Models;

using Matriks.Lean.Algotrader.Trading;

 

namespace Matriks.Lean.Algotrader

{

public class TilsonRenkDegisimi : MatriksAlgo

{

// Strateji çalıştırılırken kullanacağımız parametreler. Eğer sembolle ilgili bir parametre ise,

// "SymbolParameter" ile, değilse "Parameter" ile tanımlama yaparız. Parantez içindeki değerler default değerleridir.

 

[SymbolParameter("GARAN")]

public string Symbol;

 

[Parameter(SymbolPeriod.Min60)]

public SymbolPeriod SymbolPeriod;

 

[Parameter(1)]

public int Quantity;

 

[Parameter(3)]

public int TillsonPeriod;

 

[Parameter(0.7)]

public decimal TillsonA;

 

TMOV tmov;

 

public override void OnInit()

{

tmov = TMOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, TillsonPeriod, TillsonA);

AddSymbol(Symbol, SymbolPeriod);

 

//Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir.

//Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz.

SendOrderSequential(true);

WorkWithPermanentSignal(true);

}

 

/// <summary>

/// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir.

/// </summary>

/// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)

{

var barData = GetBarData();

var RefTilson1 = Ref(tmov, -1);

var RefTilson2 = Ref(tmov, -2);

 

// Al - T3>REF(T3,-1) AND REF(T3,-1)<REF(T3,-2)

if (tmov.CurrentValue>RefTilson1 && RefTilson1<RefTilson2)

{

SendMarketOrder(Symbol, Quantity, OrderSide.Buy);

Debug("Alis emri gonderildi");

}

 

// Sat - T3<REF(T3,-1) AND REF(T3,-1)>REF(T3,-2)

if (tmov.CurrentValue<RefTilson1 && RefTilson1>RefTilson2)

{

SendMarketOrder(Symbol, Quantity, OrderSide.Sell);

Debug("Satis emri gonderildi");

}

 

}

}

}
Algoritmik Trading kategorisinde (19 puan) tarafından | 349 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

Doğru yere eklemekten kastınızdan emin olamadık. Kar al stopu ve izsüren stop eklenmiş hali için linkteki stratejiyi alıp inceleyiniz lütfen. 

Parametreleri değiştirerek inceleyiniz. NOT: İz süren stop back testlerde mutlak doğru yerleri gösteremez. Gerçek hayatta doğru şekilde çalışacaktır. Bunun için de, ayrıca linkteki dokümanı inceleyiniz. 

İyi çalışmalar

https://destek.matriksdata.com/?qa=blob&qa_blobid=11717758020863797485

https://www.matriksdata.com/website/bireysel-urunler/matriks-veri-terminali/dokumanlar/kademeli-hareketli-kar-stop-uygulamasi

 

(12,830 puan) tarafından
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



7,589 soru
7,596 cevap
4,437 yorum
10,419 kullanıcı