MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
42 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 (48 puan) tarafından | 42 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");
	}
}

 

(6,548 puan) tarafından
2,479 soru
2,372 cevap
2,028 yorum
1,715 kullanıcı