0 beğenilme 0 beğenilmeme
275 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 | 275 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,532 puan) tarafından
7,585 soru
7,592 cevap
4,435 yorum
10,410 kullanıcı