Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1037

 
Artyom Trishkin :

Orada. PLOT_SHOW_DATA

Çok teşekkürler!

 
Lütfen bana MQL4'ten SetIndexDrawBegin() işlevinin MQL5 analogunu söyleyin.
 
The_Sheikh :
Lütfen bana MQL4'ten SetIndexDrawBegin() işlevinin MQL5 analogunu söyleyin.

https://www.mql5.com/en/articles/81

 void SetIndexDrawBegin( int index,
                       int begin)
 bool PlotIndexSetInteger (index, PLOT_DRAW_BEGIN ,begin)
SetIndexDrawBegin
Belirtilen gösterge çizgisinin çizilmesinin başlaması gereken verilerin başlangıcından itibaren çubuğun numarasının ayarlanması.
PlotIndexSetTamsayı
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
MT5'te strateji test cihazı günlüklerini devre dışı bırakmak mümkün müdür? Fazladan Baskıya sahip değilim, ancak bir gecede 20 GB doldu, VPS sıkıştı. Stratejim 7 çift üzerinde ve günde 10'a kadar işlem için çalışıyor...
 
Evgeny Dyuka :
MT5'te strateji test cihazı günlüklerini devre dışı bırakmak mümkün müdür? Fazladan Baskıya sahip değilim, ancak bir gecede 20 GB doldu, VPS sıkıştı. Stratejim 7 çift üzerinde ve günde 10'a kadar işlem için çalışıyor...

VPS'de çok para birimli bir danışman mı çalışıyor? Test hangi süre için yapıldı? Veya 7 test cihazı çalışıyor mu?

 
Alexey Viktorov :

VPS'de çok para birimli bir danışman mı çalışıyor? Test hangi süre için yapıldı? Veya 7 test cihazı çalışıyor mu?

7 çiftte bir çoklu para birimi, günde 70-80 işlem, bir yıl için ayarlandı, 5 saatlik testten sonra günlük 20GB'tan fazla, VDS öldü. Loglarla ilgili sorun sabittir, bot depoyu boşaltırsa test durmaz, ancak depo yükünün %150 olduğunu göstermeye devam eder ve elle durdurulmazsa VDS'ye kadar log yazar. donuyor. Bu sorunu programlı olarak çözdüm - "Sedstva" başlangıç deposunun %10'undan az olduğunda, test cihazı durur, ancak bu bir koltuk değneğidir. Ancak çoklu para birimi ile ne yapacağımı bilmiyorum.

 

Veri türünü değiştirmek normalleştirmeyi bozar:


      V= NormalizeDouble (size, 2 );
      closePrice= NormalizeDouble (partPrice, _Digits );

       Print ( "V = " ,V, "" , "  closePrice = " ,closePrice);
       Print ( "V = " , DoubleToString (V), "" , "  closePrice = " , DoubleToString (closePrice));


2019.05.05 20:04:29.483 _part_close (EURUSD,D1) V = 0.01 yakınFiyat = 1.13456

2019.05.05 20:04:29.483 _part_close (EURUSD,D1) V = 0.01000000 kapatFiyat = 1.13456000


Bu iyi?

 
psyman :

Veri türünü değiştirmek normalleştirmeyi bozar:

Bu iyi?

kodunuzda tip tahmini yok, sadece https://www.mql5.com/ru/docs/convert/doubletostring işlevini kullandınız

sırasıyla varsayılan parametre ile ve Print()'e çıktı alınırken 8 karakter alındı

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
[in]  Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то...
 

Merhaba!

Neyin yanlış olduğunu anlayamıyorum. Mevcut mum için tüm onayları almanız gerekir.

Kontrol ederken, tik dizisinin boyutu değişmez ve mevcut mum kene sayısına eşit değildir.

 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[])
  {
   ArraySetAsSeries (time, true );
   _R=__TIK__(time, 0 );
   return (rates_total);
  }
//+------------------------------------------------------------------+
bool __TIK__( const datetime &time[], int _i)
  {
   MqlTick tick_array[];   // массив для приема тиков 
   MqlTick lasttick;       // для получения данных последнего тика 

   ulong     from_msc=time[_i]* 1000 ;  
   ulong     to_msc=time[_i+ 1 ]* 1000 ;              

   CopyTicksRange ( Symbol (),tick_array, COPY_TICKS_ALL ,from_msc,to_msc);
   int __ArraySize= ArraySize (tick_array);
   Print (( string )__ArraySize+ "  " +( string )time[_i]+ "  " +( string )time[_i+ 1 ]);


   return ( false );
  }
 

Bir sipariş satırının veya açık bir pozisyonun rengi nasıl değiştirilir?

Şimdi hepsi aynı yeşil, bu da kafa karışıklığına neden oluyor ve onları kaba kuvvetle bulmak imkansız.

   int obj_total= ObjectsTotal ( 0 , 0 ,- 1 );
   string name;
   for ( int i= 0 ;i<obj_total;i++)
    {
     name = ObjectName ( 0 ,i,- 1 ,- 1 );
     Print (i, " - объект " ,name);
    }

Yalnızca kullanıcı tarafından oluşturulan nesneler kullanılabilir.