0 beğenilme 0 beğenilmeme
454 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 | 454 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,872 puan) tarafından
8,502 soru
8,453 cevap
4,764 yorum
18,903 kullanıcı