unbalanced parantheses - страница 6

 
TarasBY:

А Вы поставьте параллельно с озвученной задачей ещё и научится действовать рационально. Код в обеих упомянутых функциях идентичен за исключением ОДНОЙ строки - эта строка фильтр по типу ордеров. А значит, целесообразно сделать проверку одной функцией. По крайней мере, в данном скрипте.

P.S. Учиться трудно, а переучиваться ПОЧТИ НЕ ВОЗМОЖНО... ;)))


Согласна :))
 

Пока TarasBY не видит - вот так для двух Кимовских функций ;))) Но это просто для понимания, как скобки расставить. Но буду конечно использовать одну от TarasBY. Спасибо ему большое!

УФФФФ - Можно пойти полопать чего-нибудь. :)

int start()
 { 
//----
     if(!ExistPositions()){

             if(!ExistOrders()){

                  ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+40*Point,Bid-40*Point,"",magic,0,Red);  
                              }
     
                           }
//----
   return(0);
}
 
liana:

Пока TarasBY не видит - вот так для двух Кимовских функций ;))) Но это просто для понимания, как скобки расставить. Но буду конечно использовать одну от TarasBY. Спасибо ему большое!

УФФФФ - Можно пойти полопать чего-нибудь. :)

В Вашем варианте ордер не откроется, ПОКА в терминале будет хотя бы один (по любому инструменту) ордер. Мне кажется, Вы не этого добивались?! :)

Если вообще Вы **го-нибудь добиваллись... ;)))

 
int start()
 { 
//----
     if(!ExistPositions(Symbol(), -1, magic)){

             if(!ExistOrders(Symbol(), -1, magic)){

                  ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+40*Point,Bid-40*Point,"",magic,0,Red);  
                              }
     
                           }
//----
   return(0);
}

Добивалась, добивалась.

 

А могу я в вашем варианте добавить еще else return?

И ещё вопрос - что означает восклицательный знак в начале? (!ExistOrders ()) Потому что когда я его убрала ради любопытства - работает точно так же.

int start()
{ 
//----
    if (!ExistOrders (Symbol(), -1, magic))
    {ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+20*Point,Bid-40*Point,"",magic,0,Red);}
    else 
    {return(0);}
    
//----
   return(0);
}	
 
liana:


И ещё вопрос - что означает восклицательный знак в начале? (!ExistOrders ())


https://docs.mql4.com/ru/basis/operations/bool
 

if(!a) Print("не 'a'");

А если его убрать - то будет Print(" 'a' "); ?

То есть если так if (!ExistOrders (Symbol(), -1, magic)) - ордера не существуют,

а так if (ExistOrders (Symbol(), -1, magic)) - ордера существуют ? Верно ?

 

если написать

bool a = false;

if(!a){
   Print("НЕ а");
}else{
   Print("Таки да - а");
}

То есть такая запись равноценна

if(a==false){}
или
if(a!=true){}

Да

 

Уточните можно так?

if(a){
   Print("а");
if (ExistOrders (Symbol(), -1, magic))
 
liana:

Уточните можно так?

if(true) Alert("истина");
if(!true)Alert("ложь");
Причина обращения: