Советники: CM_X

 

CM_X:

Пример использования индикатора CM_x

Author: a1ex_n

 
А зачем тестить по ценам открытия если советник работает по тикам?
 
evillive:
А зачем тестить по ценам открытия если советник работает по тикам?

Ждет закрытия сигнального бара. Давно так делаю для скорости оптимизации. По тикам получите тот-же результат.

   Fc=iCustom(NULL,0,"CMx",Fx,kx,L_adx,0,1);
   Fp=iCustom(NULL,0,"CMx",Fx,kx,L_adx,0,2);
 
a1ex_n:
evillive:
А зачем тестить по ценам открытия если советник работает по тикам?

Ждет закрытия сигнального бара. Давно так делаю для скорости оптимизации. По тикам получите тот-же результат.

   Fc=iCustom(NULL,0,"CMx",Fx,kx,L_adx,0,1);
   Fp=iCustom(NULL,0,"CMx",Fx,kx,L_adx,0,2);

Ну да, ну да, конечно, абсолютно идентичные результаты

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

Кроме того оно ещё и лоты неправильно считает, 4051 если ММ выключить. Вот скажите, нафига что-то считать при отключенном ММ если в настройках лот ЗАДАН пользователем???

 

Замените

double lot=NormalizeDouble(AccountFreeMargin()*Risk/10000.0,2);
if(MM==true)
{

на

double lot=NormalizeDouble(Min_lot,2);
if(MM==true)
{lot=NormalizeDouble(AccountFreeMargin()*Risk/10000.0,2); //Но так лот считать всё равно не очень правильно! Лучше задать цену лота для торгуемой пары с учётом плеча, а не абстрактный коэффициент

чтобы реально ММ отключать.
 
evillive:
a1ex_n:
evillive:
А зачем тестить по ценам открытия если советник работает по тикам?

Ждет закрытия сигнального бара. Давно так делаю для скорости оптимизации. По тикам получите тот-же результат.

   Fc=iCustom(NULL,0,"CMx",Fx,kx,L_adx,0,1);
   Fp=iCustom(NULL,0,"CMx",Fx,kx,L_adx,0,2);

Ну да, ну да, конечно, абсолютно идентичные результаты

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

Кроме того оно ещё и лоты неправильно считает, 4051 если ММ выключить. Вот скажите, нафига что-то считать при отключенном ММ если в настройках лот ЗАДАН пользователем???



Согласен - недоглядел. Код накидывал быстренько для примера к индикатору.
 
evillive:

Замените

double lot=NormalizeDouble(AccountFreeMargin()*Risk/10000.0,2);
if(MM==true)
{

на

double lot=NormalizeDouble(Min_lot,2);
if(MM==true)
{lot=NormalizeDouble(AccountFreeMargin()*Risk/10000.0,2); //Но так лот считать всё равно не очень правильно! Лучше задать цену лота для торгуемой пары с учётом плеча, а не абстрактный коэффициент

чтобы реально ММ отключать.

Спасибо за отзывы. Думал тишина будет. Данный советник - набросок, и код менять приветствуется. Конкретно для расчета лота, лучше будет мой кусок заменить на библиотеку управления капиталом, коих можно подобрать по вкусу в codebase. Согласитесь для того и существует данный сайт.