Скачать MetaTrader 5

Помогите написать код с 2мя МА

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Они уже зарабатывают с помощью сервиса Фриланс. Зарабатывай и ты!
comdoc
24
comdoc 2013.05.30 23:13 
Здравствуйте!
Помогите пожалуйста, как написать код чтобы при пересечении 2х МА на предидущем баре, открывался ордер. Не могу сообразить,, помогите пожалуйста.
Aliaksandr Yemialyanau
3478
Aliaksandr Yemialyanau 2013.05.31 03:34  
 Если по ценам открытия: 
if(MA1[0]>MA2[0]&&MA1[1]<MA2[1])

Иначе:

if(MA1[1]>MA2[1]&&MA1[2]<MA2[2])
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
comdoc
24
comdoc 2013.05.31 05:45  
Спасибо!
comdoc
24
comdoc 2013.05.31 07:20  
nasdaq:
 Если по ценам открытия: 

Иначе:

 Почему то не хочет компилировать код.

'[' - unexpected token C:\Program Files\ForexClub MT4\experts\ma.mq4 (22, 13)

Alexander Bereznyak
21476
Alexander Bereznyak 2013.05.31 09:15  
Скобку потеряли в строке 22, позиции 13
comdoc
24
comdoc 2013.05.31 09:51  
sandex:
Скобку потеряли в строке 22, позиции 13

Спасибо за ответ, вот это строка.

Что я не правильно сделал? 

if (MA1[0]<MA2[0]&&MA1[1]>MA2[1])

Aliaksandr Yemialyanau
3478
Aliaksandr Yemialyanau 2013.05.31 10:48  

Здесь со скобками всё верно, похоже ошибка где-то выше.

 

Кстати, у вас код на  mql4, а вопросы задаёте на форуме mql5, может путаница возникнуть. 

Aliaksandr Yemialyanau
3478
Aliaksandr Yemialyanau 2013.05.31 11:06  

Попробуйте так:

double MA1[2], MA2[2];

MA1[0]=iMA(NULL,NULL,Period1,0,MODE_SMA,PRICE_OPEN,0); 
MA1[1]=iMA(NULL,NULL,Period1,0,MODE_SMA,PRICE_OPEN,1); 
MA2[0]=iMA(NULL,NULL,Period2,0,MODE_SMA,PRICE_OPEN,0); 
MA2[1]=iMA(NULL,NULL,Period2,0,MODE_SMA,PRICE_OPEN,1); 

if(MA1[0]>MA2[0]&&MA1[1]<MA2[1]) {Cls_S=true; Opn_B=true;}
if(MA1[0]<MA2[0]&&MA1[1]>MA2[1]) {Cls_B=true; Opn_S=true;}
Вместо  Period1 и   Period2 вставте свои переменные.  
comdoc
24
comdoc 2013.05.31 22:10  
nasdaq:

Попробуйте так:

Вместо  Period1 и   Period2 вставте свои переменные.  
 {Cls_S=true; Opn_B=true;}
{Cls_B=true; Opn_S=true;}  Пожалуйста скажите, что именно это значит?
За остальное спасибо, сообразил.
Aliaksandr Yemialyanau
3478
Aliaksandr Yemialyanau 2013.06.01 04:44  
Это переменные для закрытия и открытия ордеров. Они используются в примере эксперта из учебника  https://book.mql4.com/ru/samples/expert Приведённый мною код можно вставить в "Торговые критерии" (смотрите пример по ссылке)
Простой эксперт - Простые программы на MQL4 - Учебник по MQL4
  • book.mql4.com
Простой эксперт - Простые программы на MQL4 - Учебник по MQL4
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий