Как кодировать? - страница 121

 
IN10TION:
:: Привет! Проверьте код внутри этого индикатора
... (только для вашего времени открытия, это не советник)

спасибо, бро....

Я посмотрю

 
:: если это всегда зацикливается, вы должны перестать вызывать свою функцию при каждом приходе ценового тика... проверьте свой другой код...
fercan:
Кто-нибудь может остановить это от зацикливания?
 
denis68:
matrixebiz Я сделал это, теперь я не могу скомпилировать мою ea, когда я добавил следующие строки в мою ea

double ac1 = iCustom(NULL, 0, "AcceleratorMod", 1, 1);

double ac2 = iCustom(NULL, 0, "AcceleratorMod", 2, 1);

double ac11 = iCustom(NULL, 0, "AcceleratorMod", 1, 2);

double ac22 = iCustom(NULL, 0, "AcceleratorMod", 2, 2);

bool acbuy = ac2==0 && ac11==0; // Красный цвет меняется на лайм

bool acsell = ac1==0 && ac22==0; // Lime меняется на Red

Я получаю 12 ошибок: AC переменная не определена:

и я хотел бы поблагодарить вас за помощь.

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

Например, ваш оператор CloseBuy должен измениться с;

if ((AC1 < AC2)) Order = SIGNAL_CLOSEBUY;

на;

if ((ac1==0 && ac22==0)) Order = SIGNAL_CLOSEBUY;

если вы собираетесь использовать эти типы команд;

if ((ac1==0 && ac22==0)) Order = SIGNAL_CLOSEBUY;

тогда они вам не понадобятся;

bool acbuy = ac2==0 && ac11==0; // Красный цвет меняется на лайм

bool acsell = ac1==0 && ac22==0; // Lime меняется на Red

Я думал, что у вас больше кода, чем есть.

 
IN10TION:
:: если он постоянно зацикливается, вам нужно перестать вызывать вашу функцию при каждом входящем тике цены... проверьте ваш другой код...

Хорошо? Так как вы это делаете? Можете дать мне код, который я могу добавить перед BEM?

 
:: BEM работает с сигналами вашего индикатора, правильно? Например, ваши значения pips & BE, которые рассчитываются где-то в другом месте вашего кода... хорошо, сделайте это сравнение в другом месте... не зацикливаясь каждый раз между вашими ордерами. Я не вижу остальной части вашего кода... это зависит от вас...

ИН10TION

fercan:
Хорошо? Так как вы это делаете? Вы можете дать мне код, который я могу добавить перед BEM?
 

Я все еще пытаюсь подсчитать бары стоп-лосса из моих предыдущих сообщений.

Глядя на исходный код, у меня появилось ощущение, что он может быть несовершенным. Похоже, что стоплосс устанавливается на минимуме бара "x" баров назад, а не на минимуме за период "x" баров.

Так и написано:

SL=iLow(Symbol(),Period(),iLowest(Symbol(),Period( ),MODE_LOW,StopLossBars,0));

Я не понимаю, почему он использует и iLow, и iLowest. Правильно ли я понимаю, что iLowest сам по себе - это все, что нужно?

 

У меня также есть другая проблема с кодом моего советника. У меня есть линия, которая должна закрывать позицию при выполнении определенных критериев. Одним из критериев является то, что позиция в настоящее время теряет деньги.

Вот эта строка:

if ( (openPositions(OP_BUY)>0) && (OrderProfit( ) <= 0) && (macdnow macd_sigprevious)) {closeLong();}

Советник работает в том смысле, что он обязательно закрывает убыточные позиции, когда выполняются другие критерии. Однако по какой-то причине советник также закрывает и выигрышные позиции. Я предполагаю, что я неправильно использую функцию OrderProfit.

Не мог бы кто-нибудь помочь?

 

winwin

Привет, ребята,

эиииииииииииииииииииииииииииииии

 

Сейчас этот индикатор отображает открытия баров, которые больше или равны предыдущему открытию, зеленым цветом, а меньшие открытия - красным. Мой вопрос в том, как я могу изменить этот код, чтобы открытия, которые равны предыдущему открытию, отображались в ЖЕЛТОМ цвете?

if( X01 >= X02 ) { color_X01 = Lime ; } else { color_X01 = Red ; }

if( X02 >= X03 ) { color_X02 = Lime ; } else { color_X02 = Red ; }

if( X03 >= X04 ) { color_X03 = Lime ; } else { color_X03 = Red ; }

if( X04 >= X05 ) { color_X04 = Lime ; } else { color_X04 = Red ; }

if( X05 >= X06 ) { color_X05 = Lime ; } else { color_X05 = Red ; }

if( X06 >= X07 ) { color_X06 = Lime ; } else { color_X06 = Red ; }

if( X07 >= X08 ) { color_X07 = Lime ; } else { color_X07 = Red ; }

if( X08 >= X09 ) { color_X08 = Lime ; } else { color_X08 = Red ; }

if( X09 >= X10 ) { color_X09 = Lime ; } else { color_X09 = Red ; }

 
:: затем определите каждое утверждение, что оно не может быть и что НЕ равно... наконец, используйте утверждение equal для Yellow.

ИН10TION

fireslayer26:
Сейчас этот индикатор отображает открытия баров, которые больше или равны предыдущему открытию, зеленым цветом и меньше, чем красным. Мой вопрос в том, как я могу изменить этот код, чтобы открытия, которые равны предыдущему открытию, отображались в ЖЕЛТОМ цвете?

if( X01 >= X02 ) { color_X01 = Lime ; } else { color_X01 = Red ; }

if( X02 >= X03 ) { color_X02 = Lime ; } else { color_X02 = Red ; }

if( X03 >= X04 ) { color_X03 = Lime ; } else { color_X03 = Red ; }

if( X04 >= X05 ) { color_X04 = Lime ; } else { color_X04 = Red ; }

if( X05 >= X06 ) { color_X05 = Lime ; } else { color_X05 = Red ; }

if( X06 >= X07 ) { color_X06 = Lime ; } else { color_X06 = Red ; }

if( X07 >= X08 ) { color_X07 = Lime ; } else { color_X07 = Red ; }

if( X08 >= X09 ) { color_X08 = Lime ; } else { color_X08 = Red ; }

if( X09 >= X10 ) { color_X09 = Lime ; } else { color_X09 = Red ; }