Chiedete! - pagina 8

 

Ciao codificatori,

è possibile creare l'EA per Triggerlines come vedo sulla storia, ha fatto un ottimo lavoro ma è un po' difficile da babysitterare tutte le volte.

di solito l'ho combinato con trend manager, quindi quando le triggerlines si incrociano e cambiano il colore in blu e TM ha il segnale di acquisto blu, se è possibile creare un ea che può combinare entrambi gli indicatori, sarebbe così utile .thx a lot

 

croce ema

Ciao codersguru,

Ho cercato di ottenere aiuto con un EA simile al tuo perché non sono un programmatore. Io, tuttavia, non riesco a suscitare alcun interesse così ho pensato che, dal momento che il tuo è così vicino forse può essere adattato per quello che sto cercando di fare. Qui sotto c'è una facile spiegazione delle 3 variabili:

Se EMA 9 incrocia sopra EMA 30 e Momentum(21) incrocia 100 si crea un segnale di acquisto. Un'uscita buy verrebbe generata quando l'EMA 9 incrocia sotto l'EMA 30, non importa cosa stia facendo la linea del momentum.

Se EMA 9 incrocia sotto EMA 30 e Momentum(21) incrocia sotto 100 si crea un segnale di vendita. Un'uscita in vendita verrebbe generata quando l'EMA 9 incrocia sopra l'EMA 30, indipendentemente da cosa stia facendo la linea del momentum.

Cosa ne pensi? È qualcosa che può essere regolato o è addirittura un EA fattibile? Qualsiasi aiuto sarebbe apprezzato!

BW

 

IndicatorCounted

Ciao Codegru,

Prima di tutto voglio ringraziarti per fare un lavoro così notevole, per le lezioni di MT4. Una settimana fa MT4 era molto difficile, ma ora comincio ad appoggiarmi.

Sto cercando di convertire un indicatore in EA. L'indicatore sta usando "int counted_bars = IndicatorCounted()", per il conteggio delle barre, nell'EA penso di non poterlo usare poiché è legato all'indicatore.

Come posso risolvere questo problema.

Grazie mille....

 

Sistema ADX

Ciao Coder's Guru,

Ho appena letto la guida MQL4 questo ultimo fine settimana e ho progettato il mio primo EA.

BTW, grazie mille per la tua guida. Non sono riuscito a trovare nulla in rete che rendesse l'apprendimento del linguaggio così facile. Hai davvero costruito su ogni lezione al giusto gradiente.

Comunque, ecco il mio primo EA: non so se sia un sistema redditizio o meno, ma i risultati del mio back-test EA non coincidono con alcuni back-test manuali che ho fatto. So che ci sono due filtri che non sono riuscito a capire come programmare, ma ci arriverò dopo aver spiegato tutto. (Ho allegato un file di testo con il codice).

Ecco la base del mio sistema:

Impostazione iniziale:

15m periodo di tempo

Se è tra 200 e 1400 EST.

Se ADX è maggiore di 20.

Se l'intervallo [1] dell'ultima barra è inferiore all'intervallo [2] della barra precedente. (Periodo interno).

Se l'intervallo [1] dell'ultima barra è inferiore a 7 pip.

Configurazione condizionale A:

Se l'EMA a 20 periodi è in alto.

Se il Bid è maggiore del massimo dell'ultima barra [1] (presumo che i grafici mostrino solo il Bid... è giusto?)

Compra al prezzo di domanda con stop loss a un tick sotto il minimo dell'ultimo periodo.

Configurazione condizionata B:

Se l'EMA a 20 periodi è giù.

Se il Bid è inferiore al minimo dell'ultima barra [1].

Vendi come Bid con stop loss un tick sopra il massimo+ask dell'ultima barra.

Voglio impostare il take profit ad un certo Risk:Reward rate. Nel mio back-testing ho trovato che quando la barra del periodo Inside è inferiore a 5, un rapporto di ricompensa di 3:1 è buono. (un ordine limite di 30 pip (5(range) + 3(spread) + 2(SL e entry))*3=30).... Non credo di averlo programmato correttamente nel mio codice però.

Prima domanda:

Sto usando il codice giusto per avviare i trade? Ho usato correttamente i massimi, le richieste, ecc.

Seconda domanda:

Il mio filtro temporale non sembra funzionare. Lo sto facendo correttamente?

Terza domanda:

Voglio solo che le compravendite vengano iniziate UN PIP sopra l'High+ask dell'ultima barra. Penso che il mio codice attuale inizierà le negoziazioni se i prezzi sono al di sopra di questo prezzo. Come posso risolvere questo problema?

Quarta domanda:

Penso che questo sia il più grande errore nel mio codice: Non ho un filtro per quando il 20-EMA si inverte ma l'ADX è ancora sopra il 20. Vorrei anche vedere come funziona questo sistema se il 20-EMA si inverte, l'ADX scende (ma non inferiore a 20) e poi torna su, quindi forse potremmo filtrare i trade quando l'ADX è al ribasso, ma poi di nuovo questo potrebbe filtrare molti trade redditizi). Se potessi avere un aiuto sulla codifica, mi andrebbe bene sperimentare su questi diversi fattori.

