0 beğenilme 0 beğenilmeme
454 kez görüntülendi
IQ stratejimin sat kısmına or ilave edip aşağıdaki şekilde  saatte pozisyonu kapat eklentisini yazabilirmisiniz?. mümkünse

Prime da kullandığım örnek

(sat formülüm)  or
(HOUR()=17 AND MINUTE()>=55))
Algoritmik Trading kategorisinde (14 puan) tarafından | 454 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

Aşağıdaki gibi bir yapı kurulabilir saat 17:55:00 ile 17:55:05 aralığında elinizde pozisyon varsa kapatacaktır.

 

public override void OnInit()
		{
			AddSymbol(Symbol, SymbolPeriod);
			most = MOSTIndicator(Symbol, SymbolPeriod, OHLCType.Close, Period, Percentage, MovMethod.Exponential);
			WorkWithPermanentSignal(true);
			SendOrderSequential(true, Side.Buy);
			
			SetTimerInterval(1);
		}		

		// Gerekli zaman aralığı
		[Parameter("17:55:00")]
		public string Baslangic;

		[Parameter("17:55:05")]
		public string Bitis;

		public bool FX_ZamanindaMI(DateTime zaman)
		{
			var bas = TimeSpan.Parse(Baslangic);
			var bit = TimeSpan.Parse(Bitis);
			return (zaman.TimeOfDay >= bas && zaman.TimeOfDay <= bit);
		}
		// # Gerekli zaman aralığı	
		
		bool pozisyonKapatildiMI=false;
		
		public override void OnTimer(){
			if(FX_ZamanindaMI(DateTime.Now)){
				// belirlenen zaman aralığında
				var portfoy=GetPortfolio();
				
				if(portfoy.ContainsKey(Symbol) && pozisyonKapatildiMI==false){
					var adet=portfoy[Symbol];
					if(adet>0){
						SendMarketOrder(Symbol,adet,OrderSide.Sell);
						Debug("Pozisyon kapatıldı");
						pozisyonKapatildiMI=true;
					}
				}
			}else{
				pozisyonKapatildiMI=false;
			}
		}

 

(16,259 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,599 soru
9,556 cevap
5,170 yorum
44,397 kullanıcı