Come codificare? - pagina 262

 

Come aggiungere un allarme al mio EA Trailing Stop preferito

Ehi ragazzi ho lavorato su questo per ore e non riesco a farlo funzionare il mio preferito Trailing stop EA può qualcuno per favore aiutare

Tutto quello che voglio fare è aggiungere un allarme che penso sia solo l'aggiunta di una linea

Playsound("file") linea?

e

forse

extern bool UseSound = True;

extern string NameFileSound = "expert.wav";

allo script dell'interfaccia utente ????

Ci sto provando, ma non so ancora molto, qualcuno può aiutarmi o cambiarlo sull'ea e poi lo confronterò con l'originale e lo saprò per il futuro?

File:
trailme1.mq4  18 kb
 
 

Come fissare i decimali visualizzati?

Salve,

Sto sviluppando un EA e ho un problema di visualizzazione.

stringa temp = "Signals\n";

temp = temp + "--------------------------------------\n"

+ "Up_Op " + UpSignalOpen + "\n" <- l'output di esempio è 0.12345000000

+ "Up_Cl " + UpSignalClose + "\n" <- l'uscita di esempio è 0.12345000000

+ "------------------------------------------------\n"

+ "Dn_Op " + DnSignalOPen + "\n" <- l'uscita di esempio è 0.12345000000

+ "Dn_Cl " + DnSignalClose + "\n" <- l'uscita di esempio è 0.12345000000

+ "--------------------------------------\n";

Comment(temp);

Vorrei scoprire come specificare il numero di cifre a destra del punto decimale (preferibilmente 5) e anche aumentare la dimensione del carattere in modo che sia più grande del default di MT4 ?8 punti a 12 punti.

È fattibile?

Qualsiasi aiuto è apprezzato.

 

# Cifre

Usate DoubletoSTR(double,#Digits) per specificare il numero di cifre a destra della posizione decimale.

Invece di usare Comment, usate ObjectCreate & ObjectSet. Puoi mettere del testo ovunque sullo schermo e impostare il carattere, la dimensione del carattere e il colore. Cerca alcuni indicatori Dashboard da usare come guida.

Saluti

 

Come fissare i decimali visualizzati?

Tzuman, grazie mille per questa risposta. Ho visto ObjectCreate e ObjectSet da qualche parte - andrò a cercare nella mia libreria. Molto apprezzato. Spero solo di essere all'altezza di farlo

Usa DoubletoSTR(double,#Digits) per specificare il numero di cifre a destra del decimale.

Invece di usare Comment, usa ObjectCreate & ObjectSet. Puoi mettere del testo ovunque sullo schermo e impostare il carattere, la dimensione del carattere e il colore. Cerca alcuni indicatori Dashboard da usare come guida.

Saluti

stringa temp = "Signals\n";

temp = temp + "--------------------------------------\n"

+ "Up_Op " + UpSignalOpen + "\n" <- l'output di esempio è 0.12345000000

+ "Up_Cl " + UpSignalClose + "\n" <- l'uscita di esempio è 0.12345000000

+ "------------------------------------------------\n"

+ "Dn_Op " + DnSignalOPen + "\n" <- l'uscita di esempio è 0.12345000000

+ "Dn_Cl " + DnSignalClose + "\n" <- l'uscita di esempio è 0.12345000000

+ "--------------------------------------\n";

Comment(temp);

Vorrei scoprire come specificare il numero di cifre a destra del punto decimale (preferibilmente 5) e anche aumentare la dimensione del carattere in modo che sia più grande del default di MT4 ?8 punti a 12 punti.

 

Ciao Newton

Non preoccuparti, sono sicuro che sei all'altezza. Ecco una piccola subroutine che uso per stampare il testo sullo schermo

void Create_Object(string OName,string OText,string OFont, color OColor,int OCorner,int XPosition,int YPosition)

{

ObjectCreate(OName, OBJ_LABEL, 0, 0, 0);

ObjectSetText(OName,OText,9, OFont, OColor);

ObjectSet(OName, OBJPROP_CORNER, OCorner);

ObjectSet(OName, OBJPROP_XDISTANCE, XPosition);

ObjectSet(OName, OBJPROP_YDISTANCE, YPosition);

return(0);

}

Usandolo si risparmiano 5 chiamate. Con esso puoi impostare le tue informazioni in qualsiasi punto del grafico. Nota che corner=0 è l'angolo superiore sinistro e corner=1 è l'angolo superiore destro. Quando usate l'angolo destro, l'xposition identifica il numero di spazi da mettere dopo la vostra stringa al margine destro. Se specifichi 0 o un numero negativo la stringa non verrà stampata. Se l'angolo = 0 allora gli spazi vengono messi prima della stringa che volete stampare. Metti stringhe costanti come "Signals" o "------------------" nelle chiamate nella tua subroutine Init per minimizzare il tempo di cpu e metti variabili che cambiano ad ogni tick in DoubletoStr(x,5); nella tua subroutine Start. Inoltre potete testare per vedere se la variabile è minore o maggiore di zero e impostare una variabile di colore uguale a Rosso se negativo o Verde se positivo.

Ecco una chiamata che uso:

colore c;

if(Profit<0) c=Rosso; altrimenti c=Lime;

Create_Object("Profita",DoubleToStr(Profit,2), "Arial Black",c,1,5,ypos+yline*15); yline++;

Uso ypos per impostare la prima linea di partenza. Se voglio cambiarla, cambio ypos una volta e tutte le chiamate si adattano automaticamente. yline è un contatore di linee così posso inserire un'altra linea e non devo cambiare tutte le chiamate successive.

Inoltre non dimenticate che potete usare il carattere Wingdings e stampare le frecce in alto in verde e quelle in basso in rosso per segnalare le tendenze ecc. Fate una ricerca per wingdings nel navigatore di MQ4 e vedrete tutti i simboli disponibili. Per stampare un simbolo, per esempio una freccia verso il basso, usate CharToStr(234) dove 234 è il numero del carattere wingdings.

Buona Fortuna

Tzuman

 

Molte, molte grazie ancora per questo. Sono andato a letto e non ho potuto ringraziarvi prima. (Sono in NZ) Proverò questo

 

Come controllare i numeri magici delle posizioni aperte

Ciao ragazzi,

Ho bisogno del vostro aiuto di codifica. Ho diverse posizioni aperte da diversi EA con numeri magici unici.

Ora voglio far controllare ad ogni EA se l'EA vuole aprire una nuova posizione per controllare se c'è già una posizione aperta con un dato numero magico.

Come può aiutare?

Bset saluti,

 

Un indicatore può disegnare in due sottofinestre?

Ciao codificatori ed esperti di programmazione

Ho una semplice domanda:

E' possibile codificare un indicatore che apra e disegni i dati in uscita in due sottofinestre quando viene trascinato su un grafico?

Ho provato a trovare una soluzione in diversi manuali e forum di MQL4 ma senza fortuna.

Se sapete che è possibile, fatemelo sapere, e se potete collegarvi ad un manuale su come farlo è ancora meglio.

Grazie,

Tomas

 
File:
ddm.jpg  141 kb
ddm.mq4  7 kb