[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 414

 
OlegArH:

Друзья, добрый день!

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

Но воплотить не хватает познаний.

Если не затруднит, опишите, пожалуйста, пример советника который, если его скомпилировать, только и делает что открывает один за одним, например, BuyStop на 100 минут на расстоянии 50 пунктов от текущей цены SL=50, TP=100 на eur/usd при любых тамфреймах.

Заранее благодарю!

еще пример
Файлы:
temp_3.mq4  4 kb
 
чо та не работает висит и все
 
emotraid:
чо та не работает висит и все

)

на оптимизацию ставь

;)

 
costy_:

я думал и так все ясно


Спасибо!
 
costy_:
еще пример
Большое спасибо!!!
 

Объясните пожалуйста про оператор return(-1); вызываемый в теле функции start() - что это дает?

Ведь return(0); это тоже самое или нет? Результат вроде не передается никуда.

Зачем тогда так пишут:

int start()
  {
  if(a == b)return(-1);
  
  return(0);
  }
 
fore-x:

Объясните пожалуйста про оператор return(-1); вызываемый в теле функции start() - что это дает?

Ведь return(0); это тоже самое или нет? Результат вроде не передается никуда.

Зачем тогда так пишут:

пишите void start()

и return не нужен ))

зачем, хезнает!

 
costy_:
чувствую сами не разберетесь

А как сделать, чтобы все условия проверялись по порядку: сначала условие_1, затем условие_2, а только потом условие_3. А не так (какое условие совпало, то и выполнилось не по порядку)? И когда все условия выполнены по порядку, то открыть рыночный ордер на продажу. Так правильно будет?

bool Val_max=true;
bool Cl_dn=true;
bool Val_min=true;
void start()
  {
      if(Val_max==true)
         if(условие_1)
         {
           Alert("Значение инд. >= 1.0000 (исп. 1-е усл.)");
           Val_max=false;                                       //заглушка
         }
      if(Cl_dn==true && Val_max==false)
         if(условие_2)
         {
           Alert("1 бар закрылся падением (исп. 2-е усл.)");
           Cl_dn=false;                                         //заглушка
         }
      if(Val_min==true && Val_max==false && Cl_dn==false)
         if(условие_3)
         {
           Alert("Значение инд. <= 0.9980 (исп. 3-е усл.)");
           Val_min=false;                                       //заглушка
         }
      if(Val_max!=true && Cl_dn!=true && Val_min!=true)
         {
           Val_max=true;
           Cl_dn=true;
           Val_min=true;      
         }   
//----
   return(0);
  }
 
fore-x:

Объясните пожалуйста про оператор return(-1); вызываемый в теле функции start() - что это дает?

Ведь return(0); это тоже самое или нет? Результат вроде не передается никуда.

Зачем тогда так пишут:

Процедура это функция возвращаемое значение которой не используется.

return часто печатается для понтов и его можно смело выкидывать.

В приведенном примере возвращаемое значение можно использовать: Alert(init());

 
kolyango:

А как сделать, чтобы все условия проверялись по порядку: сначала условие_1, затем условие_2, а только потом условие_3. А не так (какое условие совпало, то и выполнилось не по порядку)? И когда все условия выполнены по порядку, то открыть рыночный ордер на продажу. Так правильно будет?

да.