Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 822

 
nikelodeon:

Вопрос по коду....

 Как сделать так чтобы цикл выполнялся столько чему равна переменная num????

Есть какиенибудь соображения??? 

так  num же меняется во время выполнения цикла. какое из значений нужно брать для количества повторения цикла?
 

если нужно пока  num не равна нулю то можно иcпользовать while.


num = 1;
while (num != 0){
 if(Close[z+1]<Close[z+3]) {num=num+1;
         
                           } else  {num=0;}
 }
 
ЛАдно, уже не требуется.... Вроде как справился.....
 
fedor9932:
Спасибо, посмотрю.
 

как выстовить рыночный ордер?

void OnStart()
  {
//---

                                          // Открытие BUY
   OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
   return;                                  

   }


Выдает предупреждение return value of 'OrderSend' should be checked 

 
sirurik:

как выстовить рыночный ордер?


Выдает предупреждение return value of 'OrderSend' should be checked 

Ну так проверку организовать надо, хотя бы так:

void OnStart()
  {
//---

                                          // Открытие BUY
      if(OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point)<1)
      Print("Попытка торговать завершилась ошибкой №", GetLastError());
   }
 

незнаю правильно или нет,  но скрипт работает.

int OnStart()                     // Вместо Void int
  {
//---

                                          // Открытие BUY
   int check =OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-150*Point,Bid+150*Point);               //добавил переменную int check= ; поменял стоп лосс и теик с 15 на 150 так как брокер пятизначный
   return(check);                                                                                                                       //return добавил check

   }

что реально поменяли в билде 600+ нигде не могу наити. И как адаптировать к новому Metaeditor  тоже. Может у кого есть информация по поводу адаптации старого MQL4 к новому? прошу поделиться)

 
sirurik:

незнаю правильно или нет,  но скрипт работает.


что реально поменяли в билде 600+ нигде не могу наити. И как адаптировать к новому Metaeditor  тоже. Может у кого есть информация по поводу адаптации старого MQL4 к новому? прошу поделиться)

Можно и так для скрипта.

Реально добавили структуры, классы и другое ООП. Также спецфункции отдельных типов для разных типов программ, раньше была int start() для всех типов, теперь void (можно int) OnStart() - для скриптов, void  OnTick() - для советников, int OnCalculate() - для индикаторов. Ну и много чего ещё по мелочи в синтаксисе, что можно использовать, а можно и не использовать и пользоваться старым написанием.

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

 
Подскажите, пожалуйста, поддерживает ли МТ4 режим работы с двумя мониторами?
 
Ребят подскажите, почему 4202 выдаёт (Объект не существует). Правильно что не существует его создать надо, а он мне (не существует)! Чего можно с ним сделать? Или я где-то опять накосячил?
//+------------------------------------------------------------------+
 bool ArrowDownCreate()
 {
       if(!ObjectCreate(ChartID(),"Продажа",OBJ_ARROW_DOWN,0,SignalBarsTime,Hi2))
          {
            Print(__FUNCTION__,
                ": не удалось создать знак \"Стрелка вниз\"! Код ошибки = ",GetLastError());
              return(false);
          }
        ObjectSet("Продажа",OBJPROP_ANCHOR,ANCHOR_BOTTOM);
        ObjectSet("Продажа",OBJPROP_COLOR,Red);
        ObjectSet("Продажа",OBJPROP_WIDTH,5);

     return(true);
 }
//+------------------------------------------------------------------+
 bool ArrowUpCreate()
 {
       if(!ObjectCreate(ChartID(),"Покупка",OBJ_ARROW_UP,0,SignalBarsTime,Lo2))
          {
            Print(__FUNCTION__,
                ": не удалось создать знак \"Стрелка вверх\"! Код ошибки = ",GetLastError());
              return(false);
          }
        ObjectSet("Покупка",OBJPROP_ANCHOR,ANCHOR_TOP);

        ObjectSet("Покупка",OBJPROP_COLOR,Green);

        ObjectSet("Покупка",OBJPROP_WIDTH,5);

     return(true);
}
//+------------------------------------------------------------------+
Причина обращения: