0 beğenilme 0 beğenilmeme
235 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 | 235 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,742 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,731 soru
7,723 cevap
4,480 yorum
11,807 kullanıcı