Aiuto per la codifica - pagina 450

 

Ciao re mladen signore,

In questo file, ho bisogno di una modifica, candela corrente alta / bassa inghiottire candela precedente aprire chiudere corpi., un passo in corso bar hai già aggiunto, il che dimostra che si sa già, sei genio, tutti sanno.

saluti

File:
audusdh15.png  28 kb
 
keansajeweki:
Ciao Mladen. Puoi dare un'occhiata a questa minaccia, perché quando la inserisco nel mio MT4 e la riavvio, non ho un file ex. il suo USC Murrey Math Oscillator V2

Per favore allega il file esatto che stai usando così qualcuno può dargli un'occhiata

 
hanic:
Ciao Re mladen signore,

In questo file, ho bisogno di una modifica, la candela attuale alta/bassa inghiotte i corpi aperti e chiusi della candela precedente, una barra in corso l'hai già aggiunta, il che dimostra che lo sai già, sei un genio, lo sanno tutti.

saluti

Quell'alto delle candele non ha inghiottito gli alti delle 3 barre precedenti (guarda bene l'alto di quella barra e confrontalo con l'alto delle 2 barre precedenti)

Inoltre non puoi confrontare mele e pere: se si confronta l'apertura/chiusura (il corpo), allora non si usano l'alto e il basso della barra attuale, ma anche l'apertura/chiusura (corpo). Se usi high./low allora vengono usati anche gli high/low delle barre confrontate

 

Testo Confluenza Pivot Point

Ho trovato un bell'indicatore MT4 Pivot Point Confluence ma non mostra etichette di testo e numeri come nell'immagine qui sotto. Disegna solo linee ma mi piace vedere anche testo e numeri.

 
keansajeweki:
Ciao Mladen. Puoi dare un'occhiata a questa minaccia, perché quando la inserisco nel mio MT4 e la riavvio, non ho un file ex. il suo USC Murrey Math Oscillator V2

keansajeweki

Questo è il codice tradingView (non il codice metatrader)

Qualcuno lo ha postato come mq4 ma non ha nulla a che fare con metatrader

 

qualche persona gentile potrebbe per favore aggiustare questo per funzionare su un broker a 6 cifre?

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

//| 70/50VolBreakout.mq4

//| Keris2112 ||

//| |

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

#proprietà copyright "Keris2112"

#proprietà link ""

#proprietà indicator_chart_window

#proprietà indicator_buffers 4

#proprietà indicator_color1 DodgerBlue

#Proprietà indicatore_colore2 Rosso

#Proprietà indicatore_colore3 Terra di Siena

#proprietà indicator_color4 Lime

#property indicator_width1 5

#proprietà indicator_width2 3

#proprietà indicator_width3 5

#proprietà indicator_width4 3

extern int EntryPercent = 70;

extern int StopPercent = 50;

int i=1, shift;

double PrevRange;

double LongEntry

double LongStop;

doppio ShortEntry

doppio ShortStop;

bool result;

//---- buffer

double ExtMapBuffer1[]

double ExtMapBuffer2[]

double ExtMapBuffer3[]

double ExtMapBuffer4[]

doppio ExtMapBuffer5[];

bool isNewDay(int _shift)

{

//----

risultato=falso;

if ( (TimeHour(Time[_shift])==0) && (TimeMinute(Time[_shift])==0) ) result=true;

//----

return(risultato);

}

void GetRS1ofDay(int _shift)