Dal mio back-testing manuale penso che potrei avere un sistema redditizio qui, quindi qualsiasi aiuto sarebbe apprezzato.

Grazie in anticipo!

Jason

File:
ipadxema.txt  5 kb
 

Aiuto nella programmazione

Ciao codersguru,

Ho bisogno di aiuto nella creazione di EA. Puoi aiutarmi, se sì, quali sono le tue tariffe?

 

Ciao Codersguru

sarebbe bello se trovassi un po' di tempo per dare un'occhiata al mio problema:https://www.mql5.com/en/forum/general

Cordiali saluti

Peter

 

Domanda da principiante

Potete aiutarmi, ho appena iniziato

Potete dirmi come cambiare i colori di default sulle candele heiken ashi?

Posso cambiare i colori sul grafico ma tornano a quelli predefiniti di rosso e bianco se cambio i tempi o le valute.

grazie

Gordon

 
gordon:
Potete aiutare, ho appena iniziato

Potete dirmi come cambiare i colori di default sulle candele heiken ashi?

Posso cambiare i colori sul grafico, ma tornano a quelli predefiniti di rosso e bianco se cambio i tempi o le valute.

grazie

Gordon

Ciao Gordon, potresti postare qui il file MQ4, così potremmo aiutarti insieme. Spero che questo aiuti

 

grazie Dave,

#proprietà indicator_chart_window

#proprietà indicator_buffers 4

#proprietà indicatore_colore1 Rosso

#proprietà indicatore_colore2 Bianco

#proprietà indicatore_colore3 Rosso

#proprietà indicatore_colore4 Bianco

//---- buffer

double ExtMapBuffer1[]

double ExtMapBuffer2[]

double ExtMapBuffer3[]

double ExtMapBuffer4[];

//----

int ExtCountedBars=0;

//+------------------------------------------------------------------+

//||funzione di inizializzazione dell'indicatore personalizzata

//|------------------------------------------------------------------|

int init()

{

//---- indicatori

SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1, Red);

SetIndexBuffer(0, ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM, 0, 1, Bianco);

SetIndexBuffer(1, ExtMapBuffer2);

SetIndexStyle(2,DRAW_HISTOGRAM, 0, 3, Rosso);

SetIndexBuffer(2, ExtMapBuffer3);

SetIndexStyle(3,DRAW_HISTOGRAM, 0, 3, Bianco);

SetIndexBuffer(3, ExtMapBuffer4);

//----

SetIndexDrawBegin(0,10);

SetIndexDrawBegin(1,10);

SetIndexDrawBegin(2,10);

SetIndexDrawBegin(3,10);

//---- mappatura dei buffer degli indicatori

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexBuffer(3,ExtMapBuffer4);

//---- inizializzazione fatta

return(0);

}

//+------------------------------------------------------------------+

//|Funzione di deinizializzazione dell'indicatore personalizzata |

//+------------------------------------------------------------------+

int deinit()

{

//---- TODO: aggiungete il vostro codice qui

//----

return(0);

}

//+------------------------------------------------------------------+

//|Funzione di iterazione dell'indicatore personalizzata |

//+------------------------------------------------------------------+

int start()

{

doppio haOpen, haHigh, haLow, haClose;

if(Bars<=10) return(0);

ExtCountedBars=IndicatorCounted();

//---- controllare eventuali errori

se (ExtCountedBars<0) return(-1);

//---- l'ultima barra contata sarà ricontata

se (ExtCountedBars>0) ExtCountedBars--;

int pos=Bars-ExtCountedBars-1;

mentre(pos>=0)

{

haOpen=(ExtMapBuffer3[pos+1]+ExtMapBuffer4[pos+1])/2;

haClose=(Open[pos]+High[pos]+Low[pos]+Close[pos])/4;

haHigh=MathMax(High[pos], MathMax(haOpen, haClose));

haLow=MathMin(Low[pos], MathMin(haOpen, haClose));

se (haOpen<haClose)

{

ExtMapBuffer1[pos]=haLow;

ExtMapBuffer2[pos]=haHigh;

}

altrimenti

{

ExtMapBuffer1[pos]=haHigh;

ExtMapBuffer2[pos]=haLow;

}

ExtMapBuffer3[pos]=haOpen;

ExtMapBuffer4[pos]=haClose;

pos--;

}

//----

return(0);

}

//+---------------------------

 

Ciao Gordon, come puoi vedere nel codice che hai appena postato, se ti piace cambiare il colore permanente, basta cambiare TUTTA la parola BIANCO e ROSSO a qualsiasi colore che ti piace, poi compilare l'indicatore personalizzato. Per favore fammi sapere se questo potrebbe risolvere il tuo problema. Spero che questo aiuti

Motivazione: