fxsaber: А вы откройте свой mq4 в эдиторе 1430 и скомпилируйте его в ex4.
Я так и сделал. Но: а) невозможно запустить отладку, б) когда отдаёшь работу заказчику вместе с исходниками, у него всё должно компилироваться без бубна.
FormatDelimiter(DoubleToString(this.ProfitFactor(),2))+delimiter+ //преобразуем в строковый параметр для записи в файл
код примерный - не мой- делал фрилансер и в дальнейшей поддержке отказал, вот и не могу понять как поправить.
Ситуация возникает если есть прибыль, но нет убытка, получается деление на ноль по идеи, но это же должно бытьрешеноне таким зверским числом в стандартной функции....нет?
FormatDelimiter(DoubleToString(this.ProfitFactor(),2))+delimiter+ //преобразуем в строковый параметр для записи в файл
код примерный - не мой- делал фрилансер и в дальнейшей поддержке отказал, вот и не могу понять как поправить.
Ситуация возникает если есть прибыль, но нет убытка, получается деление на ноль по идеи, но это же должно бытьрешеноне таким зверским числом в стандартной функции....нет?
#define MNOGO 123
FormatDelimiter(DoubleToString(MathMin(this.ProfitFactor(), MNOGO),2))+delimiter+ //преобразуем в строковый параметр для записи в файл
Спасибо - интересная идея., но хотелось бы в такой ситуации получить единичку, как нейтральный показатель - такое бывает редко, а при анализе результатов оптимизации портиться вся статистика.
-Aleks-: Спасибо - интересная идея., но хотелось бы в такой ситуации получить единичку, как нейтральный показатель - такое бывает редко, а при анализе результатов оптимизации портиться вся статистика.
// 'Func' - cannot to apply function template
Ошибку может выдавать build < 1375. В 1430 она уже точно устранена
Какие значения спреда выдает функция CopySpread() для соответствующего периода графика?
Непонятно, то ли средний, минимальный или максимальный, а в справке по функции ничего об этом не сказано.
А вы откройте свой mq4 в эдиторе 1430 и скомпилируйте его в ex4.
Не могу понять, в файл сохраняется такое вот число
179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368,00
double m_profit_factor; // 27) прибыльность
m_profit_factor=TesterStatistics(STAT_PROFIT_FACTOR);
double ProfitFactor(void) const {return m_profit_factor;};
FormatDelimiter(DoubleToString(this.ProfitFactor(),2))+delimiter+ //преобразуем в строковый параметр для записи в файл
код примерный - не мой- делал фрилансер и в дальнейшей поддержке отказал, вот и не могу понять как поправить.
Ситуация возникает если есть прибыль, но нет убытка, получается деление на ноль по идеи, но это же должно бытьрешеноне таким зверским числом в стандартной функции....нет?
Не могу понять, в файл сохраняется такое вот число
179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368,00
double m_profit_factor; // 27) прибыльность
m_profit_factor=TesterStatistics(STAT_PROFIT_FACTOR);
double ProfitFactor(void) const {return m_profit_factor;};
FormatDelimiter(DoubleToString(this.ProfitFactor(),2))+delimiter+ //преобразуем в строковый параметр для записи в файл
код примерный - не мой- делал фрилансер и в дальнейшей поддержке отказал, вот и не могу понять как поправить.
Ситуация возникает если есть прибыль, но нет убытка, получается деление на ноль по идеи, но это же должно бытьрешеноне таким зверским числом в стандартной функции....нет?
думая так сделаю
if (TesterStatistics(STAT_PROFIT_FACTOR)>10000) m_profit_factor=1;
else m_profit_factor=0;
Спасибо - интересная идея., но хотелось бы в такой ситуации получить единичку, как нейтральный показатель - такое бывает редко, а при анализе результатов оптимизации портиться вся статистика.