CustomFunctions.mq4 ????

4 risposte

Mike H.

Abbonato, bbp_partecipante, comunità, 76 risposte.

Visita il profilo

10 anni fa #111633

Nella procedura guidata dell'EA - Regole di trading - Finestra di dialogo delle condizioni - Funzioni (17) - Funzione personalizzata - Descrizione (sotto), spiega: Richiama la propria funzione. È possibile specificare qui qualsiasi comando MQL o chiamare una funzione MQL personalizzata definita nel file /code/CustomFunctions.mq4. L'utente è responsabile del confronto della funzione con i tipi corretti. Ho quello che penso sia una funzione:
double profit() {
   OrdineSelezione (NULL,0);
   double profit = OrderProfit() + OrderSwap() + OrderCommission()
   rendimento (profitto);
}

Sono un principiante, ed è per questo che ho acquistato l'EA Wizard. Conosco un po' la scrittura del codice. So come scrivere semplici indicatori personalizzati. Non so nemmeno se il formato di cui sopra sia una funzione utilizzabile con EA Wizard.

Come posso inserire la funzione di cui sopra in /code/CustomFunctions.mq4?
Devo semplicemente sostituire il codice in /code/CustomFunctions.mq4 con il codice qui sopra, poi rinominare il file .mq4, tenerlo nella cartella /code e l'EA Wizard lo troverà lì? Nella sezione Proprietà della finestra di dialogo Aggiungi condizione, dopo Funzione, digito il nome del file della funzione. Dopo Function, devo semplicemente dare un nome al file e l'EA Wizard lo troverà nella cartella /code? Devo semplicemente digitare OrderProfit()+OrderSwap()? Come si utilizza una funzione personalizzata?

 

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

10 anni fa #122750

Salve,

 

si può aprire il file {EA Wizard}/code/CustomFunctions.mq4 e aggiungere la propria funzione alla fine di questo file.

Successivamente, la vostra funzione verrà inserita nel codice di ogni EA generato dal programma, in modo che possiate utilizzarla.

 

 

Ma la funzione descritta è probabilmente errata, non sono sicuro che si possa chiamare OrderSelect in questo modo.

E manca un ; alla fine del calcolo del profitto.

 

La funzione corretta sarebbe qualcosa di simile a:

 

double profit() {
  doppio profitto = 0;
 
  per (int cc = OrdersTotal() - 1; cc >= 0; cc-) {
    se (!OrderSelect(cc, SELECT_BY_POS) ) continuare;
 
    profitto = OrderProfit() + OrderSwap() + OrderCommission();
    pausa;
  }
 
  ritorno(profitto);
}

 

 

 

 

È quindi possibile utilizzare questa funzione nelle chiamate di funzione personalizzate. Basta chiamare la funzione con il suo nome, senza usare il nome del file.

 

È possibile richiamarlo nelle condizioni utilizzando una funzione personalizzata, dove la funzione è: profit()

o nelle azioni per memorizzare il profitto in una variabile, come il comando Azione personalizzata: ProfitVariable = profit();

 

Ma EA Wizard contiene già funzioni che restituiscono il profitto aperto o chiuso di un'operazione, e restituiscono il valore del profitto netto (senza swap o commissioni).

Queste funzioni si trovano nella casella di riepilogo Controllo strategia.

 

Marchio

Marchio
Architetto StrategyQuant

0

Mike H.

Abbonato, bbp_partecipante, comunità, 76 risposte.

Visita il profilo

10 anni fa #122761

Grazie Mark,

       Lo userò la prossima settimana. Voglio vedere se il mio indicatore personalizzato in cui ho inserito la funzione funzionerà venerdì. Più tardi...

0

Mike H.

Abbonato, bbp_partecipante, comunità, 76 risposte.

Visita il profilo

10 anni fa #122771

Il mio indicatore personalizzato in cui è stata utilizzata la funzione OpenProfit ha funzionato molto bene. Ha anche calcolato lo swap.

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

10 anni fa #122795

Sono contenta che abbia funzionato 🙂

Marchio
Architetto StrategyQuant

0

Stai visualizzando 4 risposte - da 1 a 4 (di 4 totali)