вот этот код мне понравился
if(Volume[0]>1) return;
Комментарии излишни
Ну это Вы зря, ничего военного, ранний вариант.
if( Volume[0] > 1) return(0);
пересечение машек не даёт ничего рационального для принятия решений каких-либо
if(Volume[0]>1) return;Апплодирую стоя.
if(Volume[0]>1) return;наверное это попытка сделать так, чтобы сделка открывалась в момент открытия нового бара и больше открытие не повторялось, странный конечно вариант :)
Почему, странный. Во многих советниках применяется, в примерах и пр. Просто вы еще не набрали статистики изучения чужих кодов.
Другое дело, что лучше использовать для этой цели время, т.е. if(Time[0]==TimePrev) return;, где TimePrev - хранящееся в стат. переменной время. Ладно, на коде будет понятнее:
void start() { static datetime TimePrev=0; if(Time[0]==TimePrev) return; TimePrev=Time[0]; /////// /////// /////// /////// }
Чем больше живу, тем больше убеждаюсь, что писатели чужих произведений не читают принципиально :))
Обсуждение приведенных выше способов определения нового бара состоялось в статье "Особенности написания экспертов". Автор: MetaQuotes Software Corp. 2005 г.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет Всем.
Вопрос новичка - 3 индикатора MA с разными периодами и сдвигами,всю башню сорвал как сделать - график вниз(Sell) пересекаем первый индикатор(1),затем третий(3) и второй(2) берем Sell, идем в обратную сторону закрываем позицию (Close) по второму(2) индикатору.
//---- go trading only for first tiks of new bar
if(Volume[0]>1) return;
//---- get Moving Average
ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);
ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_EMA,PRICE_LOW,0);
ma3=iMA(NULL,0,MovingPeriod3,MovingShift3,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
if(Open[1]<ma1 && Close[1]>ma1)
if(Open[1]<ma3 && Close[1]>ma3)
if(Open[1]<ma2 && Close[1]>ma2)
{
res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+Stoploss*Point,Bid-TakeProfit*Point,"",MAGICMA,0,Red);
return;
Что-то, где-то косяк, в данном случае с SL and TP хотелось убрать.
И с мейджиком один хрен берет ордеров немеренно!!!
Хелп !!!!!!!