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

 
Maxim Kuznetsov :

oanda api'ye bakın - resimde yanılmıyorsam bu PositionBook

teşekkür etmek!

 
Artyom Trishkin :

Bu nedenle, grafiklerin otomatik kaydırılması kapatılmalıdır. Ve bunun eşzamansız bir komut olduğunu unutmayın.

Engelli....

 
Сергей Таболин :

Engelli....

O zaman kodunuza bakmanız gerekir.

 

MT5'teki eski dönemden MA gösterge verilerini almaya çalışıyorum.

//OnInit
 if ((slowMovingHandleHigherTF= iMA ( _Symbol , HighMovingsTF, SlowMovingPeriod_HigherTF, 0 , MA_Method, MA_Apply_To))== INVALID_HANDLE ) {
       PrintFormat ( "Slow moving (HigherTF) handle troubles" );
       return ( INIT_FAILED );
   }
//OnCalculate
 if (!FillArrayFromBuffer(slowMovingHandleHigherTF,SlowValuesHigherTF, 0 , 40 )) Print ( "Beda" );

Ancak 4806 hatası alıyorum (İstenen veri bulunamadı). Mevcut TF'den aldığımda her şey yolunda. Veri alır. Ama eski sorunla. Lütfen bana bunu nasıl çözeceğimi söyle

 
Artyom Trishkin :

O zaman kodunuza bakmanız gerekir.

Söyle bana nerede yanlış?

 void OnStart ()
{
   ArraySetAsSeries (rates, true );
   ChartSetInteger ( ChartID (), CHART_AUTOSCROLL , false );
   

   for ( int i = 0 ; i < in_range; i++)
   {

   // Тут рассчитываю X
       if (X)       {          ChartNavigate ( ChartID (), CHART_END ,-i);          if ( MessageBox (ask, "ASK" , MB_OKCANCEL ) == IDOK )          {              ObjectCreate ( ChartID (), "SigDN_" + IntegerToString (i), OBJ_VLINE , 0 ,rates[i].time,rates[i].open);              //return;              ObjectSetInteger ( ChartID (), "SigDN_" + IntegerToString (i), OBJPROP_COLOR , clrRed );              ObjectSetInteger ( ChartID (), "SigDN_" + IntegerToString (i), OBJPROP_SELECTABLE , true );              ObjectSetInteger ( ChartID (), "SigDN_" + IntegerToString (i), OBJPROP_SELECTED , false );              ObjectSetInteger ( ChartID (), "SigDN_" + IntegerToString (i), OBJPROP_STYLE , STYLE_DOT );              Print ( "SigDN_" ,i);          }       }    } }

Senaryo, saatin başında H2'de çalıştı.

Daha önce yazdığım gibi, iyi çalışıyor ve sonra, bir tür perelyad'dan, grafik en sonunda konumlandırılıyor ve bir MessageBox beliriyor. Bulunan rakamı görmüyorsam neden talebe cevap vereyim?

 

2361
H1 periyodundan başlayarak, değişken veya fonksiyon garip değerler verir.

 Print ( _Period );
Print ( Period ());
H1
16385
16385 
H4
16388
16388

vb.

 
Roman :

2361
H1 periyodundan başlayarak, değişken veya fonksiyon garip değerler verir.

vb.

Onların "garipliği" nedir?

 
Artyom Trishkin :

Onların "garipliği" nedir?

_Period değişkeni ve M30'a kadar olan ve dahil olan Period() işlevi , değeri dakika cinsinden verir.
Periyot M1 ise 1
Periyot M2 ise 2
...
Dönem M30 ise 30

Saat periyodunun 60 olması mantıklı
iki saat 120
üç saat 180
vb.

Ancak H1'den başlayarak yanlış değerleri gösteriyor.

 
Roman :

_Period değişkeni ve M30'a kadar olan ve dahil olan Period() işlevi , değeri dakika cinsinden verir.
Periyot M1 ise 1
Periyot M2 ise 2
...
Dönem M30 ise 30

Saat periyodunun 60 olması mantıklı
iki saat 120
üç saat 180
vb.

Ancak H1'den başlayarak yanlış değerleri gösteriyor.

EnumToString(Period())

 
Сергей Таболин :

EnumToString(Period())

Yardım, EnumToString() kullanılarak dönüştürülen kimliğin değil, zaman çerçevesinin değerinin döndürülmesi gerektiğini söylüyor.
_Period değişkeni bir int döndürür.
ENUM_TIMEFRAMES Period() ayrıca bir int döndürüldüğünü ima eder.