0 beğenilme 0 beğenilmeme
264 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 | 264 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,422 puan) tarafından
7,509 soru
7,511 cevap
4,405 yorum
8,750 kullanıcı