0 beğenilme 0 beğenilmeme
503 kez görüntülendi
Genelde gerçek yaşamda backteste göre bir bar sonra daha doğrusu bar kapanışı ile işleme giriliyor. Backtest te bunu test edeblme şansımız var mı
Algoritmik Trading kategorisinde (60 puan) tarafından | 503 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme

Merhaba,

sadece backtestte bir bar sonraki barın kapanış fiyatından emir gönderip canlıda piyasa emri veren strateji için aşağıdakine benzer bir yapı kurulabilir.

decimal afterClose1;
/// <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(BarDataEventArgs barData)
{
	var bardatamodel=GetBarData();
	var index=barData.BarDataIndex;
		
	if(!LiveMode && bardatamodel.Close.Count()>index+1){
		afterClose1=bardatamodel.Close[index+1];				
	}
			
	if (CrossAbove(mov, mov2))
	{
		if(LiveMode){
			SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);					
		}else{
			SendLimitOrder(Symbol,BuyOrderQuantity,OrderSide.Buy,afterClose1);
		}
		Debug("Alış Emri Gönderildi");
	}

	if (CrossBelow(mov, mov2))
	{
		if(LiveMode){
			SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell);					
		}else{
			SendLimitOrder(Symbol,SellOrderQuantity,OrderSide.Sell,afterClose1);
		}
		Debug("Satış Emri Gönderildi");
	}
}

 

(15,892 puan) tarafından
8,636 soru
8,590 cevap
4,821 yorum
19,789 kullanıcı