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

 

VladimirR:

Ma quando si verifica un'uscita dal ciclo rimane un "giorno in più". E come risultato verrà stampata la risposta sbagliata.


In quanto è necessario sapere esattamente per quale motivo si è verificata l'uscita - giorno o TwoFarm. Allora lo farai bene.
 
rustein:

Aiuta a risolvere il problema se gli ordini si aprono con SL, e se ci sono due ordini opposti, per il secondo rimuove SL.... ma questo non è necessario

Che cosa vuoi?
 

Ho bisogno che tracci tutti gli ordini aperti, ma per qualche ragione se ci sono 2 ordini aperti, cancella SL sull'ultimo subito dopo l'apertura...

E dovrebbe cestinare tutti gli ordini quando il valore dell'indicatore è superiore a OrderOpenPrice() per Buy e inferiore per Sell.

 
rustein:

Ho bisogno che tracci tutti gli ordini aperti, ma per qualche ragione se ci sono 2 ordini aperti, cancella SL sull'ultimo subito dopo l'apertura...

E dovrebbe cestinare tutti gli ordini quando il valore dell'indicatore è superiore a OrderOpenPrice() per Buy e inferiore per Sell.


hai dimenticato di aggiungere i controlli per Up e Dn (per analogia)
Up>0 && Up!=EMPTY_VALUE
 
sergeev:
hai dimenticato di aggiungere i controlli per Up e Dn (per analogia)
...Grazie )
 
granit77:
Passa attraverso tutti gli oggetti del grafico, trova un oggetto chiamato lbl, tira fuori la stringa FXRanger: Risk:Reward=x.xxx, analizzala e converti x.xxx in doppio.
Per favore, spiega cosa significa "parsing" e, se non è difficile, come organizzare un'enumerazione di oggetti. Posso ordinare, ma non ho ancora avuto a che fare con gli oggetti.
 
DhP:

Dov'è il materiale di partenza?
Cosa ho attaccato? Non c'è altro, questo file è stato inserito negli indicatori e funziona
 
demlin:
Cosa ho incollato? Non c'è altro, ho incollato questo file negli indicatori e funziona

Non hai allegato il file sorgente con estensione mq4, ma un eseguibile compilato con estensione ex4.

 
demlin:
Per favore, spiega cosa significa "parsing" e, se non è difficile, come organizzare l'enumerazione degli oggetti. Posso gestire gli ordini, ma non ho ancora avuto a che fare con gli oggetti.
Credo che durante la ricerca tra gli oggetti, dobbiamo trovare la Label richiesta e mettere il suo testo in una variabile stringa usando la funzione ObjectDescription().
Successivamente, "analizziamo" la stringa risultante, cioè analizziamo ed estraiamo da essa le informazioni di cui abbiamo bisogno. Usiamo le funzioni stringa StringFind(), StringLen(), StringSubstr()
per trovare la posizione del carattere "=" nella stringa "FXRanger::Risk:Reward=x.ххх" e mettere la parte della stringa che lo segue (х.ххх) in un'altra variabile stringa. Poi usate la funzione StrToDouble() per convertire la stringa nel numero che state cercando.

   int obj_total=ObjectsTotal();
   string name;   
   string myname="lbl";
   string mytext;
   
   for(int i=obj_total+1;i>-1;i--){
     name=ObjectName(i);   
     if(StringFind( name,myname,0)>-1){
       mytext=ObjectDescription(name);  
     }
   }
//далее парсим строку mytext
P.S.
Questo ballo è necessario perché l'indicatore emette dati in oggetti, non in buffer, e iCustom non può essere applicato. E se non avete il codice dell'indicatore, non potete cambiare nulla al suo interno.
 

https://www.mql5.com/ru/code/10272

Buon pomeriggio. Per favore, aiutatemi a capire i buffer dell'indicatore allegato. Come scrivere nel codice dell'esperto le condizioni all'apertura, al cambio di colore...Grazie.