Come codificare? - pagina 281

 

Proprietà EA

Ho una domanda a cui qualcuno potrebbe aver trovato una risposta. Ho notato che alcuni EA non visualizzano la finestra delle proprietà una volta caricati su un grafico e alcuni EA impiegano diversi passaggi prima che la finestra delle proprietà appaia, mentre con altri EA la finestra delle proprietà appare subito. Questo succede indipendentemente dal modo in cui provo ad accedere alle proprietà degli EA - click destro su Expert Advisors e poi proprietà / click sinistro sulla faccina sorridente o F7. Mi ha lasciato perplesso, ma probabilmente c'è una risposta ovvia a questo che non conosco. Grazie per qualsiasi chiarimento su questo.

Saluti CJA

 

Prova questo

ObjectDescription( nome della stringa)

Restituisce la descrizione dell'oggetto. Per gli oggetti di tipo OBJ_TEXT e OBJ_LABEL, verrà restituito il testo disegnato da questi oggetti.

 

ha funzionato

Grazie mille! Ha funzionato. Tutorial e aiuti orribili per mql!

 
g.pociejewski:
[Sono un autore. Ho allegato il file mq4 per Avasys. Non chi cambiare nel codice funzione isGoodTime. Nel mio terminale funziona. Avasys perché sei così nervoso? Se hai problemi contattami invece di parlarne sul forum[/lang].

Ho capito

EA funziona bene

grazie

 

Aiuto S&P500

Ciao a tutti. Sono abbastanza nuovo nella programmazione di Metatrader (solo un mese o due), ma ho programmato in NinjaTrader per circa 4-5 anni. Ho una semplice strategia che fa trading su S&P, Light Sweet Crude, e EURUSD che ho adattato per funzionare su MT4. A parte qualche piccola modifica, è finita. Funziona perfettamente su EURUSD e Crude, così come su qualsiasi coppia di forex su cui la metto per i test. Il problema è sullo S&P. Immagino che abbiate bisogno di un po' di background sulla strategia perché il problema abbia senso. Si tratta di una strategia di breakout a tempo piuttosto semplice. Calcola il massimo e il minimo di un certo periodo di tempo, e quando una barra si chiude sopra o sotto questo punto prende un trade (lungo se sopra, corto se sotto). Quindi supponiamo che chiuda sopra e vada lungo. Se una barra chiude sotto il minimo, chiude il long e va short a 2x la dimensione del lotto e cerca di recuperare tutto ciò che ha perso e l'obiettivo originale. Continua ad invertire fino a quando uno dei due target viene finalmente colpito, o ha invertito x quantità di volte (che è impostata da una variabile esterna). Ora, tutto, per quanto posso dire, funziona bene. Prende il trade e raddoppia come dovrebbe e quando colpisce il target ha recuperato tutte le sue perdite e anche il target originale. Sullo S&P invece, ogni tanto, quando colpisce il target, è praticamente in pareggio. Recupera più o meno quello che ha perso, ma non realizza alcun profitto. Il modo in cui ho questo nel codice è che memorizza il valore del punto del target in una variabile doppia chiamata slip. Quando inverte, dopo aver chiuso il trade, prende il prezzo di apertura - il prezzo di chiusura (se lungo) o il prezzo di chiusura - il prezzo aperto (se corto) e lo aggiunge a slip, poi divide slip a metà. Nel codice: slip = (slip + (OrderOpenPrice() - OrderClosePrice()))/2; poi lo arrotonda in modo che sia un prezzo utilizzabile. Dato che lo S&P si muove con incrementi di .25, NormalizeDouble non funzionerà su di esso, quindi il mio lavoro consiste nel convertirlo in ticks, poi normalizzarlo in modo che sia un intero, quindi ritrasformarlo in un valore a punti. Nel codice:

slip = NormalizeDouble((slip / point), 0);

slip= NormalizeDouble((slip* point), Digits);

Quindi sapete, point è una variabile che = Point o se è su S&P = 0.25 (dato che S&P si muove in incrementi di .25, ma il mio broker almeno riporta Point come .01)

Credo che il problema dovrebbe essere in quei 2 piccoli pezzi di codice perché il target è OrderOpenPrice() + slip (se lungo). Qualsiasi pensiero o suggerimento sarà MOLTO apprezzato.

 

Indicatore su array

Sto cercando una soluzione per applicare gli algoritmi degli indicatori su array di prezzi.

In MQL4 alcuni indicatori hanno questa funzione, come ad esempio: iCCIOnArray, iBandsOnArray...

Ma gli indicatori come ADX non hanno tale funzione.

Qualcuno ha idea di come posso applicare il calcolo dell'indicatore su un array predefinito (non dal server delle quotazioni)?

 

Significato della funzione IsTradeAllowed()

Salve,

Ho scritto un ea che ha le seguenti linee di codice nella sua funzione di avvio:

if(IsTradeAllowed()==false)

{

Alert("You have to activate your ea first or there is a disconnection between the server connection!");

return;

}

Ora è a volte il problema, che ottengo questo messaggio di errore prima di voler aprire o chiudere un trade con questo ea.

L'ea è attivato e la connessione internet esiste.

Come può accadere questo?

 

BISOGNO DI AIUTO!!! CCI esce se il valore è inferiore al valore precedente... aiutatemi pls!!!!!

Ciao, sono nuovo di expert advisor,

Sono nuovo di expert advisor. posso sapere come impostare un'uscita se il valore corrente del CCI è inferiore/superiore al valore precedente?

if(iCCI(NULL,0,7,PRICE_TYPICAL,0)>iCCI(NULL,0,7,PRICE_TYPICAL,1)) ?

Ho davvero bisogno di aiuto qui!

 
sunshineh:
Ciao,

Ho scritto un ea che ha le seguenti righe di codice nella sua funzione di avvio:

if(IsTradeAllowed()==false)

{

Alert("You have to activate your ea first or there is a disconnection between the server connection!");

return;

}

Ora il problema è che a volte ottengo questo messaggio di errore prima di voler aprire o chiudere un trade con questo ea.

L'ea è attivato e la connessione internet esiste.

Come può accadere questo?!?!!

Sembra che il tuo codice, controlla qui per una risposta

Errore 146 ("Trade context busy") e come gestirlo - Articoli MQL4

 
calvin1006:
Ciao,

Sono nuovo di expert advisor. posso sapere come impostare un'uscita se l'attuale valore CCI è inferiore/superiore al valore precedente?

if(iCCI(NULL,0,7,PRICE_TYPICAL,0)>iCCI(NULL,0,7,PRICE_TYPICAL,1)) ??

Ho davvero bisogno di aiuto qui!

Provate qualcosa come

if(iCCI(NULL,0,7,PRICE_TYPICAL,0) != iCCI(NULL,0,7,PRICE_TYPICAL,1)) ??

Motivazione: