0 beğenilme 0 beğenilmeme
519 kez görüntülendi
merhaba algoritma işleme girdikten sonra %2 kar al olarak pasife al emri ile birlikte göndermek için nasıl bir yapı kullanmalıyım çift yön stratejide
Algoritmik Trading kategorisinde (98 puan) tarafından | 519 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

emriniz gerçekleştiği gibi kar al seviyesi hesaplanıp ters yönde emir gönderilebilir aşağıdaki yapıyı invceleyebilirsiniz.

decimal priceStep, quantityStep = 1;
		int exchangeID;

		public override void OnInitComplated()
		{
			var symbolDetail = GetSymbolDetail(Symbol);

			exchangeID = symbolDetail.ExchangeDetail.ExchangeID;
			var close = FX_Sonfiyat(Symbol); ;

			if (exchangeID != (int) ExchangeType.Ise && exchangeID != (int) ExchangeType.Viop)
			{
				priceStep = 1 / (decimal) Math.Pow(10, symbolDetail.DecimalCount);
				quantityStep = 1 / (decimal) Math.Pow(10, symbolDetail.TradeFraction);
			}else
			{
				priceStep = GetPriceStepForBistViop(Symbol, close);
			}
		}

		public override void OnOrderUpdate(IOrder order)
		{
			if (order.OrdStatus.Obj == OrdStatus.Filled)
			{
				var fiyat = order.Price != 0? order.Price:(order.LastPx != 0? order.LastPx:order.FilledAmount / order.FilledQty);
				var adet = order.OrderQty;
				
				if(order.Side.Obj==Side.Buy){
					Debug("Alış emri gerçekleşti ");
					
					// %2 karlı şatış
					var satisFiyati=FX_FiyatAyarla(fiyat*1.02m);
					SendLimitOrder(Symbol,adet,OrderSide.Sell,satisFiyati);					
				}
			}
		}
		
		public decimal FX_LotAyarla(decimal quantity)
		{
			return Math.Floor(quantity / quantityStep) * quantityStep;
		}

		public decimal FX_FiyatAyarla(decimal price)
		{
			return Math.Floor(price / priceStep) * priceStep;
		}

		public decimal FX_Sonfiyat(string sembol)
		{
			return GetSelectedValueFromBarData(GetBarData(sembol, SymbolPeriod), OHLCType.Close);
		}

 

(16,219 puan) tarafından
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.



9,334 soru
9,282 cevap
5,070 yorum
32,941 kullanıcı