Chiedete!

 

Ciao gente,

Ho un sacco di messaggi privati che mi chiedono aiuto per alcuni pezzi di codice.

Qui potete postare le vostre domande relative a MQL4, e farò del mio meglio per rispondere.

 

Avvisi (per suoni o altro)

Ho due domande.

La prima. A volte è necessario testare manualmente alcune strategie di trading prima di creare l'EA. Va bene per M1, M5 e M15. Ma per H1 e timeframe superiori è difficile. Quale pezzo di codice dovrebbe essere incluso in un indicatore (chiunque) per l'allarme (suoni o altro) per indicare due linee dell'indicatore che si incrociano? Per esempio l'indicatore ha solo due linee che dovrebbero essere attraversate (con allarme).

Secondo. Abbiamo due indicatori. Quali pezzi di codice dovrebbero essere inclusi in uno o due indicatori per indicare l'attraversamento di due linee: una linea è dal primo indicatore e un'altra linea è da un altro (tutte queste due linee sono nella stessa finestra, naturalmente)?

Se si tratta di un EA o di uno script da creare, tieni questa domanda fino a quando studieremo la creazione di EA e script.

 

Allarmi su croce!

newdigital:
Ho due domande.

Il primo. A volte è necessario testare manualmente alcune strategie di trading prima di creare l'EA. Va bene per M1, M5 e M15. Ma per H1 e timeframe superiori è difficile. Quale pezzo di codice dovrebbe essere incluso in un indicatore (chiunque) per l'allarme (suoni o altro) per indicare due linee dell'indicatore che si incrociano? Per esempio l'indicatore ha solo due linee che dovrebbero essere attraversate (con allarme).

Secondo. Abbiamo due indicatori. Quali parti del codice dovrebbero essere incluse in uno o due indicatori per indicare l'attraversamento di due linee: una linea è del primo indicatore e un'altra linea è di un altro (tutte queste due linee sono nella stessa finestra, ovviamente)?

Se è l'EA o lo script deve essere creato, quindi tieni questa domanda fino a quando non studieremo la creazione dell'EA e dello script.

La seconda domanda ha bisogno di un po' di lavoro (l'idea chiave è lavorare con GlobalVariables per far sì che entrambi gli indicatori si conoscano a vicenda!)

Ci lavorerò più tardi.

Questo è il codice della prima domanda. Ha bisogno di alcuni test (sono le 6:40 AM qui )

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

//| Demo1.mq4 |

//| Coders' Guru. |

//| https://www.forex-tsd.com |

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

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,ExtMapBuffer2);

//----

return(0);

}

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

//| Custor indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

bool Crossed (double line1 , double line2 )

{

static string last_direction = "";

string current_dirction = "";

if(line1>line2)current_dirction = "up";

if(line1<=line2)current_dirction = "down";

if(current_dirction != last_direction)

{

Alert("CRROSED: Line1 is (" + current_dirction + ") Line2 now");

last_direction = current_dirction;

return (true);

}

else

{

return (false);

}

}

int start()

{

int counted_bars=IndicatorCounted();

//---- check for possible errors

if (counted_bars<0) return(-1);

//---- last counted bar will be recounted

if (counted_bars>0) counted_bars--;

int pos=Bars-counted_bars;

while(pos>=0)

{

ExtMapBuffer1[pos]= iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,pos);

ExtMapBuffer2[pos]= iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,pos);

pos--;

}

Print(Crossed (ExtMapBuffer1[0],ExtMapBuffer2[0]));

//----

return(0);

}

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

domanda

Caro codersguru,

Ho un paio di sistemi che ho bisogno di aiuto per tradurre da Tradestation a Meta e poi un sistema di trading di base. Sto lavorando da zero. Qual è la tua tariffa oraria per aiutare con questo servizio?

Alcuni dei sistemi sono pubblicati e 2 dei sistemi che ho acquistato e firmato un accordo di riservatezza in modo da poterlo pubblicare e dovrei farvi lavorare su quelli in privato per una tassa. Quali sono le vostre tariffe?

Molte grazie,

Rick

 

Non ancora. Non ho ancora testato.

Domani inserirò questo codice in qualche indicatore (qualcuno con due linee che si incrociano).

 

Avvisi incrociati

newdigital:
Ho due domande.

Il primo. A volte è necessario testare manualmente alcune strategie di trading prima di creare l'EA. Va bene per M1, M5 e M15. Ma per H1 e timeframe superiori è difficile. Quale pezzo di codice dovrebbe essere incluso in un indicatore (chiunque) per l'allarme (suoni o altro) per indicare due linee dell'indicatore che si incrociano? Per esempio l'indicatore ha solo due linee che dovrebbero essere attraversate (con allarme).

Secondo...

Ciao newdigital,

Hai testato il codice? È quello che vuoi?

File:
 

Lezione di backtesting

Salve,

puoi spiegarmi come lavorare con il backtesting?

cosa è necessario fare per preparare il nostro EA per il backtesting?

come funziona il backtesting (ogni tick, prezzo aperto...)?

Grazie.

 
codersguru:
Ciao newdigital, Hai testato il codice? È quello che vuoi?

L'ho testato. È grande

Possiamo usarlo come esempio.

O se abbiamo bisogno solo di un suono possiamo usare il codice allegato.

File:
 

O se abbiamo bisogno solo di un suono (opzionale) e di un testo scritto sul grafico (anch'esso opzionale) possiamo usare questo codice (allegato).

File:
 

Perfetto!

newdigital:
Oppure se abbiamo bisogno solo di un suono (opzionale) e di un testo scritto sul grafico (anch'esso opzionale) possiamo usare questo codice (allegato).

newdigital,

voi spaccate!

Grazie

 

Ho fatto dei piccoli EAs per RSTL e Supertrend crossing alert.

Il primo lavora sulla barra corrente.

Il secondo lavora sulla barra opzionale (corrente, precedente o qualsiasi).

Solo avvisi.

Scusate la cattiva codifica: non abbiamo ancora studiato gli EAs.

E forse ho fatto qualche errore ...

ma ho testato e funziona.

File:
cross.mq4  3 kb
cross1.mq4  3 kb
rstl.mq4  4 kb
Motivazione: