0 beğenilme 0 beğenilmeme
228 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 (54 puan) tarafından | 228 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);
		}

 

(15,682 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.



7,637 soru
7,640 cevap
4,448 yorum
10,981 kullanıcı