Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 10

 
Chiripaha:

No, non è più facile. Perché se ci fosse un flag negativo (o una variabile globale), il controllo deve ancora essere eseguito. Sia il flag che la variabile globale funzionano solo nel caso positivo. E alcune funzioni sono ancora necessarie all'inizio (anche se qui è diverso).

In qualsiasi modo la si guardi, lo startup deve comunque essere eseguito: o attraverso la riproduzione di "inite", che è altrettanto fastidiosa, o attraverso la riproduzione delle funzioni richieste.


Stai facendo qualcosa di così complicato che è quasi impossibile da comprendere...

Ditemi, qual è la differenza tra la restituzione di un valore da parte di una funzione, o una variabile globale che cambia nella funzione, il cui risultato deve essere restituito? In questo caso "inite".

 

Colleghi, qual è l'errore?

//========================================================================================================//     
                                             //---- SELL ----//
//========================================================================================================//

if(OrdS<=OrederSell) 
  { //----- start

if(.........)
  
{ticketSell=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,0,magick,0,Blue);OrdS++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketSell2=OrderSend(Symbol(),OP_SELL,0.2,Bid-20*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketSell3=OrderSend(Symbol(),OP_SELL,0.4,Bid-40*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
}
 
  } //-----end
          
//========================================================================================================//  
                                             //---- BUY ----//
//========================================================================================================//  

if(OrdB<=OrederBuy)
  { //-----start

if(.........)

{ticketBuy=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,0,magick,0,Red);OrdB++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketBuy2=OrderSend(Symbol(),OP_BUY,0.2,Ask+20*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketBuy3=OrderSend(Symbol(),OP_BUY,0.4,Ask+40*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
}

Ho già controllato nel forum l'errore 130/138, ma ancora non capisco perché gli ordini aggiuntivi 2 e 3 non si aprono. Solo i principali.

 
NORMALIZZAZIONE
 
Fox_RM:

Colleghi, qual è l'errore?

Ho già controllato nel forum l'errore 130/138, ma ancora non capisco perché gli ordini aggiuntivi 2 e 3 non si aprono. Solo i principali.

Collega, vuoi aprire ordini di mercato non a prezzo di mercato... :)
E non fa male capire la differenza tra ordini limite (SELLLIMIT e BUYLIMIT) e ordini stop (SELLSTOP e BUYSTOP).

 
TarasBY:
Collega, vuoi aprire ordini di mercato non al prezzo di mercato... :)

E infatti
 
Buon pomeriggio. Ci sono due punti con coordinate (x1,y1) e (x2,y2). Come posso usare questi due punti per costruire una funzione logaritmica con una base logaritmica diversa da quella naturale? Sembra che io debba usare la funzione inversa(MathPow), ma non riesco a capire come renderla diagonale. Se qualcuno l'ha affrontato, per favore consigliatelo. Grazie in anticipo.
 
hoz:

Quindi non c'è fine al ciclo, ecco perché è in stallo.

Qual è il modo giusto per finirla?
 
Chiripaha:

No, non è più facile. Perché se ci fosse un flag negativo (o una variabile globale), il controllo deve ancora essere eseguito.

Non sono tutti uguali.

Chiripaha:

Sia la bandiera che il globale saranno attivati solo nel caso positivo. E alcune funzioni sono ancora necessarie in Start (anche se qui è diverso).

Se c'è un'interruzione di connessione o qualcosa del genere, la bandiera assumerà un significato diverso. Dovete decidere come creare le condizioni giuste per farlo.
 
Krokus:

Qual è il modo giusto per finirla?
Va più o meno così:
int i, countedBars = IndicatorCounted();
        
    for(i = Bars - countedBars;i > 0;i--)
    {
      pointOfMaFirst = iMA(Symbol(),maTF,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack1);
      pointOfMaLast = iMA(Symbol(),0,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack2);    
    }
 
TarasBY:

Collega, vuoi aprire ordini di mercato non al prezzo di mercato... :)
Sarebbe anche utile capire la differenza tra ordini limite (SELLLIMIT e BUYLIMIT) e ordini stop (SELLSTOP e BUYSTOP).


Posso chiederle cosa intende per non a prezzo di mercato? Con SELLLIMIT e BUYLIMIT, tutto è corretto.