{

int prevDay=TimeDay(Time[_shift+1]);

//----

i=1;

while (TimeDay(Time[_shift+i])==prevDay) i++;

i--;

PrevRange=High - Low[Lowest(NULL,0,MODE_LOW,i,_shift+1)];

LongEntry = Open[_shift] + (PrevRange * (EntryPercent*0.01));

LongStop = LongEntry - (PrevRange * (StopPercent*0.01));

ShortEntry = Open[_shift] - (PrevRange * (EntryPercent*0.01));

ShortStop = ShortEntry + (PrevRange * (StopPercent*0.01));

ExtMapBuffer1[_shift] = LongEntry;

ExtMapBuffer2[_shift] = LongStop;

ExtMapBuffer3[_shift] = ShortEntry;

ExtMapBuffer4[_shift] = ShortStop;

Commento(

"Gamma precedente: ",PrevRange*1/Point," pips",

"\n",(EntryPercent),"% del Range precedente: ",MathRound((EntryPercent*PrevRange*(0.01/Point))," pips",

"\n",(StopPercent),"% del range precedente: ",MathRound((StopPercent*PrevRange*(0.01/Point))," pips",

"\nOpen: ",Open[_shift],

"\nEnter BuyStop a: ",ExtMapBuffer1[_shift]," con StopLoss a: ",ExtMapBuffer2[_shift],

"\Inserisci SellStop a: ",ExtMapBuffer3[_shift]," con StopLoss a: ",ExtMapBuffer4[_shift]);

}

void CopyLevels1Day(int _shift)

{

ExtMapBuffer1[_shift]=ExtMapBuffer1[_shift+1];

ExtMapBuffer2[_shift]=ExtMapBuffer2[_shift+1];

ExtMapBuffer3[_shift]=ExtMapBuffer3[_shift+1];

ExtMapBuffer4[_shift]=ExtMapBuffer4[_shift+1];

ExtMapBuffer5[_shift]=ExtMapBuffer5[_shift];

}

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

//|Funzione di inizializzazione personalizzata dell'indicatore |

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

int init()

{

//---- indicatori

IndicatorBuffers(4);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,160);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexLabel(0,0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,160);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

SetIndexLabel(1,0);

SetIndexStyle(2,DRAW_ARROW);

SetIndexArrow(2,160);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexEmptyValue(2,0.0);

SetIndexLabel(2,0);

SetIndexStyle(3,DRAW_ARROW);

SetIndexArrow(3,160);

SetIndexBuffer(3,ExtMapBuffer4);

SetIndexEmptyValue(3,0.0);

SetIndexLabel(3,0);

SetIndexBuffer(0,ExtMapBuffer5);

//----

return(0);

}

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

//| Funzione di deinizializzazione dell'indicatore Custor

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

int deinit()

{

//----

//----

return(0);

}

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

//| Funzione di iterazione dell'indicatore personalizzato |

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

int start()

{

int limit,firstDay;

int counted_bars=IndicatorCounted();

se (counted_bars<0) return(0);

se (counted_bars==0)

{

limit=Bars-1;

i=1;

firstDay=TimeDay(Time[limit]);

while (TimeDay(Time[limit-i])==firstDay) i++;

limit=limit-i-PERIOD_D1/Periodo();

}

if (counted_bars>0) limit=Bars-counted_bars;

//----

se (Periodo()>PERIOD_D1) ritorna;

for (shift=limit;shift>=0;shift--)

{

se (isNewDay(shift)) GetRS1ofDay(shift); altrimenti CopyLevels1Day(shift);

}

//----

return(0);

}

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

 

Ciao Mladen - come sempre grazie per la tua risposta - è all'interno delle tue capacità costruire eventualmente un tale indicatore? grazie in anticipo ancora.

mladen:
Per quanto ho cercato, non esiste un tale indicatore
 
angrysky:
qualche persona gentile potrebbe per favore aggiustare questo per funzionare su un broker a 6 cifre?

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

//| 70/50VolBreakout.mq4

//| Keris2112 ||

//| |

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

#proprietà copyright "Keris2112"

#proprietà link ""

#proprietà indicator_chart_window

#proprietà indicator_buffers 4

#proprietà indicator_color1 DodgerBlue

#Proprietà indicatore_colore2 Rosso

#Proprietà indicatore_colore3 Terra di Siena

#proprietà indicator_color4 Lime

#property indicator_width1 5

#proprietà indicator_width2 3

#proprietà indicator_width3 5

#proprietà indicator_width4 3

extern int EntryPercent = 70;

extern int StopPercent = 50;

int i=1, shift;

double PrevRange;

double LongEntry

double LongStop;

doppio ShortEntry

doppio ShortStop;

bool result;

//---- buffer

double ExtMapBuffer1[]

double ExtMapBuffer2[]

double ExtMapBuffer3[]

double ExtMapBuffer4[]

doppio ExtMapBuffer5[];

bool isNewDay(int _shift)

{

//----

risultato=falso;

if ( (TimeHour(Time[_shift])==0) && (TimeMinute(Time[_shift])==0) ) result=true;

//----

return(risultato);

}

void GetRS1ofDay(int _shift)

{

int prevDay=TimeDay(Time[_shift+1]);

//----

i=1;

while (TimeDay(Time[_shift+i])==prevDay) i++;

i--;

PrevRange=High - Low[Lowest(NULL,0,MODE_LOW,i,_shift+1)];

LongEntry = Open[_shift] + (PrevRange * (EntryPercent*0.01));

LongStop = LongEntry - (PrevRange * (StopPercent*0.01));

ShortEntry = Open[_shift] - (PrevRange * (EntryPercent*0.01));

ShortStop = ShortEntry + (PrevRange * (StopPercent*0.01));

ExtMapBuffer1[_shift] = LongEntry;

ExtMapBuffer2[_shift] = LongStop;

ExtMapBuffer3[_shift] = ShortEntry;

ExtMapBuffer4[_shift] = ShortStop;

Commento(

"Gamma precedente: ",PrevRange*1/Point," pips",

"\n",(EntryPercent),"% del Range precedente: ",MathRound((EntryPercent*PrevRange*(0.01/Point))," pips",

"\n",(StopPercent),"% del range precedente: ",MathRound((StopPercent*PrevRange*(0.01/Point))," pips",

"\nOpen: ",Open[_shift],

"\nEnter BuyStop a: ",ExtMapBuffer1[_shift]," con StopLoss a: ",ExtMapBuffer2[_shift],

"\Inserisci SellStop a: ",ExtMapBuffer3[_shift]," con StopLoss a: ",ExtMapBuffer4[_shift]);

}

void CopyLevels1Day(int _shift)

{

ExtMapBuffer1[_shift]=ExtMapBuffer1[_shift+1];

ExtMapBuffer2[_shift]=ExtMapBuffer2[_shift+1];

ExtMapBuffer3[_shift]=ExtMapBuffer3[_shift+1];

ExtMapBuffer4[_shift]=ExtMapBuffer4[_shift+1];

ExtMapBuffer5[_shift]=ExtMapBuffer5[_shift];

}

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

//|Funzione di inizializzazione personalizzata dell'indicatore |

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

int init()

{

//---- indicatori

IndicatorBuffers(4);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,160);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexLabel(0,0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,160);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

SetIndexLabel(1,0);

SetIndexStyle(2,DRAW_ARROW);

SetIndexArrow(2,160);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexEmptyValue(2,0.0);

SetIndexLabel(2,0);

SetIndexStyle(3,DRAW_ARROW);

SetIndexArrow(3,160);

SetIndexBuffer(3,ExtMapBuffer4);

SetIndexEmptyValue(3,0.0);

SetIndexLabel(3,0);

SetIndexBuffer(0,ExtMapBuffer5);

//----

return(0);

}

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

//| Funzione di deinizializzazione dell'indicatore Custor

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

int deinit()

{

//----

//----

return(0);

}

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

//| Funzione di iterazione dell'indicatore personalizzato |

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

int start()

{

int limit,firstDay;

int counted_bars=IndicatorCounted();

se (counted_bars<0) return(0);

se (counted_bars==0)

{

limit=Bars-1;

i=1;

firstDay=TimeDay(Time[limit]);

while (TimeDay(Time[limit-i])==firstDay) i++;

limit=limit-i-PERIOD_D1/Periodo();

}

if (counted_bars>0) limit=Bars-counted_bars;

//----

se (Periodo()>PERIOD_D1) ritorna;

for (shift=limit;shift>=0;shift--)

{

se (isNewDay(shift)) GetRS1ofDay(shift); altrimenti CopyLevels1Day(shift);

}

//----

return(0);

}

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

Sembra funzionare

Qual è il problema che stai vivendo?

File:
test.gif  71 kb
 

Salve signore,

quando confrontiamo l'equazione cioè la candela precedente bassa o alta, maggiore o minore della candela precedente, metatrader non permette di farlo?

Nel pattern belthold si usa questa formula, in questo c >h1.

E' vero che non possiamo confrontare l'high low con i corpi open close? Immagino che in molti casi, in molti pattern candlestick la formula high low viene confrontata con i corpi delle candele.

saluti

File:
mdsir.png  16 kb
belthold.png  20 kb
 
triip:
Ho trovato un bell'indicatore MT4 Pivot Point Confluence, ma non mostra etichette di testo e numeri come nell'immagine qui sotto. Disegna solo linee ma mi piace vedere anche testo e numeri.

Non so quale versione sia stata usata per visualizzare così, ma non viene visualizzato così neanche nella vecchia versione di metatrader (ho provato anche nella build 432, e viene visualizzato esattamente come nelle nuove build)

Motivazione: