Hatalar, hatalar, sorular - sayfa 3078

 
fxsaber # :

Görselleştirici her zaman ticaret ortamıyla senkronize edilmez. Onlar. eski bilgileri gösterebilir. Mevcut olan her zaman EA'dadır.

Bir Uzman Danışman bir şey söylediğinde ve Görüntüleyici başka bir şey söylediğinde bu çok yaygın bir sorudur.

TAMAM. Anladım teşekkürler . Prensip olarak, danışman mantıklı bir şekilde çalışmaya devam eder ve sipariş aslında sadece görsel olarak yürütülür, bu daha sonra görülebilir.

 
Igor Petrov # :

TAMAM. Anladım teşekkürler . Prensip olarak, danışman mantıklı bir şekilde çalışmaya devam eder ve sipariş aslında sadece görsel olarak yürütülür, bu daha sonra görülebilir.

Senkronize durumu doğru zamanda görmek için, test cihazı durduktan sonra bir sonraki onay işaretini beklemeniz gerekir.

Örneğin, ilginç bir andan ÖNCE beş saniyeyi hızlı bir şekilde geri sarabilir, ardından sonraki her tıklamada duraklat ve F12 ileri tuşuna basabilirsiniz. Tüm bu keneler doğru şekilde işlenecektir.


Senkronizasyon dışı, yorumda mevcut onay süresinin (milisaniye olarak doğru) çıktısı alınarak ve bunu Görselleştiricinin Piyasa İzlemesinin gösterdiğiyle karşılaştırarak belirlenebilir. Bir tutarsızlık varsa - senkronizasyon dışı.


ZY Hata ayıklayıcı tarafından durdurulduğunda (veya duraklamaya basıldığında) görselleştiricinin senkronizasyonu elbette çok uzun zaman önce yapılmış olmalıydı.

 
Igor Makanu # :

BarsCalculated() https://www.mql5.com/en/docs/series/barscalculated

ne döndürür? - OnCalculate() içindeki hesaplamaların bitiminden sonra, göstergenin return(rates_total) olarak döndürdüğü sadece bir sayı mı?

kontrol edildi, evet BarsCalculated() geri dönüyor(rates_total)

ind A:

int OnCalculate...
{
   static int cnt = 0 ;
   cnt++;
   Print ( "cnt = " , cnt);
   return (cnt);
}

ind B:

 int OnInit ()
{
   handle = iCustom ( NULL , PERIOD_M1 , "tst_code\\A");
   return ( INIT_SUCCEEDED );
}
int OnCalculate...
{
   double tmp[];
   int bc = BarsCalculated (handle);
   if (bc == - 1 ) return (rates_total);
   int copy = CopyBuffer (handle, 0 , 0 , 1 , tmp);
   Print (" BarsCalculated = ", bc);
   return (rates_total);
}

H1'de başlatılan B göstergesi, log:

2021.09.02 16:11:44.872 A (EURUSD,M1) cnt=1

2021.09.02 16:11:44.873 A (EURUSD,M1) cnt = 2

2021.09.02 16:11:44.998 A (EURUSD,M1) cnt=3

2021.09.02 16:11:44.998 B (EURUSD,H1) BarlarHesaplanan = 3

2021.09.02 16:11:46.617 A (EURUSD,M1) cnt=4

2021.09.02 16:11:46.617 B (EURUSD,H1) BarlarHesaplanan = 4

2021.09.02 16:11:46.663 A (EURUSD,M1) cnt=5

2021.09.02 16:11:46.663 B (EURUSD,H1) BarlarHesaplanan = 5

2021.09.02 16:11:46.671 A (EURUSD,M1) cnt = 6

2021.09.02 16:11:46.671 B (EURUSD,H1) BarlarHesaplanan = 6

2021.09.02 16:11:46.684 A (EURUSD,M1) cnt=7

2021.09.02 16:11:46.685 B (EURUSD,H1) Hesaplanan Barlar = 7

2021.09.02 16:11:46.697 A (EURUSD,M1) cnt=8

2021.09.02 16:11:46.697 B (EURUSD,H1) BarlarHesaplanan = 8

2021.09.02 16:11:47.008 A (EURUSD,M1) cnt = 9

2021.09.02 16:11:47.008 B (EURUSD,H1) BarlarHesaplanan = 9

2021.09.02 16:11:47.029 A (EURUSD,M1) cnt = 10

2021.09.02 16:11:47.029 B (EURUSD,H1) BarlarHesaplanan = 10

2021.09.02 16:11:47.502 A (EURUSD,M1) merkez = 11

2021.09.02 16:11:47.502 B (EURUSD,H1) BarlarHesaplanan = 11

2021.09.02 16:11:47.614 A (EURUSD,M1) merkez = 12

2021.09.02 16:11:47.614 B (EURUSD,H1) BarlarHesaplanan = 12

2021.09.02 16:11:47.620 A (EURUSD,M1) cnt = 13

2021.09.02 16:11:47.620 B (EURUSD,H1) BarlarHesaplanan = 13

2021.09.02 16:11:47.667 A (EURUSD,M1) merkez = 14

2021.09.02 16:11:47.667 B (EURUSD,H1) BarlarHesaplanan = 14

2021.09.02 16:11:47.713 A (EURUSD,M1) merkez = 15

2021.09.02 16:11:47.713 B (EURUSD,H1) BarlarHesaplanan = 15

2021.09.02 16:11:47.726 A (EURUSD,M1) cnt=16

2021.09.02 16:11:47.726 B (EURUSD,H1) BarlarHesaplanan = 16

 

Tünaydın! Bir şey sorunu çözmek için çalışmıyor.

İlk çalıştırmada tüm çubukları işlemek gerekir, işlendikten sonra sadece son çubuk işlenmelidir.

Önce 0 yazdırır, ardından her yeni çubukta yalnızca sonuncusu ara çubukları yazdırmaz.

Hata nerede?

 int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {

       for ( int i = prev_calculated; i <= prev_calculated && i < rates_total && ! IsStopped (); i++)
        {
         Print (i);
        };
   return (rates_total);
  }
 
SEM # :

Tünaydın! Bir şey sorunu çözmek için çalışmıyor.

İlk çalıştırmada tüm çubukları işlemek gerekir, işlendikten sonra sadece son çubuk işlenmelidir.

Önce 0 yazdırır, ardından her yeni çubukta yalnızca sonuncusu ara çubukları yazdırmaz.

Hata nerede?

Veya i-- veya i ifade 1 döngüsünde sıfırdır) her şey doğru yazdırılır)
Bu ilk çalıştırma için. Ve sonra yeni bir bar yakalamanın klasiklerine göre.
 
SEM # :

Tünaydın! Bir şey sorunu çözmek için çalışmıyor.

İlk çalıştırmada tüm çubukları işlemek gerekir, işlendikten sonra sadece son çubuk işlenmelidir.

Önce 0 yazdırır, ardından her yeni çubukta yalnızca sonuncusu ara çubukları yazdırmaz.

Hata nerede?


Başlangıç olarak, bunu şu şekilde düzeltmeye çalışırdım:

       for ( int i = prev_calculated; i >= prev_calculated && i < rates_total && ! IsStopped (); i++)
        {
         Print (i);
        };
 

Hepinize iyi günler. Bu sorunla karşılaşan varsa bana bildirin. Bugün 10 Moskova saatine kadar MT5'te her şey yolundaydı. Açılan emirler, durdurma ve kar ayarlayın.

10 Moskova saatinden sonra sipariş açarken, stop veya kar verirken teslimat kuyrukta bekler ve 10 dakika veya daha uzun bir süre sonra teslimat yapılır. Ve hala öyle.

 
Михаил Савченко # :

Hepinize iyi günler. Bu sorunla karşılaşan varsa bana bildirin. Bugün 10 Moskova saatine kadar MT5'te her şey yolundaydı. Açılan emirler, durdurma ve kar ayarlayın.

10'dan sonra sipariş açarken, stop veya kar verirken teslimat kuyrukta bekler ve 10 dakika veya daha uzun bir süre sonra teslimat yapılır. Ve hala öyle.

Manuel ticaret? Hangi komisyoncu?
 
mktr8591 # :
Manuel ticaret? Hangi komisyoncu?
Evet, marketten manuel olarak çıkıyorum. Finam.
 
mktr8591 # :

Başlamak için, bunu şu şekilde düzeltmeye çalışırdım:

Teşekkür ederim! Yardım etti.