[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 93

 
coronel:

Ecco un consiglio.

C'è un bel trucco nell'editor: il suggerimento F1.

Evidenziate la funzione che volete eliminare e premete F1.

Si aprirà la guida, e dovreste studiare attentamente quali dovrebbero essere i parametri della funzione.

Non perdere la quantità e la qualità dei parametri inseriti nella funzione.


Grazie!
 
100yan:

Per favore, COME chiudere correttamente un ordine in parti in tempi diversi e una volta sola? Ho lottato per giorni...

https://www.mql5.com/ru/forum/131277/page69

Se il lotto della posizione dopo una chiusura parziale è più piccolo di quello prima della chiusura, e la barra in cui è avvenuta la chiusura parziale non è cambiata, allora non chiudere di nuovo. Questo è uno dei tanti modi per chiudere parte di una posizione "una volta" sulla barra corrente.

Tu definisci i tuoi criteri di chiusura di una posizione (una parte di una posizione), e noi ti aiuteremo se non sei sicuro.

 

Salve.

Potete dirmi come far apparire un avviso dopo un certo numero di minuti?

Vorrei usare Time[], ma non riesco a capirlo, quindi ho fatto così: Sleep(60000*step);.

Telaio di lavoro M1

extern int  step = 3;   // периодичность появления алерта мин.

static int        prevtime = 0;
//-------------------------------------------
int start()
  {
   if (Time[0] == prevtime) return(0);
   // Запомним текущий бар
   prevtime = Time[0];
//-------------------------------------

   Alert ("прошло ",step," мин.");
   
   //Sleep(60000*step);

//--------------------------------------
   return(0);
  }


 
Zar:

Salve.

Potete dirmi come far apparire un avviso dopo un certo numero di minuti nell'expo?

Vorrei usare Time[], ma non riesco a capirlo, quindi ho fatto così: Sleep(60000*step);.

Telaio di lavoro M1

 extern int  step = 3;     // периодичность появления алерта в мин.
 datetime  LastAlertTime;

//-------------------------------------
 int start()
  {
//-------------------------------------
       if(TimeCurrent() - LastAlertTime > step*60)
        {    
          Alert ("прошло ",step," мин.");
          LastAlertTime=TimeCurrent();  
        }
//--------------------------------------
   return(0);
  }
 
coronel:

Grazie, funziona.
 
artmedia70:

Se il lotto della posizione dopo la chiusura parziale è più piccolo di quello prima della chiusura, e la barra su cui è avvenuta la chiusura parziale non è cambiata, allora non chiudere di nuovo. Questo è uno dei tanti modi per chiudere parte di una posizione "una volta" sulla barra corrente.

Se definite i criteri per chiudere la posizione (la sua parte), vi aiuteremo se non siete sicuri.


+ sergeev - Grazie per il tuo feedback!

Il problema è descritto qui https://www.mql5.com/ru/forum/131277/page69 In breve, l'idea è di aprire un ordine e chiuderlo parzialmente quando vengono raggiunti certi livelli di TP. Il problema è che facciamo trading su M5 - M30 e l'ordine viene chiuso non su barre, ma su un periodo molto più lungo (D1, ecc.). Al raggiungimento di TP1 scatta il prametro di chiusura della 1a parte, ecc. Non riesco a trovare una soluzione su come identificare le parti per non chiudere l'intero ordine. (Il mio primo pensiero era di impostare TR1, ma in seguito il prezzo ha camminato e ha dato segnali di chiusura per altre parti...)

Grazie in anticipo!

 
100yan:


+ sergeev - Grazie per il tuo feedback!

Il problema è delineato qui https://www.mql5.com/ru/forum/131277/page69 In breve l'idea è di aprire un ordine, e chiuderlo in parti quando vengono raggiunti certi livelli di TP. Il problema è che facciamo trading su M5 - M30 e l'ordine non viene chiuso su barre, ma su un periodo molto più lungo (D1, ecc.). Al raggiungimento di TP1 scatta il prametro di chiusura della 1a parte, ecc. Non riesco a trovare una soluzione su come identificare le parti per non chiudere l'intero ordine. (Il mio primo pensiero è stato quello di impostare TR1, ma in seguito il prezzo ha camminato e ha dato segnali di chiusura per altre parti...)

Grazie in anticipo!

Creare bandiere, ad esempio

Per TP1 - bool TP1, per TP2 - bool TP2, ecc...

Inizialmente i loro valori sono falsi.

Prima di un'altra chiusura, si fa un controllo:

if (!TP1) {codice per la chiusura parziale della prima parte, dopo una chiusura riuscita scrivere TP1=true}

if (!TP2) {codice per chiudere parzialmente la seconda parte, dopo una chiusura riuscita scrivere TP2=true}

... e così via per tutte le parti...

così le bandiere segnaleranno che ogni parte è già stata chiusa una volta...

 
Come ottengo il valore di chiusura della barra 3 da zero?
 
ScioMe:
Come ottengo il valore di chiusura della barra 3 da zero?
  double Bar3Close = iClose(NULL,0,3);   
 
Grazie, puoi fare così: Close[3]?
Motivazione: