0 beğenilme 0 beğenilmeme
965 kez görüntülendi
Merhaba mevcut kullandığım bir AL-SAT formülünün içine veya herhangibir formüle %1 veya 0,20 puan Zarar durdur ile %1 veya 0,20 puan ile Hareketli Stoploss eklemek istiyorum. Biraz yazılım biliyorum ama çok iyi değilim bu yüzden bazı hatalar alıyorum bunu yapmaya çalışırken ve Backtest moduna geçemiyorum. Sitede de çok aradım ama çözüm bulamadım.

Herhangibir AL - SAT stratejisinin içine yapıştırdığımda istediğim özelliklerle Zarar durdur ve Hareketli stoploss yapacak bir formül yazabilirseniz çok sevinirim. Şimdiden çok teşekkürler.
Algoritmik Trading kategorisinde (143 puan) tarafından | 965 kez görüntülendi

1 cevap

2 beğenilme 0 beğenilmeme

Merhaba, hazır stratejilerdeki SMA_Bitmex_TPSL stratejisini inceleyebilirsiniz.

sentetik emir tanımlanacak sembol, puan ya da yüzde seçimi, stop seviyesi

https://matriksiq.matriksdata.com/Algo_Trader_IQ.pdf - sayfa 32

// kar al
TakeProfit(Symbol,SyntheticOrderPriceType.Percent,stopLevel);
				
// zarar durdur
StopLoss(Symbol,SyntheticOrderPriceType.Percent,stopLevel);
				
//izsürenstop
TrailingStopLoss(Symbol,SyntheticOrderPriceType.Percent,stopLevel);

 

(15,892 puan) tarafından
0 0
Bunları biliyorum ama Hareketli Stoploss eklediğimde hata alıyorum satırlarda sürekli. Hareketli stoploss'un olduğu bir örnek de göremedim. Normal stoplosslu örnekler var sanırım inceliyorum verdiğiniz linki umarım çözebilirim.
2 0

Merhabalar,

*********public class Fonksiyonunun içerisine  gerekli tanımlamalar yapılır 

[Parameter(5)]

public decimal Percent;

 

[Parameter(0.01)]

public decimal PricePoint;

 

int FirstRun = 0;

int realposition = 0;

 

 

[Parameter(false)]//true set edilirse kademeli, false set edilirse yüzdeli hareketli stoploss olarak çalışır

public bool PricePoint_or_Percent;

 

*******public override void OnInitComplated() fonksiyonundan önce aşağıdaki kodu ekliyoruz 

SyntheticOrderPriceType type;

decimal stopLevel;

ISyntheticOrderPrices trailingstop = null;

 

*******public override void OnDataUpdate fonksiyonunun içerisine  

if (PricePoint_or_Percent)

//PricePoint_or_Percent true set edilmiş ise kademeli stoploss aktif olur

{

stopLevel = PricePoint;

type = SyntheticOrderPriceType.PricePoint;

}

if (!PricePoint_or_Percent)

//PricePoint_or_Percent false set edilmiş ise yüzdeli stoploss aktif olur

{

stopLevel = Percent;

type = SyntheticOrderPriceType.Percent;

}

*********    İf  ALIŞ  fonksiyonunun devamında 

SendMarketOrder(Symbol, Quantity, OrderSide.Buy);

Debug("Bayım,Alış emri gonderildi.");

FirstRun = 1;

Debug("Close : " + close);

 

trailingstop = TrailingStopLoss(barDataModel.SymbolName, type, stopLevel);

Debug("TrailingStopLoss => " + trailingstop);

Debug("*****************************************************");

}

else

{

SendMarketOrder(Symbol, Quantity, (OrderSide.Buy));

Debug("Bayım,Alış emri gonderildi.");

trailingstop = TrailingStopLoss(barDataModel.SymbolName, type, stopLevel);

Debug("TrailingStopLoss => " + trailingstop);

Debug("*****************************************************");

 

}

 

 

Ve  if Satış fonksiyonunun devamında da Buy kısmını Sell yaparak kullanabilirsiniz.

 

0 0
Teşekkürler çok faydalı oldu benim için.
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.



8,636 soru
8,590 cevap
4,821 yorum
19,796 kullanıcı