Aiuto per la codifica - pagina 226

 

Cari grandi programmatori,

vi prego di aiutarmi a modificare questo Ea per rendere la possibilità di aprire solo l'ordine di acquisto o solo di vendita all'inizio di ogni ciclo.

Scusate il mio inglese.

Grazie

Mark010breakouthedge.mq4

File:
 
Mark010:
Cari grandi programmatori,

per favore aiutatemi a modificare questo Ea per rendere la possibilità di aprire solo l'ordine di acquisto o solo di vendita all'inizio di ogni ciclo.

Scusa per il mio inglese.

Grazie

Mark010breakouthedge.mq4

Mark010

Hai il codice sorgente originale? Questo è un codice decompilato e dubito che otterrai aiuto con modifiche al codice decompilato

 

Non ce l'ho.

Grazie comunque

 
mladen:
elcomepips Ecco a te

Ciao mladen,

Ho visto che hai codificato molto bene. Quali buffer devo importare con iCustom() per farne un EA. Voglio solo sapere se devo andare long o short.

Grazie in anticipo.

 
arroganzmaschine:
ciao mladen,

Ho visto che l'hai codificato molto bene. Quali buffer devo importare con iCustom() per farne un EA. Voglio solo sapere se devo andare long o short.

Grazie in anticipo.

arroganzmaschine

Puoi usare il buffer 2 per questo. Quando il valore in esso è 1, allora il trend è al rialzo, se il valore è -1 allora il trend è al ribasso. Il codice potrebbe assomigliare a questo:

double currentTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,1);

double previousTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,2);

if (currentTrend != previousTrend)

{

if (currentTrend == 1) // buy signal

if (currentTrend == -1) // sell signal

}

 
mladen:
arroganzmaschine

Potete usare il buffer 2 per questo. Quando il valore in esso è 1, allora la tendenza è al rialzo, se il valore è -1 allora la tendenza è al ribasso. Il codice potrebbe assomigliare a questo:

double currentTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,1);

double previousTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,2);

if (currentTrend != previousTrend)

{

if (currentTrend == 1) // buy signal

if (currentTrend == -1) // sell signal

}

Come devo definire FastMa ecc. Non funziona, perché non esiste.

 
arroganzmaschine:
Come devo definire FastMa ecc. Non funziona, perché non esiste.

Dovete dichiararle come variabili esterne (esattamente come nei parametri dell'indicatore). In questo modo :

extern int FastMa = 5;

extern int FastMaShift = 0;

extern int FastMAMethod = MODE_LWMA;

extern int FastMAPrice = PRICE_CLOSE;

extern int SlowMa = 13;

extern int SlowMaShift = 0;

extern int SlowMAMethod = MODE_LWMA;

extern int SlowMAPrice = PRICE_CLOSE;

usa qualsiasi valore di default che ti piace al posto di quelli del codice di cui sopra

 
mladen:
Devi dichiararli come variabili esterne (esattamente come nei parametri degli indicatori). In questo modo :
extern int FastMa = 5;

extern int FastMaShift = 0;

extern int FastMAMethod = MODE_LWMA;

extern int FastMAPrice = PRICE_CLOSE;

extern int SlowMa = 13;

extern int SlowMaShift = 0;

extern int SlowMAMethod = MODE_LWMA;

extern int SlowMAPrice = PRICE_CLOSE;

usa qualsiasi valore di default che ti piace al posto di quelli del codice sopra

Grazie mille! Come posso fare un solo ordine se il currentTrend==1?

Non voglio aprire ordini massicci.

 
arroganzmaschine:
Grazie mille! Come posso fare un solo ordine se currentTrend==1? Non voglio aprire ordini massicci.

O usare OrdersTotal() < 1 o usare qualche funzione di conteggio degli ordini per il simbolo corrente e il numero magico

 

Ciao Mladen, hai fatto la versione di questo indicatore. Voglio chiedere di fare qui separatamente media mobile, come sull'esempio di altri indicatori se è possibile.

Grazie.