MA0=iMA(NULL,0,13,0,MODE_SMA,PRICE_CLOSE,0); // средняя на текущем баре
MA1=iMA(NULL,0,13,0,MODE_SMA,PRICE_CLOSE,1); // средняя на предыдущем баре
if (MA0>Close[0] && MA1<
Close[1] ) //
Вот так правильно???
{
MessageBox("Есть пересечение",Symbol(),MB_OK);
}
MA0=iMA(NULL,0,13,0,MODE_SMA,PRICE_CLOSE,0); // средняя на текущем баре MA1=iMA(NULL,0,13,0,MODE_SMA,PRICE_CLOSE,1); // средняя на предыдущем баре if (MA0>High[0] && MA1< High[1] ) // Вот так правильно??? { MessageBox("Есть пересечение",Symbol(),MB_OK); } if (MA0<Low[0] && MA1> Low[1] ) // Вот так правильно??? { MessageBox("Есть пересечение",Symbol(),MB_OK); }Что-то примерно так. Хотя мне не нравится
Что-то примерно так. Хотя мне не нравится
Пересечение скользящей средней и цены
Хоть что-нибудь, но подойдет.
Мне лично проще рассматривать типовое пересечение двух МА, у одной из которых период=1.
А вот можно взять из советника Moving Average.mq4 из станд.набора который идет в любом МТ4 ...
Если открытие предыдущей свечи выше машки, а закрытие ниже машки - значит цена пересекла машку вниз, солим..
Если наоборот - баим...
Вроде очень разумное и лаконичное решение... А сравнивать пересечения High[0] и Low[0] с машкой по моему не совсем верно, пересечение может ведь быть и тенью от свечи - получите ложное пробитие, а ордерок то уже откроется и самоотверженно пойдет в убыток.
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0); //---- sell conditions if(Open[1]>ma && Close[1]<ma) { OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red); return; } //---- buy conditions if(Open[1]<ma && Close[1]>ma) { OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue); return; }
А вот можно взять из советника Moving Average.mq4 из станд.набора который идет в любом МТ4 ...
Если открытие предыдущей свечи выше а закрытие ниже - значит цена пересекла машку вниз, солим..
Если наоборот - баим...
Вроде очень разумное и лаконичное решение...
Разумное, но не лаконичное
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте, пытаюсь определить, пересекла ли скользящая средняя цены или нет. Подскажите пожалуйста, как это сделать?
MA0=iMA(NULL,0,13,0,MODE_SMA,PRICE_CLOSE,0); // средняя на текущем баре
MA1=iMA(NULL,0,13,0,MODE_SMA,PRICE_CLOSE,1); // средняя на предыдущем баре
if (MA0>... && MA1<...) // тут я не знаю как сравнить с ценой на текущем и предыдущем баре :(
{
MessageBox("Есть пересечение",Symbol(),MB_OK);
}