Коэффициенты |
//+------------------------------------------------------------------------------------+
//| K*Сортино @Алексей Корольков http://axe44.opentraders.ru/bio/ |
//+------------------------------------------------------------------------------------+
double OnTester()
{
double SrPribul = 0;
double Sortino = 0;
double SrYbutok = 0;
double MaxYbutok = 0;
if (TesterStatistics(STAT_PROFIT_TRADES) > 0)
SrPribul = NormalizeDouble(TesterStatistics(STAT_GROSS_PROFIT ) / TesterStatistics(STAT_PROFIT_TRADES),Digits) ;
SrYbutok = NormalizeDouble(TesterStatistics(STAT_GROSS_LOSS ) / TesterStatistics(STAT_LOSS_TRADES),Digits) ;
MaxYbutok = NormalizeDouble(TesterStatistics(STAT_MAX_LOSSTRADE ),Digits) ;
Sortino = NormalizeDouble(((SrPribul-MaxYbutok)/-SrYbutok),Digits) ;
return(Sortino);
}
//+--------------------------------------------------------------------+
//| K*Вероятности @Алексей Корольков http://axe44.opentraders.ru/bio/|
//+--------------------------------------------------------------------+
double OnTester()
{
double PercentProfitTrades = 0;
if (TesterStatistics(STAT_PROFIT_TRADES) > 0)
PercentProfitTrades = TesterStatistics(STAT_PROFIT_TRADES) / TesterStatistics(STAT_TRADES) * 100;
if (PercentProfitTrades >= TesterMinPercentProfitTrades)
return(NormalizeDouble((TesterStatistics(STAT_PROFIT) / TesterStatistics(STAT_EQUITY_DD)), 2));
else return(0);
}
//+------------------------------------------------------------------------------------+
//| K*Трейнора @Алексей Корольков http://axe44.opentraders.ru/bio/ |
//+------------------------------------------------------------------------------------+
double OnTester()
{
double SrPribul = 0;
double Triynor = 0;
double SrYbutok = 0;
double MaxPribul= 0;
if (TesterStatistics(STAT_PROFIT_TRADES) > 0)
SrPribul = NormalizeDouble(TesterStatistics(STAT_GROSS_PROFIT ) / TesterStatistics(STAT_PROFIT_TRADES),Digits) ;
SrYbutok = NormalizeDouble(TesterStatistics(STAT_GROSS_LOSS ) / TesterStatistics(STAT_LOSS_TRADES),Digits) ;
MaxPribul = NormalizeDouble(TesterStatistics(STAT_MAX_PROFITTRADE ),Digits) ;
Triynor = NormalizeDouble(((SrPribul-MaxPribul)/-SrYbutok),Digits) ;
return(Triynor);
}
//+------------------------------------------------------------------------------------+
//| K*Шарпа @Алексей Корольков http://axe44.opentraders.ru/bio/ |
//+------------------------------------------------------------------------------------+
double OnTester()
{
double SrPribul = 0;
double Sharp = 0;
double ObYbutok = 0;
double MaxPribul = 0;
if (TesterStatistics(STAT_PROFIT_TRADES) > 0)
SrPribul = NormalizeDouble(TesterStatistics(STAT_GROSS_PROFIT ) / TesterStatistics(STAT_PROFIT_TRADES),Digits) ;
MaxPribul = NormalizeDouble(TesterStatistics(STAT_MAX_PROFITTRADE ),Digits) ;
ObYbutok = NormalizeDouble(TesterStatistics(STAT_GROSS_LOSS ),Digits) ;
Sharp = NormalizeDouble(((SrPribul-MaxPribul)/-ObYbutok),Digits) ;
return(Sharp);
}
18 января 2019
|
28 января 2019
|
Комментарии (3)
Вероятность прибыли совсем забыл. Если можно, добавьте в текст
13 axe44 Автор Сообщений: 1149 - Алек
Сама формула критерия Келли:
utmagazine.ru/posts/10958-riski-i-matematicheskoe-ozhidanie-v-treydinge-ih-vzaimosvyaz
Редактирован: 20 января 2019, 07:40
13 axe44 Автор Сообщений: 1149 - Алек
Где я напутал? Или это просто вынос мозга?
Эксперимент продолжается… Редактирован: 20 января 2019, 19:38
13 axe44 Автор Сообщений: 1149 - Алек
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий