1 beğenilme 0 beğenilmeme
218 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 | 218 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,872 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.



8,137 soru
8,107 cevap
4,601 yorum
14,987 kullanıcı