MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
349 kez görüntülendi

Supertrend future stratejisinde kar al,stop loss, izsüren stop nasıl yapabilirim. 

aşağıdaki gibi yaptım ama ilk stop olduktan sonra 1 adet işlem açması gerekirken 2 adet açarak sistemi bozuyor.

teşekkürler.

tşk.

 

 

 

	public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{
			var barDataModel = GetBarData();

			if (CrossAbove(barDataModel, superTrend, OHLCType.Close) && LastOrderSide.Obj != Side.Buy)
			{
				if (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin)
				{
					SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);
					//karal
					TakeProfit(Symbol, SyntheticOrderPriceType.Percent, KarAL);
		           // StopLoss
					StopLoss(Symbol, SyntheticOrderPriceType.Percent, ZararDurdur);

					 //  izsürenstop
            TrailingStopLoss(Symbol, SyntheticOrderPriceType.Percent, tsl);
					
					
				}else
				{
					SendMarketOrder(Symbol, BuyOrderQuantity * 2, OrderSide.Buy);
					//karal
					TakeProfit(Symbol, SyntheticOrderPriceType.Percent, KarAL);
		           // StopLoss
					StopLoss(Symbol, SyntheticOrderPriceType.Percent, ZararDurdur);

					 //  izsürenstop
            TrailingStopLoss(Symbol, SyntheticOrderPriceType.Percent, tsl);
				}
				Debug("Alış Emri Gönderildi");
			}

			if (CrossBelow(barDataModel, superTrend, OHLCType.Close) && LastOrderSide.Obj != Side.Sell)
			{
				if (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin)
				{
					SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell);
				}else
				{
					SendMarketOrder(Symbol, SellOrderQuantity * 2, OrderSide.Sell);
				}
				Debug("Satış Emri Gönderildi");
			}
		}
	}
}

 

 

Algoritmik Trading kategorisinde (27 puan) tarafından | 349 kez görüntülendi

1 cevap

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

Merhaba,

Stratejide sentetik emir tetiklendikten sonra LastOrderSide.Obj değerini Side.All yapılırsa yine X lot ile işleme girip sonrasında 2X olarak devam edecektir.

Aşağıdaki örneği inceleyebilirsiniz.

List<string> orderIDList = new List<string>();
		string orderID;

		public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{
			var barDataModel = GetBarData();

			if (CrossAbove(barDataModel, superTrend, OHLCType.Close) && LastOrderSide.Obj != Side.Buy)
			{
				if (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin)
				{
					orderID = SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);

				}else
				{
					orderID = SendMarketOrder(Symbol, BuyOrderQuantity * 2, OrderSide.Buy);
				}

				orderIDList.Add(orderID);
				Debug("Alış Emri Gönderildi");
				TakeProfit(Symbol, SyntheticOrderPriceType.Percent, KarAL);
				StopLoss(Symbol, SyntheticOrderPriceType.Percent, ZararDurdur);
				TrailingStopLoss(Symbol, SyntheticOrderPriceType.Percent, tsl);
			}

			if (CrossBelow(barDataModel, superTrend, OHLCType.Close) && LastOrderSide.Obj != Side.Sell)
			{
				if (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin)
				{
					orderID = SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell);
				}else
				{
					orderID = SendMarketOrder(Symbol, SellOrderQuantity * 2, OrderSide.Sell);
				}
				orderIDList.Add(orderID);
				Debug("Satış Emri Gönderildi");
				TakeProfit(Symbol, SyntheticOrderPriceType.Percent, KarAL);
				StopLoss(Symbol, SyntheticOrderPriceType.Percent, ZararDurdur);
				TrailingStopLoss(Symbol, SyntheticOrderPriceType.Percent, tsl);
			}
		}


		public override void OnOrderUpdate(IOrder order)
		{
			if (order.OrdStatus.Obj == OrdStatus.Filled)
			{
				if (!orderIDList.Contains(order.CliOrdID) && AcigaSatisYapilsin)
				{
					LastOrderSide.Obj = Side.All;
					Debug("Sentetik emir tetiklendi");					
				}
			}
		}

 

(6,902 puan) tarafından
tarafından seçilmiş
Long/Short düzeni ile devam eden stratejinin stop olduktan sonra bozulması
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.



4,818 soru
4,825 cevap
3,183 yorum
3,605 kullanıcı