0 beğenilme 0 beğenilmeme
91 kez görüntülendi

Aşağıdaki koda

 

// Gerekli başla - Açığa satış
		[Parameter(true)]
		public bool AcigaSatisYapilsin;

		[Parameter(false)]
		public bool AksamSeansiniDahilEt;

		[Parameter(Side.All)]
		public Side HangiIslemleBaslasin;

		public bool FX_Alis(string sembol, decimal quantity)
		{
			bool sonuc = false;
			if (LastOrderSide.Obj != Side.Buy)
			{
				var _quantity = (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin) ? quantity:(LastOrderSideForShort.Obj == Side.All) ? quantity:quantity * 2;

				SendMarketOrder(sembol, _quantity, OrderSide.Buy, includeAfterSession:AksamSeansiniDahilEt);
				Debug("Alış emri gönderildi.[ " + _quantity + " adet ]");
				LastOrderSideForShort = LastOrderSide;
				sonuc = true;
			}
			return sonuc;
		}

		public bool FX_Satis(string sembol, decimal quantity)
		{
			bool sonuc = false;
			if (LastOrderSide.Obj != Side.Sell)
			{
				var _quantity = (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin) ? quantity:(LastOrderSideForShort.Obj == Side.All) ? quantity:quantity * 2;

				SendMarketOrder(sembol, _quantity, OrderSide.Sell, includeAfterSession:AksamSeansiniDahilEt);
				Debug("Satış emri gönderildi.[ " + _quantity + " adet ]");
				LastOrderSideForShort = LastOrderSide;
				sonuc = true;
			}
			return sonuc;
		}

		public override void OnSyntheticOrderTriggered(SyntheticAlgoOrder sOrder)
		{
			if (sOrder.EnableOrderSending)
			{
				Debug("Sentetik emir tetiklendi");

				if (AcigaSatisYapilsin)
					LastOrderSide.Obj = Side.All;
			}
		}
		// #Gerekli bitti - Açığa satış

 

aşağıdaki şekilde bir blok ekledim ama işe yaramadı. Ne yaparsam beceremedim. Bu konuda yardımcı olabilecek var mı?

 

public bool FX_Stop(string sembol, decimal quantity)
		{
			bool sonuc = false;
			if (LastOrderSide.Obj == Side.Sell && AcigaSatisYapilsin)
			{
				SendMarketOrder(sembol, quantity, OrderSide.Buy, includeAfterSession:AksamSeansiniDahilEt);
				Debug("Kısa pozisyon kapatıldı.[ " + quantity + " adet ]");
				LastOrderSideForShort = LastOrderSide;
				sonuc = true;
			}else if (LastOrderSide.Obj == Side.Buy)
			{
				SendMarketOrder(sembol, quantity, OrderSide.Sell, includeAfterSession:AksamSeansiniDahilEt);
				Debug("Uzun pozisyon kapatıldı.[ " + quantity + " adet ]");
				LastOrderSideForShort = LastOrderSide;
				sonuc = true;
			}
			return sonuc;
		}

 

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

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

Pozisyon kapatmak için FX_Stop() fonksiyonunu aşağıdaki gibi kullanıp dener misiniz?

public bool FX_Stop(string sembol, decimal quantity)
{
	StopLoss(sembol,SyntheticOrderPriceType.Percent,0);
}

 

(15,682 puan) tarafından
Bu şekilde koşula bakılmaksızın ilk düşüşte pozisyonu stopluyor
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,645 soru
7,642 cevap
4,448 yorum
11,018 kullanıcı