Massimo e minimo del giorno precedente

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
Rispondi
Emanuele997
Messaggi: 16
Iscritto il: 01/12/2021, 2:16

Massimo e minimo del giorno precedente

Messaggio da Emanuele997 »

Salve domanda semplice sicuramente per molti, ma non riesco a trovare la soluzione,vorrei trovare il massimo e il mino del giorno precedente per creare un Trading System ma non riesco. Qualcuno riesce a darmi una mano?

Codice: Seleziona tutto

int  Indici_Massimo= iHighest(Symbol(),PERIOD_CURRENT,MODE_HIGH,24,TimeCurrent() == GetTime(00,00));
 double Massimo_Ieri=iHigh(Symbol(),PERIOD_CURRENT,Indici_Massimo);

Metto anche la funzione GetTime qui sotto;
 
datetime GetTime(int argHour, int argMinute) {
  string DateTimeString = TimeToStr(TimeCurrent(), TIME_DATE)+ " " +IntegerToString(argHour,2,'0')+ ":" + IntegerToString(argMinute,2,'0'); // compongo la stringa datetime in base alla data attuale
   datetime resultTime =  StrToTime(DateTimeString);// converto la stringa in formato datetime
   return(resultTime);
}

Questo codice non funziona,qualcuno ha qualche alternativa?Grazie per aver letto!
Avatar utente
carlo10
Messaggi: 4261
Iscritto il: 08/05/2014, 21:17

Re: Massimo e minimo del giorno precedente

Messaggio da carlo10 »

Per giorno precedente intendi 24 ore fa, oppure alla mezzanotte del giorno precedente?
Emanuele997
Messaggi: 16
Iscritto il: 01/12/2021, 2:16

Re: Massimo e minimo del giorno precedente

Messaggio da Emanuele997 »

Ciao carlo10, grazie dell'interessamento.
intendo dalla mezzanotte del giorno precedente per questo cercavo di far iniziare il conteggio delle barre da mezzanotte
Avatar utente
carlo10
Messaggi: 4261
Iscritto il: 08/05/2014, 21:17

Re: Massimo e minimo del giorno precedente

Messaggio da carlo10 »

Ti potrebbe bastare questo?

Codice: Seleziona tutto

iHigh(Symbol(), PERIOD_M1, iHighest(Symbol(), PERIOD_M1, MODE_HIGH, 60 * 24, iBarShift(Symbol(), PERIOD_M1, StrToTime("00:00") - (60 * 24), false)));
Per la differenza di fuso orario tra server e tuo pc puoi aggiustare eventualmente solamente questa parte: StrToTime("00:00").
Emanuele997
Messaggi: 16
Iscritto il: 01/12/2021, 2:16

Re: Massimo e minimo del giorno precedente

Messaggio da Emanuele997 »

è perfetto! solo una domanda per capire meglio il ragionamento di questo codice:

Codice: Seleziona tutto

double HH=High[iHighest(Symbol(),PERIOD_CURRENT,MODE_HIGH,24,iBarShift(Symbol(), PERIOD_CURRENT, StrToTime("00:00") - ( 24), false))];
io l ho riscritto così e va come il precedente.
infatti da questo mi è venuta una domanda
-hai deciso di mettere m1 per scopo didattico o perchè gestisci le tue posizioni in modo frattale?

Comunque sia, ti ringrazio non mi è venuto proprio in mente di usare la funzione iBarShift,grazie.
Appena finisco l'ea lo posto per qualche utlizzo!
Avatar utente
carlo10
Messaggi: 4261
Iscritto il: 08/05/2014, 21:17

Re: Massimo e minimo del giorno precedente

Messaggio da carlo10 »

Si il risultato è uguale.
Ho cablato il minuto perchè ha dati più precisi e se vuoi cambiare timeframe potrai visualizzare sempre lo stesso massimo indipendetemente dal periodo scelto.

Premetto che non ho mai avuto la bravura per svoltare nel trading e sto ancora cercando di trovare la mia strada.
Come qualcuno sicuramente più in gamba di me in questo forum ha suggerito il massimo e minimo giornaliero/orario o altro in un mercato come il forex non può essere legato al luogo in cui vivi perchè se sei negli Stati Uniti avrai un dato differente.
Per me esiste un massimo minimo nell'ultima ora (60 minuti appunto) oppure nelle ultime 24 ore (60 minuti × 24).
Purtroppo anche se credo che questo sia un concetto importante non sono ancora riuscito a sfruttarlo.
Rispondi

Chi c’è in linea

Visitano il forum: Bing [Bot] e 0 ospiti