1 beğenilme 0 beğenilmeme
187 kez görüntülendi
Merhaba,

Aşağıdaki örnek iletmiş olduğum üzere, takeprofit i alış emri gerçekleştiği an değil de, bir if bloğuna bağlayarak alış işleminin gerçekleşmesinin ardından, anlık fiyatın hedeflenen fiyata ulaşmasına istinaden devreye girmesi sağlanabilir mi?

Desteğiniz için teşekkür ederim.

 

if (Alış Koşulu)

{SendMarketOrder(Symbol, OrderQuantity, OrderSide.Buy);

if(anlikfiyat>=hedefiyat)

{

TakeProfit(Symbol, SyntheticOrderPriceType.Percent, 1, true);

}
Algoritmik Trading kategorisinde (200 puan) tarafından | 187 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
En İyi Cevap

Merhaba,

gönderdiğiniz yapıya göre de yapılabilir ancak kalıcı sinyalde çalışmanız halinde bar kapanışlarını bekleyecektir.

alternatif olarak aşağıdaki yapıyı ve linkteki konuyu inceleyebilirsiniz.

https://destek.matriksdata.com/?qa=22249/kar-al-veya-zarar-kes-tetiklendiginde-if-kosulu-eklemek&show=22249#q22249

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues){			
	if(alisKosulu && LastOrderSide.Obj!=Side.Buy){
		SendMarketOrder(Symbol,1,OrderSide.Buy);
		var anlikFiyat=GetSelectedValueFromBarData(GetBarData(),OHLCType.Close);
		var stopSeviyesi=hedefFiyat-anlikFiyat;
		TakeProfit(Symbol,SyntheticOrderPriceType.PricePoint,stopSeviyesi,false);
	}
}
		
public override void OnSyntheticOrderTriggered(SyntheticAlgoOrder sOrder){
	if(!sOrder.EnableOrderSending){
		if(sOrder.SyntheticAlgoOrderType==SyntheticAlgoOrderType.TakeProfit){
			Debug("Hedeflenen fiyata geldi");
			TakeProfit(Symbol, SyntheticOrderPriceType.Percent, 1, true);
		}
	}
}

 

(15,832 puan) tarafından
tarafından seçilmiş
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



7,847 soru
7,832 cevap
4,497 yorum
12,601 kullanıcı