0 beğenilme 0 beğenilmeme
161 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 | 161 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;
			}
		}

 

(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,645 soru
7,642 cevap
4,448 yorum
11,030 kullanıcı