[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 209

 

Я закрываю с этой функцией открытые позиции при пипсовке:

if ( (PriceOpenLastPos(NULL, OP_BUY, Magic  )+TakeProfit_Buy*Point)<=Bid 
 && PriceOpenLastPos(NULL, OP_BUY, Magic  )>0) 
 ClosePositions(NULL, OP_BUY, Magic );
//если профит позиции в пунктах превышает заданное 
//значение - закрывем позицию
 
Спасибо большое, rid. Но мне важно понять, где я ошибся.
 
Alex5757000 писал(а) >>

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

//-----------------------------------------------------------------------------+
// Функция возвращает OrderOpenPrice последнего открытого экспертом рыночного ордера               |
//-----------------------------------------------------------------------------+ 
double Last_Order_Price() {
  double Last_price=0;
  for(int i=OrdersTotal()-1; i>=0; i--) {
    if(OrderSelect(i,SELECT_BY_POS)==true)  {
      if(OrderSymbol()!=Symbol())     continue;
      if(OrderMagicNumber()!=123456)  continue;
      if(OrderType()>1)               continue;
      
      Last_price =OrderOpenPrice();
      return(Last_price);
    }
  }
}
работать должен. не проверял.
 

Спасибо вам, Vinin и rid . Я разобрался.

 
Подскажите пожалуйста, есть ли в MT4 инструмент по типу 2-х линий, первая бы показывала допустим 0, а вторая значение в пунктах или ценах от первой нулевой линии.
 

Здравствуйте, в совертнике пытаюсь сделать так, чтобы он открывал позицию buy при пересечении индикатором RSI линии LevelDown снизу вверх, причем внутри свечи пересечение не считается, только между ценами Close текущей и предыдущей свечек. Получившийся код привел ниже, но он открывает позиции не зависимо от того сформировалась ли свеча или еще нет, т.е. как только с очередным тиком RSI становится выше LevelDown открывается позиция, а надо по ценам закрытия. Подскажите пожалуйста, на что тут стоит обратить внимание? заранее спасибо.

      double redRSI  = iRSI(NULL, 0, PeriodRed, PRICE_CLOSE,0);         
      double redRSI_old  = iRSI(NULL, 0, PeriodRed, PRICE_CLOSE,1);         
      if ((redRSI >= LevelDown) && (redRSI_old <= LevelDown))
      {
           ticket=WHCOrderSend(Symbol(),OP_BUY,MyLots,Ask,3,SL,TP,"Buy",Magic,0,Blue);
           if(ticket < 0) 
           {
                 Print("Ошибка открытия ордера BUY #", GetLastError()); 
                 Sleep(10000);   
                 return (0); 
           }
      }   
         
 
cdover писал(а) >>

Здравствуйте, в совертнике пытаюсь сделать так, чтобы он открывал позицию buy при пересечении индикатором RSI линии LevelDown снизу вверх, причем внутри свечи пересечение не считается, только между ценами Close текущей и предыдущей свечек. Получившийся код привел ниже, но он открывает позиции не зависимо от того сформировалась ли свеча или еще нет, т.е. как только с очередным тиком RSI становится выше LevelDown открывается позиция, а надо по ценам закрытия. Подскажите пожалуйста, на что тут стоит обратить внимание? заранее спасибо.

Перейти к анализу не нулевого бара и первого, а первого и второго.

      double redRSI  = iRSI(NULL, 0, PeriodRed, PRICE_CLOSE,1);         
      double redRSI_old  = iRSI(NULL, 0, PeriodRed, PRICE_CLOSE,2);  
Но в советнике надо предусмотреть контроль открытия нового бара
 
Vinin писал(а) >>

Перейти к анализу не нулевого бара и первого, а первого и второго.

Но в советнике надо предусмотреть контроль открытия нового бара

Понял, т.е. у текущего бара, хоть он еще и не сформировался полностью, все равно уже есть цена close на текущий момент.. Спасибо!

 

Всем доброе время суток!


Подскажите плиз кто в теме - что такое "Внешние эксперты" и как они работают?

 
  • Помогите исправить код чобы открывал сделки каждый час.ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Спасибо!!!!!!!!!!!!
Файлы:
Причина обращения: