0 beğenilme 0 beğenilmeme
434 kez görüntülendi
Merhaba,

IQ'da oluşturulan algoritmanın başlatma zamanlamasını 9:35 ve 17:55 ile sınırlandırmak istiyorum. bunu nasıl sağlayabilirim.
Algoritmik Trading kategorisinde (16 puan) tarafından | 434 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme

Merhabalar,

Sistem için önce başlangıç ve bitiş zamanlaması baz alınması gerekmektedir.

	// Zamanlama
		TimeSpan baslangic;
		TimeSpan bitis;

		public override void OnInit()
		{
			AddSymbol(Symbol, GrafikPeriod);
			
			rsi = RSIIndicator(Symbol, SymbolPeriod1, OHLCType.Close, RsiPeriod1);
			most = MOSTIndicator(rsi, MostPeriod1, MostPercentage1, MostMovMethod1);


			SendOrderSequential(true, Side.Buy);
			

			WorkWithPermanentSignal(true);

			// stratejini başlama ve bitis saati
			baslangic = new TimeSpan(09, 45, 0);
			bitis = new TimeSpan(15, 00, 0);

		}

Daha sonra ise aşağıdaki şekilde sistemi tamamlayabilirsiniz.

public override void OnDataUpdate(BarDataEventArgs barData)
		{
			// Sistem saati çekiliyor
			TimeSpan sistemSaati = DateTime.Now.TimeOfDay;

			// Belirlenen zaman aralıpğında aşağıdaki kodlar aktif olacak
			if (sistemSaati >= baslangic && sistemSaati <= bitis)
			{
				{

					if (alış koşulu)
					{
					

İyi çalışmalar.

(11,069 puan) tarafından
Zamanlana Sorununda Kod Farklılığı
0 0
Hocam dediğiniz kodu alıntıladım ama şu türden de bir hata aldım

 

error CS0103: GrafikPeriod' adı geçerli bağlamda yok6322

 

Daha önemlisi, bu kodları sisteme ilave ettiğimde sistem backtest sonuçları 0 geldi, yani backtest yapmaz oldu :(
7,509 soru
7,511 cevap
4,405 yorum
8,731 kullanıcı