Опубликуйте полный код функции, пожалуйста. Так точно сможем разобраться.
Опубликуйте полный код функции, пожалуйста. Так точно сможем разобраться.
Код можно куда-то выслать, типо на мыло, что-бы без посторонних глаз.
Опубликуйте полный код функции, пожалуйста. Так точно сможем разобраться.
Код можно куда-то выслать, типо на мыло, что-бы без посторонних глаз.
Лучше на stringo AT metaquotes . ru
//---- expected payoff if(ProfitTrades>0) avgprofit=GrossProfit/ProfitTrades; if(LossTrades>0) avgloss =GrossLoss/LossTrades; if(SummaryTrades>0) { profitkoef=1.0*ProfitTrades/SummaryTrades; losskoef=1.0*LossTrades/SummaryTrades; ExpectedPayoff=profitkoef*avgprofit-losskoef*avgloss; }
Это даблизация?
profitkoef=1.0*ProfitTrades/SummaryTrades;
losskoef=1.0*LossTrades/SummaryTrades;
losskoef=1.0*LossTrades/SummaryTrades;
А вот интересно.
Если позиция закрыта в "0", то, судя по DetailedStatement, она считается прибыльной, но на самом деле она и не прибыльная и не убыточная, нулевая. Её можно при расчетах отнести к таким ордерам как не сработавшим отложенным. Понту то от нее нету все равно. А если убрать такие позиции, то и цифры расчетов станут более правдоподобными. Ведь считаем только прибыльные и убыточные позиции.
Если я неправ, то почему скажем в формуле расчета "Expected Payoff" не использовать и все отложенные ордера, они же тоже были. Разницы нет, что удаленный отложенный, что в нуль закрытый ордер.
Если позиция закрыта в "0", то, судя по DetailedStatement, она считается прибыльной, но на самом деле она и не прибыльная и не убыточная, нулевая. Её можно при расчетах отнести к таким ордерам как не сработавшим отложенным. Понту то от нее нету все равно. А если убрать такие позиции, то и цифры расчетов станут более правдоподобными. Ведь считаем только прибыльные и убыточные позиции.
Если я неправ, то почему скажем в формуле расчета "Expected Payoff" не использовать и все отложенные ордера, они же тоже были. Разницы нет, что удаленный отложенный, что в нуль закрытый ордер.
Это даблизация?
profitkoef=1.0*ProfitTrades/SummaryTrades;
losskoef=1.0*LossTrades/SummaryTrades;
losskoef=1.0*LossTrades/SummaryTrades;
Да
Это даблизация?
profitkoef=1.0*ProfitTrades/SummaryTrades;
losskoef=1.0*LossTrades/SummaryTrades;
losskoef=1.0*LossTrades/SummaryTrades;
Да
А такой вариант работать уже не будет, так?
profitkoef=ProfitTrades/SummaryTrades*1.0;
losskoef=LossTrades/SummaryTrades*1.0;
losskoef=LossTrades/SummaryTrades*1.0;
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Expected Payoff: 128.20
Судя по описанию как расчитывается этот параметр
Expected Payoff = (ProfitTrades / TotalTrades) * (GrossProfit / ProfitTrades) - (LossTrades / TotalTrades) * (GrossLoss / LossTrades)
где:
TotalTrades - общее количество сделок;
ProfitTrades - количество прибыльных сделок;
LossTrades - количество убыточных сделок;
GrossProfit - общая прибыль;
GrossLoss - общий убыток.
У меня есть скрипт каторый делает еще более подробный отчет, расчитывая Expected Payoff для каждой закрытой позиции. Все данные беруться из:
OrderSelect(ticket, SELECT_BY_TICKET, MODE_HISTORY);
Так вот скрипт раньше все считал, с новым обновлением билда 194 (23 июня 2006), скрипт перестал записывать отчет в файл.
Исключил из отчета расчет функции Expected Payoff, все стало работать.
Начал разбираться и набрел в формуле деление на нуль. Т.к. в истории нет неодной убыточной закрытой позиции. Почему при сохранении DetailedStatement данный параметр расчитывается, а по тойже формуле но только скриптом не хочет. Что делать?!