Aiuto per la codifica - pagina 193

 

Всем привет!

дорого дня!!

помогите добавить красную полоску в индикатор

полоска зелёная работает хорошо (bear;// Lime)

красная не работает(toro;// rosso;)

заранее Спасибо.

индикатор:

bearbull.mq4

File:
 

Ciao Mrtools & Mladen

Confermo che TSV Bullish & Bearish è solo una versione histo di Gann Hilo Activator come vedete nella mia foto...

Non capirò mai perché ad alcune persone piace dare un nome esoterico e strano ad un altro indicatore che già esiste (Gann Hilow activator è già un nome strano ed esoterico...) ...

TSV Bullish & Bearish mi sembrava molto interessante, ma come questo è più TSH Bullshit & Bearish

Buona giornata ragazzi e grazie per la vostra risposta

Zilliq

mrtools:
Zilliq c'è una versione qui https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here/page299#comment_679505 con il codice sorgente.
File:
 

Mladen,

Ho provato in questo modo

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

statico datetime Time0;

if (Time0 == Time[0]) return; // Un avviso per barra.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

else continue; // Nessuna linea trovata

if ((High[0]>=(line-_distance) && (line+_distance)>=Low[0])

{

Testo = Symbol()+" M "+Period()+" toccato S/R @ "+Close[0];

Allarme(Testo);

Time0 = Time[0]; // Niente più avvisi.

if (Notification) SendNotification(Text);

}

}

//----

In questo momento non posso testarlo perché non ci sono quotazioni in tempo reale. Ma mi sembra logico usare ObjectGetValueByShift() in questo modo. Cerco solo i tocchi di linea all'interno della barra corrente. Pertanto ho usato (name,0).

Ma ora volevo chiedervi se devo davvero fare una differenza tra OBJ_HLINE e OBJ_TREND. Quando uso ObjectGetValueByShift(nome,0) allora ricevo anche il valore di una linea orizzontale o mi sbaglio? Non vedo alcuna differenza logica tra ObjectGet(name, OBJPROP_PRICE1) e ObjectGetValueByShift(name,0) quando è necessario solo il valore della linea del periodo corrente.

Forse puoi chiarire un po' questo punto? Grazie!

 
Marbo:
Mladen,

Ho provato in questo modo

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

statico datetime Time0;

if (Time0 == Time[0]) return; // Un avviso per barra.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

else continue; // Nessuna linea trovata

if ((High[0]>=(line-_distance) && (line+_distance)>=Low[0])

{

Testo = Symbol()+" M "+Period()+" toccato S/R @ "+Close[0];

Allarme(Testo);

Time0 = Time[0]; // Niente più avvisi.

if (Notification) SendNotification(Text);

}

}

//----

In questo momento non posso testarlo perché non ci sono quotazioni in tempo reale. Ma mi sembra logico usare ObjectGetValueByShift() in questo modo. Cerco solo i tocchi di linea all'interno della barra corrente. Pertanto ho usato (name,0).

Ma ora volevo chiedervi se devo davvero fare una differenza tra OBJ_HLINE e OBJ_TREND. Quando uso ObjectGetValueByShift(nome,0) allora ricevo anche il valore di una linea orizzontale o mi sbaglio? Non vedo alcuna differenza logica tra ObjectGet(name, OBJPROP_PRICE1) e ObjectGetValueByShift(name,0) quando è necessario solo il valore della linea del periodo corrente.

Forse puoi chiarirlo un po'? Grazie!

Marbo

Devi fare una differenza tra linea orizzontale e linea di tendenza semplicemente perché la linea di tendenza è un tipo diverso di oggetto rispetto alla linea orizzontale (per la linea orizzontale è sufficiente leggere il valore del prezzo1 e basta, mentre, per la linea di tendenza, il prezzo1 non ha bisogno di essere lo stesso del prezzo 2, e quei prezzi possono essere completamente diversi dai prezzi in mezzo)

 

Ciao,

Qualcuno può aiutarmi a risolvere un problema con questo indicatore?

In mt4 visual tester con abilitata la modalità Backtesting funziona bene in modalità mtf (H1-H4 su grafico M5)

ma nel grafico reale - le linee sono in ritardo.

Grazie!

mtf_moving_average.mq4

File:
 

Mladen,

questo fatto lo capisco. Intendo solo per il mio semplice indicatore. Per me non è importante da dove viene o dove va la Trendline. Ho solo bisogno del suo valore nella barra corrente. Perciò ho chiesto se posso metterlo insieme e lavorare solo con ObjectGetValueByShift() per entrambe le linee.

Ma, comunque, pensate che funzioni nel modo in cui l'ho fatto nel codice sopra?

Grazie!

 
Marbo:
Mladen,

questo fatto lo capisco. Intendo solo per il mio semplice indicatore. Per me non è importante da dove viene o dove va la Trendline. Ho solo bisogno del suo valore alla barra corrente. Perciò ho chiesto se posso metterlo insieme e lavorare solo con ObjectGetValueByShift() per entrambe le linee.

Ma, comunque, pensate che funzioni nel modo in cui l'ho fatto nel codice sopra?

Grazie!

Marbo

Per come la vedo io dovrebbe funzionare

 
cain82:
Ciao,

Qualcuno può aiutare a risolvere un problema con questo indicatore?

In mt4 visual tester con abilitata la modalità Backtesting funziona bene in modalità mtf (H1-H4 su grafico M5)

ma nel grafico reale - le linee sono in ritardo.

Grazie!

mtf_moving_average.mq4

Prova invece ad usare quello di questo post: https: //www.mql5.com/en/forum/173574/page239

 
mladen:
Prova invece a usare quello di questo post: https: //www.mql5.com/en/forum/173574/page239

Grazie per la risposta!

Ma il tuo indi funziona in modo diverso.

 
cain82:
Grazie per la risposta! Ma il tuo indi funziona diversamente.

Sì, perché funziona correttamente. Se tutto ciò che deve essere corretto fosse fatto in quello che hai postato sarebbero esattamente gli stessi

saluti