Hatalar, hatalar, sorular - sayfa 1933

 
fxsaber :
Fark 1e-15'ten büyük. Ayrıca, Num != Norm. Bunlar farklı sayılar, aynı değil.

MT4'üm doğru, doğru gösteriyor ve fark 0. ;-)

 
Stanislav Korotky :

MT4'üm doğru, doğru gösteriyor ve fark 0. ;-)

MT4/5'i ayırt etmenin belgelenmemiş bir yolu ortaya çıktı. Ve MT5'in bitliğinin bununla hiçbir ilgisi yok.

 
fxsaber :

MT4/5'i ayırt etmenin belgelenmemiş bir yolu ortaya çıktı. Ve MT5'in bitliğinin bununla hiçbir ilgisi yok.

Ek olarak, mql4'te çalışır, ancak mql5'te belgelenmiş bir işlem öneki artış (++i) ve eksiltme (--k) bile yoktur .

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Основы языка / Операции и выражения / Арифметические операции - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov :

Ek olarak, mql4'te çalışır, ancak mql5'te belgelenmiş bir işlem öneki artış (++i) ve eksiltme (--k) bile yoktur .

bir sorun görmedim

 void OnStart ()
{
   int i = 0 ;
  
   Print (i++ == 0 ); // true
   Print (++i == 2 ); // true
}
 
fxsaber :

MT4/5'i ayırt etmenin belgelenmemiş bir yolu ortaya çıktı. Ve MT5'in bitliğinin bununla hiçbir ilgisi yok.

Bu, MT4/5 arasında bir fark bile değildir, ancak #property strict etkin olup olmadığıdır.

Etkin - farklı olacak, hayır - olmayacak.

NormalizeDouble'ın farklı uygulamaları var!
 

OnDeinit'teki göstergelerde neden=0 iletilebilir?

 
fxsaber :
Fark 1e-15'ten büyük. Ayrıca, Num != Norm. Bunlar farklı sayılar, aynı değil.

Dereceleri sıfır saymaya ne dersin? 0 ile -14 arasında dereceler - toplam 15 basamak. -15 derecesi zaten 16. kategoridir. Bence de.

 
Stanislav Korotky :

Dereceleri sıfır saymaya ne dersin? 0 ile -14 arasında dereceler - toplam 15 basamak. -15 derecesi zaten 16. kategoridir. Bence de.

DBL_MIN'in sıfırdan ne kadar farklı olduğunu görün.

 

Komut dosyasının yayın sürümü, hata ayıklama sürümünden neredeyse 3 kat daha yavaştır.

 string   PositionGetString2( const ENUM_POSITION_PROPERTY_STRING   Property_id )
{
   return ( PositionGetString (Property_id));
}

#define TOSTRING(A) #A + " = " + ( string )(A)

void OnStart ()
{
   if ( PositionSelect ( _Symbol ))
  {
     const ulong StartTime = GetMicrosecondCount ();
    
     for ( int i = 0 ; i < 1 e7; i++)
    {
      PositionGetString2( POSITION_SYMBOL );
      PositionGetString2( POSITION_COMMENT );
    }
    
     Print (TOSTRING( GetMicrosecondCount () - StartTime));
  }
}

Oynamak için adımlar

  1. Hata ayıklama için EURUSD'yi seçin ve grafiğini terminalde açın.
  2. EURUSD'de bir pozisyon açın.
  3. F5'i kullanarak ME'den hata ayıklama sürümünü çalıştırın ve sonucu günlükte görün.
  4. F7 aracılığıyla ME'ye yeniden derleyin - bu çok önemlidir, aksi takdirde EX5'te hata ayıklanır.
  5. Elde edilen Release komut dosyasını terminalden çalıştırın ve günlükteki sonuca bakın.
Hata ayıklama sürümü sonucu

 GetMicrosecondCount ()-StartTime = 638537


Sürüm sonucu sonucu

 GetMicrosecondCount ()-StartTime = 1746492
 

Onaylar özel bir sembole aktarıldığında tkc dosyaları okunmaz.

Neden: