Funzione ICustom - pagina 9

 

Guarda questo è quello che ho fatto (in grassetto):

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0);

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,1);

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,2);

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,3);

 

Infatti, guardate il mio codice ora!

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

//| COG call.mq4

//| |

//| |

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

#proprietà indicator_separate_window

#proprietà indicator_buffers 4

#proprietà indicator_color1 Lime

#proprietà indicator_color2 Red

#proprietà indicator_color3 CLR_NONE

#proprietà indicator_color4 CLR_NONE

//---- buffer

doppio valore1[];

doppio valore2[]

doppio valore3[]

doppio valore4[];

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

//|Funzione di inizializzazione dell'indicatore personalizzata |

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

int init()

{

stringa short_name;

//---- indicatori

IndicatorBuffers(4);

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Lime);

SetIndexBuffer(0,value1);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1,Red);

SetIndexBuffer(1,value2);

SetIndexStyle(2,DRAW_NONE);

SetIndexBuffer(2,value3);

SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(3,value4);

IndicatorDigits(Digits+2);

return(0);

}

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

//| Funzione personalizzata di deinizializzazione dell'indicatore |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Funzione di iterazione dell'indicatore personalizzato |

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

int start()

{

int counted_bars=IndicatorCounted();

//---- controllare eventuali errori

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

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

se (counted_bars>0) counted_bars--;

int pos=Bars-counted_bars;

mentre(pos>=0)

{

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0);

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,1);

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,2);

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,3);

pos--;

}

return(0);

}

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

 

Ho provato a mettere

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,0);

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,1);

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,2);

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,3);

ora ha mantenuto di nuovo solo la linea rossa che è il buffer 2 ma ora ha messo più in alto nella schermata del grafico ed è ancora piatta. pazzo!?!?

 

ahhhhh!!!

cosa c'è di così speciale nel buffer 2???

 

Ho fatto funzionare icustom, questo thread mi ha aiutato molto. Sto lavorando su un EA ma sto imparando mentre lo faccio, quindi è un po' lento. C'è un modo per fermare l'EA dopo un trade o anche per autochiudersi dopo essere entrato in un trade?

Il problema è che dopo aver colpito il mio take profit, se tutto punta ancora allo scoperto, entra di nuovo.

Qualsiasi aiuto sarebbe molto apprezzato....

 

Un esempio di codice, per favore

Qualcuno potrebbe condividere un codice di esempio di un indicatore che prenda i valori di due indicatori personalizzati sul grafico alla chiusura della barra, e in base a questo, dia un avviso, o disegni barre colorate, non importa cosa faccia.

Per esempio, abbiamo due LWMA sul grafico con diverse impostazioni di periodo. Alla chiusura della barra, l'indicatore confronta i loro valori e se quello più breve è più alto di quello più lungo, disegna una barra blu in una finestra separata. Più semplice di così.

Ne ho bisogno per i miei studi mql, sono un po' sommerso dalla teoria ora e voglio fare qualcosa di pratico. Grazie in anticipo!

 

Come chiamare la funzione quando il trade è in esecuzione?

Per favore aiutatemi

come posso chiamare una funzione quando il trade è in esecuzione quando si apre un nuovo trade o si chiude un trade o si crea un ordine in sospeso, voglio chiamare la funzione

 
prasantha60:
Per favore aiutatemi a chiamare una funzione quando il trade è in esecuzione quando si apre un nuovo trade o si chiude un trade o si crea un ordine in sospeso, voglio chiamare la funzione

Quale funzione vuoi chiamare? Non sono sicuro di quale sia la tua domanda.

 
File: