초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1037

 
Artyom Trishkin :

있다. PLOT_SHOW_DATA

정말 감사합니다!

 
MQL4의 SetIndexDrawBegin() 함수의 MQL5에 대한 아날로그를 알려주세요.
 
The_Sheikh :
MQL4의 SetIndexDrawBegin() 함수의 MQL5에 대한 아날로그를 알려주세요.

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

 void SetIndexDrawBegin( int index,
                       int begin)
 bool PlotIndexSetInteger (index, PLOT_DRAW_BEGIN ,begin)
SetIndexDrawBegin
데이터 시작 부분부터 지정된 표시줄 그리기가 시작되는 막대 번호를 설정합니다.
플롯 인덱스 세트 정수
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
MT5에서 전략 테스터 로그를 비활성화할 수 있습니까? 나는 여분의 인쇄가 없지만 20GB가 밤새 실행되어 VPS가 걸렸습니다. 내 전략은 7쌍과 각각 하루에 최대 10건의 거래에 대해 작동합니다...
 
Evgeny Dyuka :
MT5에서 전략 테스터 로그를 비활성화할 수 있습니까? 나는 여분의 인쇄가 없지만 20GB가 밤새 실행되어 VPS가 걸렸습니다. 내 전략은 7쌍과 각각 하루에 최대 10건의 거래에 대해 작동합니다...

다중 통화 어드바이저가 VPS에서 실행되고 있습니까? 테스트는 몇 시간 동안 수행되었습니까? 아니면 7명의 테스터가 실행 중입니까?

 
Alexey Viktorov :

다중 통화 어드바이저가 VPS에서 실행되고 있습니까? 테스트는 몇 시간 동안 수행되었습니까? 아니면 7명의 테스터가 실행 중입니까?

7 쌍에 대한 하나의 다중 통화, 하루에 70-80 트랜잭션, 1 년 동안 설정, 5 시간의 테스트 후 로그가 20GB 이상이고 VDS가 사망했습니다. 로그의 문제가 일정해서 봇이 디포를 배수하면 테스트가 멈추지 않고 디포 로드가 150%로 계속 표시되고, 손으로 멈추지 않으면 VDS가 나올 때까지 로그를 씁니다. 멈춘다. 프로그래밍 방식으로 이 문제를 해결했습니다. "Sedstva"가 시작 저장소의 10% 미만이면 테스터가 중지되지만 이것은 목발입니다. 그러나 다중 통화를 사용하면 무엇을 해야할지 모르겠습니다.

 

데이터 유형을 변경하면 정규화가 중단됩니다.


      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 닫기가격 = 1.13456

2019.05.05 20:04:29.483 _part_close(EURUSD,D1) V = 0.01000000 닫기가격 = 1.13456000


이건 괜찮아?

 
psyman :

데이터 유형을 변경하면 정규화가 중단됩니다.

이건 괜찮아?

코드에 typecast가 없습니다. 방금 https://www.mql5.com/ru/docs/convert/doubletostring 기능을 사용했습니다.

각각 기본 매개변수를 사용하여 Print()로 출력할 때 8자 수신

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

안녕하세요!

무엇이 잘못되었는지 알 수 없습니다. 현재 촛불에 대한 모든 틱을 가져와야 합니다.

확인할 때 틱 배열의 크기는 변경되지 않으며 현재 촛불 틱 수와 동일하지 않습니다.

 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 );
  }
 

주문 라인 또는 오픈 포지션 의 색상을 변경하는 방법은 무엇입니까?

이제는 모두 같은 녹색으로 혼란을 야기하고 무차별 대입으로 찾을 수 없습니다.

   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);
    }

사용자가 만든 개체만 사용할 수 있습니다.

사유: