Группа "Альтернативная школа Юного Спекулянта."

Рейтинг 62



РЕКОМЕНДУЮ




Лучшее от axe44



Крутые памм-счета Комментариев 6
2017-10-24 11:58:58Рейтинг 0

БКС Комментариев 8
2017-08-11 02:57:12Рейтинг 0

торги
2017-01-26 00:01:37Рейтинг 0

HelloDual v3.0 Комментариев 3
2017-11-19 02:21:03Рейтинг 0

Создание советников бесплатно Комментариев 2
2017-07-16 22:54:20Рейтинг 0

Коэффициенты

Доброго утра.

Вчера познакомил вас с формулами Кальмара. Нужно было добавить, что модифицированная версия хорошо работает с автолотом, так как справляется сразу с двумя негативными параметрами такими как отрицательная последовательность и максимальная просадка.

Сегодня решил добавить ещё несколько кодов по оптимизации.

Итак коэффициент Сортино:

С = (К-М)/В
К — средняя доходность
М — максимальная просадка
В — средний убыток



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



Кажется всё. Если есть вопросы, заказы — то спрашивайте.
  • +2
  • Просмотров: 2857
  • 19 января 2019, 11:58
  • axe44
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Альтернативная школа Юного Спекулянта.", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Коэффициент Кальмара
Следующая запись в группе  
Граль для новичков
18 января 2019
28 января 2019

Брокер для ваших роботов, 15 лет на рынке

Комментарии (3)

+
0

//+------------------------------------------------------------------------------------+
//| K*Oж.Прибыли   @Алексей Корольков                    http://axe44.opentraders.ru/bio/   |
//+------------------------------------------------------------------------------------+
double OnTester()
{
    double SrPribul = 0;
    double Pribul  = 0;
    double Sdelki = 0;
    double Ubutok = 0;
    double UbSdelki = 0;
    double PbSdelki = 0;
    if (TesterStatistics(STAT_PROFIT_TRADES) > 0)
        SrPribul = NormalizeDouble(TesterStatistics(STAT_PROFITTRADES_AVGCON),Digits) ;
        Ubutok = NormalizeDouble(TesterStatistics( STAT_LOSSTRADES_AVGCON),Digits) ;
        Sdelki = NormalizeDouble(TesterStatistics(STAT_LOSS_TRADES ),Digits) ;
        UbSdelki=NormalizeDouble(TesterStatistics(STAT_LOSS_TRADES ),Digits) ;
        PbSdelki=NormalizeDouble(TesterStatistics(STAT_PROFIT_TRADES ),Digits) ;
        Pribul = NormalizeDouble(MathAbs((SrPribul/Ubutok)*(PbSdelki/UbSdelki)),Digits) ;


    return(Pribul);
}


Вероятность прибыли совсем забыл. Если можно, добавьте в текст
avatar

  13  axe44 Автор Сообщений: 1149 - Алек

  • 19 января 2019, 13:57
+
0
Нашлось кое что для маленьких счетов. Чем меньше счёт тем выше должен быть показатель.
Сама формула критерия Келли:
utmagazine.ru/posts/10958-riski-i-matematicheskoe-ozhidanie-v-treydinge-ih-vzaimosvyaz


Редактирован: 20 января 2019, 07:40
avatar

  13  axe44 Автор Сообщений: 1149 - Алек

  • 20 января 2019, 07:38
+
0
Формула Келли ерунда. Просто высчитывается минимальный убыток по отношению к прибыли в моменте.

Где я напутал? Или это просто вынос мозга?

Эксперимент продолжается…
Редактирован: 20 января 2019, 19:38
avatar

  13  axe44 Автор Сообщений: 1149 - Алек

  • 20 января 2019, 19:36

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий