Aiuto per la codifica - pagina 222

[Eliminato]  

Grazie per il codice e la codifica Altoronto,

Grazie mille, sono pronto per il prossimo passo

[Eliminato]  

Grazie Altoronto,

Il prossimo passo per questo codice è quello di determinare la stessa linea per tutti i periodi, allo stesso punto, senza cambiamenti durante il giorno, al primo minuto per la candela a 00:00 per il giorno in corso.

Ho allegato un'immagine con le descrizioni per una migliore comprensione:

Potete aiutarmi a codificare questo, e a codificarlo in un indicatore?

Grazie ancora,

Se questo finalmente funziona manderò una bottiglia di buon vino cileno a chi mi aiuta,

Grazie ancora,

Daniel1983

File:
 
daniel1983:
Grazie Altoronto,

Il prossimo passo per questo codice è determinare la stessa linea per tutti i periodi, allo stesso punto, senza cambiamenti durante il giorno, al primo minuto per la candela alle 00:00 per il giorno in corso.

Ho allegato un'immagine con le descrizioni per una migliore comprensione:

Potete aiutarmi a codificare questo, e a codificarlo in un indicatore?

Grazie ancora,

Se questo finalmente funziona manderò una bottiglia di buon vino cileno a chi mi aiuta,

Grazie ancora,

Daniel1983

Daniel1983

Se stai usando la prima barra chiusa alta e bassa, ci saranno cambiamenti durante il giorno

[Eliminato]  

Signor Mladen,

Perché sarà cambiamenti durante il giorno? Penso solo fare il calcolo una volta e solo per la prima candela di ogni giorno. Non per le candele seguenti, non capisco

a t=1 del giorno 1 fare il calcolo per t= 0 del giorno 1, risultato disegnare una linea

solo per il giorno in cui state usando l'indicatore, alle 23:59 del giorno fate smettere di lavorare fino al prossimo giorno il prezzo dell'indicatore per la prima candela

giorno successivo

a t=1 del giorno 2 fare il calcolo per t= 0 del giorno 2, risultato disegnare una linea

Spero che qui sia più chiaro

 
daniel1983:
Signor Mladen,

Perché sarà cambiamenti durante il giorno? penso solo fare il calcolo una volta e solo per la prima candela di ogni giorno. Non le candele seguenti, non capisco

a t=1 del giorno 1 fare il calcolo per t= 0 del giorno 1, risultato disegnare una linea

solo per il giorno in cui state usando l'indicatore, alle 23:59 del giorno fate smettere di lavorare fino al prossimo giorno il prezzo dell'indicatore per la prima candela

giorno successivo

a t=1 del giorno 2 fare il calcolo per t= 0 del giorno 2, risultato disegnare una linea

spero che qui sia più chiaro

daniel1983

High[1] e Low[1] indicano il massimo e il minimo della prima barra chiusa del grafico corrente. Se quel grafico non è un grafico giornaliero, otterrai un cambiamento intraday come il cambiamento di alto e basso. Inoltre, in ogni caso, ma quando si utilizza un grafico giornaliero, si ha un mix di dati da diversi time frame

[Eliminato]  

Ok Mladen, fammi vedere se ho capito, penso che il problema è che sto mescolando 2 timeframe nello stesso codice, quindi se uso solo 1 timeframe per esempio tutto per un grafico a 1 minuto, dovrebbe funzionare:

facciamo tutto per un grafico al minuto,

codice formula por prezzo dove la linea deve essere =

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

doppio numero = (minuteOpen+High[1]+Low[1])/3;

in questo modo penso che il codice per la linea orizzontale al prezzo calcolato dovrebbe essere per t=1, ma non funziona

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

//|Funzione di inizializzazione dell'indicatore personalizzato

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

int init()

{

//----

return(0);

}

int deinit() {

Comment("");

ObjectDelete("KeyLine");

return(0);

}

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

//|Funzione di iterazione dell'indicatore personalizzata |

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

int start()

{

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3;

Comment("Linea chiave: ",numero);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),numero);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

ObjectsRedraw();

return(0);

}

 
daniel1983:
Ok Mladen, fammi vedere se ho capito, penso che il problema sia che sto mescolando 2 timeframe nello stesso codice, quindi se uso solo 1 timeframe per esempio tutto per il grafico a 1 minuto, dovrebbe funzionare:

facciamo tutto per un grafico al minuto,

codice formula por prezzo dove la linea deve essere =

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

doppio numero = (minuteOpen+High[1]+Low[1])/3;

in questo modo penso che il codice per la linea orizzontale al prezzo calcolato dovrebbe essere per t=1, ma non funziona

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

//|Funzione di inizializzazione dell'indicatore personalizzato

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

int init()

{

//----

return(0);

}

int deinit() {

Comment("");

ObjectDelete("KeyLine");

return(0);

}

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

//|Funzione di iterazione dell'indicatore personalizzata |

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

int start()

{

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3;

Comment("Linea chiave: ",numero);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),numero);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

ObjectsRedraw();

return(0);

}

No

Dovreste fare così:

double number = )iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3

E in questo modo otterrai tutti i dati dai dati giornalieri (nessun dato temporale da diversi time frame che si mescolano)

[Eliminato]  

Grazie Mladen,

Penso che forse sto andando troppo veloce. Torniamo un po' indietro senza inserire alcuna formula, partiamo da prima, facciamo fare all'indicatore solo il seguente compito:

Disegna una singola linea orizzontale al prezzo di apertura della prima candela minuto di ogni giorno, candela a 00:01 minuti, e la cancella a 23:59 minuti.

Il prezzo per questa linea non cambia nel tempo per tutti i periodi lo stesso prezzo fino alle 23:59 quando viene cancellata, e reinizia di nuovo alle 00:01 del giorno successivo.

Come sarebbe questo?

 
daniel1983:
Grazie Mladen,

Penso che forse sto andando troppo veloce. Torniamo un po' indietro senza inserire alcuna formula, partiamo da prima, facciamo fare all'indicatore solo il seguente compito:

Disegna una singola linea orizzontale al prezzo di apertura della prima candela minuto di ogni giorno, candela a 00:01 minuti, e la cancella a 23:59 minuti.

Il prezzo per questa linea non cambia nel tempo per tutti i periodi lo stesso prezzo fino alle 23:59 quando viene cancellata, e reinizia di nuovo alle 00:01 del giorno successivo.

Come sarebbe questo?

Se usi la formula che ho postato, allora si comporterà esattamente così: appena il giorno cambia, anche il valore cambierà e rimarrà fisso fino al giorno successivo

[Eliminato]  

Grazie Mladen, ho fatto le modifiche, l'indicatore appare così, ma ancora non fa nulla nel grafico...

//------------------------------------------------------------------

#proprietà copyright "www.forex-tsd.com"

#property link "www.forex-tsd.com"

//------------------------------------------------------------------

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

//|funzione di inizializzazione dell'indicatore personalizzata |

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

int init()

{

//----

return(0);

}

int deinit() {

Comment("");

ObjectDelete("KeyLine");

return(0);

}

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

//|Funzione di iterazione dell'indicatore personalizzata |

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

int start()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comment("Linea Chiave: ",numero);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),numero);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

ObjectsRedraw();

return(0);

}

Cosa sto facendo di sbagliato ora?

Grazie.