Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Ищи и скачивай программы из Code Base через MetaTrader. Это быстро!
MetaQuotes Software Corp.
Модератор
180337
MetaQuotes Software Corp. 2013.10.15 10:36 

CM_X:

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

Author: a1ex_n

Vitalie Postolache
11958
Vitalie Postolache 2013.10.15 12:27  
А зачем тестить по ценам открытия если советник работает по тикам?
a1ex_n
7
a1ex_n 2013.10.15 16:47  
evillive:
А зачем тестить по ценам открытия если советник работает по тикам?

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

   Fc=iCustom(NULL,0,"CMx",Fx,kx,L_adx,0,1);
   Fp=iCustom(NULL,0,"CMx",Fx,kx,L_adx,0,2);
Vitalie Postolache
11958
Vitalie Postolache 2013.10.15 17:54  
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 если ММ выключить. Вот скажите, нафига что-то считать при отключенном ММ если в настройках лот ЗАДАН пользователем???

Vitalie Postolache
11958
Vitalie Postolache 2013.10.15 18:04  

Замените

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); //Но так лот считать всё равно не очень правильно! Лучше задать цену лота для торгуемой пары с учётом плеча, а не абстрактный коэффициент

чтобы реально ММ отключать.
a1ex_n
7
a1ex_n 2013.10.16 06:09  
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 если ММ выключить. Вот скажите, нафига что-то считать при отключенном ММ если в настройках лот ЗАДАН пользователем???



Согласен - недоглядел. Код накидывал быстренько для примера к индикатору.
a1ex_n
7
a1ex_n 2013.10.16 06:22  
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. Согласитесь для того и существует данный сайт.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий