Ошибки, баги, вопросы - страница 1549

 
comp:

Могу в коде нести с собой EX5  в виде массива. Создавать EX5-файл в песочнице и подключать его в виде ресурса.

Просто зачем такой геморрой, когда логичнее было бы сделать все то же самое, если бы можно было подключать сразу MQ5-ресурс.

Примите существующие правила, как должное, вместо требования реализации собственных хотелок.
[Удален]  
Karputov Vladimir:
Примите существующие правила, как должное, вместо требования реализации собственных хотелок.
Где увидели требования?!
 

comp:

если бы можно было подключать сразу MQ5-ресурс.

а какая задача стоит кроме академического интереса?
[Удален]  
o_O:
а какая задача стоит кроме академического интереса?

На самом деле разработчики сделали запрет на такое

comp:

Могу в коде нести с собой EX5  в виде массива. Создавать EX5-файл в песочнице и подключать его в виде ресурса.

Но дело, конечно, не в этом. Хочется сделать универсальный IsChanged() и подключать его через #include.

Таскать еще с собой EX5-файл индикатор для параллельности не хочется. Ну мало ли какой гадости в него запихали... А если MQ5 - то открытый исходник, другое отношение.

[Удален]  
Если во время выполнения индикатора в логе ни разу не появилось "indicator is too slow", можно ли утверждать, что индикатор не зависал?
 
comp:
Если во время выполнения индикатора в логе ни разу не появилось "indicator is too slow", можно ли утверждать, что индикатор не зависал?

100% гарантии никто и ни где не даёт :) .Если индикатор в очередь сообщений хоть, что-то размещает, имеет смысл провести тестирование на быстром рынке. 

 

Добавлено. Если индикатор в очередь сообщений хоть, что-то размещает, то, кроме проверки на быстром рынке, имеет смысл запустить несколько индикаторов в терминале.

[Удален]  
Karputov Vladimir:

100% гарантии никто и ни где не даёт :) .Если индикатор в очередь сообщений хоть, что-то размещает, имеет смысл провести тестирование на быстром рынке. 

 

Добавлено. Если индикатор в очередь сообщений хоть, что-то размещает, то, кроме проверки на быстром рынке, имеет смысл запустить несколько индикаторов в терминале.

Быстрый рынок можно и эмулировать через вызов FullOnCalculate()

#define TIMESERIES(X)                                                  \
   ::ArraySetAsSeries(X, TRUE);                                        \
   Size = ::MathMin(Copy##X(::Symbol(), ::Period(), 0, bars, X), Size);  

int FullOnCalculate( const int Prev_Calculated = 0 )
{
  int Spread[];
  long RealVolume[];
  
  int Size = INT_MAX;
  
  #ifdef __MQL4__
    const int bars = ::Bars;
  #endif

  #ifdef __MQL5__
    const int bars = ::Bars(::Symbol(), ::Period());
  #endif

  TIMESERIES(Spread)
  TIMESERIES(RealVolume)
  
  #ifdef __MQL4__
    return(::OnCalculate(Size, Prev_Calculated, Time, Open, High, Low, Close, RealVolume, Volume, Spread));
  #endif
  
  #ifdef __MQL5__
    datetime Time[];
    double Open[];
    double High[];
    double Low[];
    double Close[];
    long TickVolume[];

    TIMESERIES(Time)
    TIMESERIES(Open)
    TIMESERIES(High)
    TIMESERIES(Low)
    TIMESERIES(Close)
    TIMESERIES(TickVolume)
  
    return(::OnCalculate(Size, Prev_Calculated, Time, Open, High, Low, Close, RealVolume, TickVolume, Spread));
  #endif
}

событийную модель - аналогично. Вопрос же был в другом

comp:
Если во время выполнения индикатора в логе ни разу не появилось "indicator is too slow", можно ли утверждать, что индикатор не зависал?

 прошедшее время в терминах преподавания дисциплины "Русский язык".

[Удален]  

Бывают сложные логики, которые работают многие сутки, но в один момент идет зависание. При этом это иногда происходит в EX5, исходники которых править нет возможности. Можно ли со стороны программно определить, что индикатор или советник зависли? Собирать статистику расчетной части того или иного индикатора?

С индикаторами, вроде, можно, поскольку они в подвисшем состоянии убивают обновление чартов по своему символу. Советником это можно отследить, пусть и без конкретизации, какой именно из индикаторов вызвал подвисание. 

[Удален]  
Ставлю рекорды по банам. Во время банов мне отвечают на форуме, но могу только прочесть. А после снятия очередного бана очень сложно вспомнить, кто и где отвечал, чтобы продолжить. Возможно ли как-то решить этот вопрос (без рекомендаций не попадать больше в баню)? Да и вообще иногда прочтешь, а ответить времени сейчас сразу нет. Возможно ли какой-нибудь флаг-напоминание себе поставить "ответить позже"?
 
comp:
Ставлю рекорды по банам. Во время банов мне отвечают на форуме, но могу только прочесть. А после снятия очередного бана очень сложно вспомнить, кто и где отвечал, чтобы продолжить. Возможно ли как-то решить этот вопрос (без рекомендаций не попадать больше в баню)? Да и вообще иногда прочтешь, а ответить времени сейчас сразу нет. Возможно ли какой-нибудь флаг-напоминание себе поставить "ответить позже"?
Сначала нужно думать, а потом делать. А не наоборот. Тогда не будет проблем с памятью.