Помощь в кодировании - страница 226

 

Уважаемые великие программисты,

пожалуйста, помогите мне модифицировать этот Ea, чтобы сделать возможность открытия только ордера на покупку или только на продажу в начале каждого цикла.

Извините за мой английский.

Спасибо

Mark010breakouthedge.mq4

Файлы:
 
Mark010:
Уважаемые великие программисты,

пожалуйста, помогите мне модифицировать этот Ea, чтобы сделать возможность открытия только ордера на покупку или только на продажу в начале каждого цикла.

Извините за мой английский.

Спасибо

Mark010breakouthedge.mq4

Mark010

У вас есть оригинальный исходный код? Это декомпилированный код, и я сомневаюсь, что вы получите помощь с изменениями декомпилированного кода.

 

У меня его нет.

В любом случае, спасибо.

 
mladen:
elcomepips Вот, пожалуйста,

Привет, Младен,

Я видел, что ты очень хорошо закодировал это. Какие буферы я должен импортировать с помощью iCustom(), чтобы сделать из этого советника. Я только хочу знать, должен ли я идти в длинную или короткую позицию.

Заранее спасибо.

 
arroganzmaschine:
Привет, Младен,

Я видел, что вы очень хорошо его закодировали. Какие буферы я должен импортировать с помощью iCustom(), чтобы сделать из этого советника. Я только хочу знать, должен ли я идти в длинную или короткую позицию.

Заранее спасибо.

arroganzmaschine

Вы можете использовать для этого буфер 2. Если значение в нем равно 1, то тренд восходящий, если значение равно -1, то тренд нисходящий. Код может выглядеть следующим образом:

double currentTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,1);

double previousTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,2);

if (currentTrend != previousTrend)

{

if (currentTrend == 1) // buy signal

if (currentTrend == -1) // sell signal

}

 
mladen:
arroganzmaschine

Для этого можно использовать буфер 2. Если значение в нем равно 1, то тренд восходящий, если значение равно -1, то тренд нисходящий. Код может выглядеть следующим образом:

double currentTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,1);

double previousTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,2);

if (currentTrend != previousTrend)

{

if (currentTrend == 1) // buy signal

if (currentTrend == -1) // sell signal

}

Как я должен определить FastMa и т.д.? Это не работает, потому что его не существует.

 
arroganzmaschine:
Как я должен определить FastMa и т.д.? Это не работает, потому что их не существует.

Вы должны объявить их как внешние переменные (точно так же, как и в параметрах индикатора). Например, так :

extern int FastMa = 5;

extern int FastMaShift = 0;

extern int FastMAMethod = MODE_LWMA;

extern int FastMAPrice = PRICE_CLOSE;

extern int SlowMa = 13;

extern int SlowMaShift = 0;

extern int SlowMAMethod = MODE_LWMA;

extern int SlowMAPrice = PRICE_CLOSE;

используйте любые значения по умолчанию, которые вам нравятся, вместо значений из кода выше.

 
mladen:
Нужно объявить их как внешние переменные (точно так же, как в параметрах индикатора). Например так :
extern int FastMa = 5;

extern int FastMaShift = 0;

extern int FastMAMethod = MODE_LWMA;

extern int FastMAPrice = PRICE_CLOSE;

extern int SlowMa = 13;

extern int SlowMaShift = 0;

extern int SlowMAMethod = MODE_LWMA;

extern int SlowMAPrice = PRICE_CLOSE;

используйте любые значения по умолчанию, которые вам нравятся, вместо значений из кода выше

Спасибо большое! Как я могу открыть только один ордер, если CurrentTrend==1?

Я не хочу открывать массивные ордера.

 
arroganzmaschine:
Спасибо большое! Как я могу выставить только один ордер, если текущий тренд==1? Я не хочу открывать массивные ордера.

Либо использовать OrdersTotal() < 1, либо использовать какую-то функцию подсчета ордеров для текущего символа и магического числа.

 

Здравствуйте Mladen.Вы сделали версию этого индикатора. Я хочу попросить сделать здесь отдельно скользящую среднюю, как на примере другого индикатора, если это возможно.

Спасибо.

Файлы: