MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 552

 
VasiliKolchanov :
Ihor, cevap için teşekkürler, sadece bir soru ve bu, eylemlerin gecikmesi olmayacak, yani. duraklama sırasında, uyarılar her tik ile birikecek ve süre sona erdikten sonra danışman hala onları bana verecek (tümü birikmiş)? Kulağa komik gelebilir, ama acemi için kusura bakmayın - öğreniyorum.

Olmayacak, çünkü bir uyarıyı tetikleme noktasına gelmeyecek. Bir uyarı alın ve ardından belirli bir süre sonra başka bir uyarı vb.

 
Vitaly Muzichenko :

Aslında tam tersi olmalı.)

Teşekkürler!!!

 

Burada neyin yanlış olduğunu açıklayın. Bir siparişin açılışını günlük mumlarla günlük bir döküme koydum. Onlar. 00.00'da önceki mumun içinde yeni bir günlük mum açılır.



çift aç1, kapat1, aç, kapat;

open1=iYüksek(NULL, PERIOD_D1 ,1);

close1=iLow(NULL,PERIOD_D1,1);

open=iYüksek(NULL,PERIOD_D1,0);

kapat=iLow(NULL,PERIOD_D1,0);


if(O(m)==yanlış){ //eğer sipariş yoksa

if(open1<Sor){

b(......);} //sipariş açma


if(kapat1>Sor){

s(.......);}}//sipariş açma



Moskova saatinde, sipariş önceki mumun içinde 00.03'te açılıyor, gece 00.03'te yeni bir mumun nasıl oluştuğunu izledim ve yine de siparişi açtı. Danışman yeni bir günlük mum görmüyor gibi görünüyor.

Aynı hızda bir saatlik arıza için tam olarak aynı şeyi yapmama rağmen, mükemmel çalışıyor.

Danışmanı 06.00'da açarsam, o zaman her şey yolunda, beklendiği gibi çalışacak, ancak 06.00'dan önce günlük kesintiler olduğu ve 06.00'dan sonra gereksiz yerlerde siparişlerin açılacağı mantıklı değil. Sorun, anladığım kadarıyla, Moskova saatinin ve gündüzün mumundaki saat farklarında. DC Büyük Başkenti


Yardım! lütfen

 
Evgeniy Oshurkevich : soruyu kendin cevaplamışsın. Mumlar sunucu saatine göre çekilir. Ve onunla yereliniz eşleşmeyebilir.

O halde baykuşu geceye bırakın, eğer normal yazılırsa size bir pozisyon belirleyecektir. Veya ilgilendiğiniz süre için mumlarınızı hesaplayın.

 
Ihor Herasko :

Olmayacak, çünkü bir uyarıyı tetikleme noktasına gelmeyecek. Bir uyarı alın ve ardından belirli bir süre sonra başka bir uyarı alın

Teşekkür ederim !

 

Yarına aktarılan açık bir emrin yeni bir seansın açılmasıyla otomatik olarak belirlenen parametrelere göre karı aktardığı bir durumda ne yapacağımı söyler misiniz? Birinci soru: Yeni bir seansın geldiğini nasıl anlarız? Yeni bir çubuğu tanıma işlevi benim durumumda çalışmayacak. Belki birisi bu siparişin açıldığı yıl, ay ve gün ayrı ayrı nasıl dönüleceğini bilirse sorun çözülür.

 
VasiliKolchanov :

Yarına aktarılan açık bir emrin yeni bir seansın açılmasıyla otomatik olarak belirlenen parametrelere göre karı aktardığı bir durumda ne yapacağımı söyler misiniz? Birinci soru: Yeni bir seansın geldiğini nasıl anlarız? Yeni bir çubuğu tanıma işlevi benim durumumda çalışmayacak. Gerisi nasıl yapılacağı ile ilgili.

açıkçası - yeni bir oturum tanıma işlevine ihtiyacınız var)

 
VasiliKolchanov :

Belki birisi bu siparişin açıldığı yıl, ay ve gün ayrı ayrı nasıl dönüleceğini bilirse sorun çözülür. .saat : dk : sn VEYA saat : dk : sn)

burada, kapatılan emirlerin geçmişini kontrol edecek (şu anda piyasa emirlerim yok, kendin için tekrar yap) ve son kapatılan emri bulup onunla ilgili bilgileri günlükte gösterecek bir komut dosyası çizdim ve test ettim:

 #property strict
//+------------------------------------------------------------------+
void OnStart ()
  {
   int i,otype,k= OrdersHistoryTotal ();
   string sy= Symbol ();
   datetime oclose,t= 0 ;
   for (i= 0 ; i<k; i++) 
     {
       if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) 
        {
         otype    = OrderType ();
         oclose   = OrderCloseTime ();
         if ( OrderSymbol ()==sy)
           {
             if (otype== OP_BUY || otype== OP_SELL )
              {
               if (t<oclose)
                 {
                  t=oclose;
                 }
              }
           }
        }
     }
   Print ( "Последний ордер закрыт: " , TimeDay (t), " день, " , TimeHour (t), "час, " , TimeMinute (t), " минуты" );
  }
//+------------------------------------------------------------------+

sonuç:

21:12:07.558 EURUSD testi,H1: Son sipariş kapandı: 27 gün, 21 saat, 17 dakika

 
Taras Slobodyanik :

açıkçası - yeni bir oturum tanıma işlevine ihtiyacınız var)

Ve Taras neye benziyor?
 
Igor Makanu :

burada, kapatılan emirlerin geçmişini kontrol edecek (şu anda piyasa emirlerim yok, kendin için tekrar yap) ve son kapatılan emri bulup onunla ilgili bilgileri günlükte gösterecek bir komut dosyası çizdim ve test ettim:

sonuç:

21:12:07.558 EURUSD testi,H1: Son sipariş kapandı: 27 gün, 21 saat, 17 dakika