Caratteristiche utili da KimIV - pagina 78

 
granit77 писал(а) >>

Tante persone quante sono le opinioni. È confortante sapere che la mia coincide con l'opinione di komposter sul link di Prival.

Come suggerimento: nel tuo caso, se ci sono due magiks nel tuo EA, puoi usare il magik generato per la coppia e il TF e il suo valore negativo.

Buona idea.

   if( UpDn)
      Magic_№= GetMagic(StringConcatenate("Expert",Symbol()), TF);
   else
      Magic_№=- GetMagic(StringConcatenate("Expert",Symbol()), TF);
 
Avete qualche script che può simulare l'apertura di posizioni nel tester? Per esempio, il sistema di trading manuale, ho messo gli indicatori richiesti sul grafico ed eseguire un Expert Advisor - per far funzionare il tester. un segnale da indici formato e invio lo script sul grafico, e simula l'apertura di un affare. e così via per ogni segnale. e poi guardo se la strategia è redditizia o no.
 
berserker >> :
Sapete se c'è qualche script che può simulare l'apertura di posizioni nel tester. per esempio, il sistema di trading manuale, ho messo sul grafico gli indicatori necessari ed eseguire qualsiasi Expert Advisor - per far funzionare il tester. un segnale da indyuki formato e getto lo script sul grafico, e simula l'apertura di un affare. e così via per ogni segnale. e poi guardo strategia redditizia o no.

Vedere Test di visualizzazione. Trading manuale e test di redditività visiva di indicatori e segnali.

 
berserker >> :
Sai se c'è qualche script che può simulare l'apertura di posizioni nel tester. per esempio, il sistema di trading manuale, ho messo sul grafico gli indicatori necessari ed eseguire qualsiasi Expert Advisor - per far funzionare il tester. un segnale da indyuki formato e getto lo script sul grafico, e simula l'apertura di un affare. e così via per ogni segnale. e poi guardo strategia redditizia o no.
https://forum.mql4.com/ru/20511
 
Voglio ottenere il valore del prezzo alto dal tempo x(ore minuti) al tempo y(ore minuti).Al momento attuale mi interessa il valore di questo intervallo, se è passato, e se no, quello precedente. Nessuno ha sviluppi di questo tipo.
double HourlyHigh(string _smb,int StHour,int StMin,int EndHour,int EndMin)
{
 int _hour,_minute;
 double max;
 max=0;
 _hour=TimeHour(iTime(_smb,1,0)); 
 if (_hour>= EndHour+1)
  for (int i=2880; i>=0; i--)
   if (TimeHour(iTime(_smb,1, i))>= StHour&&TimeHour(iTime(_smb,1, i))<= EndHour&& max<iHigh(_smb,1, i)&&TimeDay(iTime(_smb,1, i))==TimeDay(iTime(_smb,1,0)))
       max=iHigh(_smb,1, i);//&&TimeMinute(iTime(_smb,1,i))>=StMin&&TimeMinute(iTime(_smb,1,i))<=EndMin
 else
    for ( i=2880; i>=0; i--)
   if (TimeHour(iTime(_smb,1, i))>= StHour&&TimeHour(iTime(_smb,1, i))<= EndHour&&TimeDay(iTime(_smb,1, i))==TimeDay(iTime(_smb,1, i-1440)))
       max=iHigh(_smb,1, i);
   return ( max);     
}
double HourlyLow(string _smb,int StHour,int StMin,int EndHour,int EndMin)
{
 int _hour,_minute;
 double min;
 min=9999.0;
 _hour=TimeHour(iTime(_smb,1,0)); 
 if (_hour>= EndHour+1)
  for (int i=2880; i>=0; i--)
   if (TimeHour(iTime(_smb,1, i))>= StHour&&TimeHour(iTime(_smb,1, i))<= EndHour&&TimeDay(iTime(_smb,1, i))==TimeDay(iTime(_smb,1,0)))
       min=iLow(_smb,1, i);
 else
    for ( i=2880; i>=0; i--)
   if (TimeHour(iTime(_smb,1, i))>= StHour&&TimeHour(iTime(_smb,1, i))<= EndHour&& min>iLow(_smb,1, i)&&TimeDay(iTime(_smb,1, i))==TimeDay(iTime(_smb,1, i-1440)))
       min=iLow(_smb,1, i);
  return ( min);
  
}
Ho provato qualcosa, ma per qualche motivo ottengo 0 nell'output. E cerca sia l'alto che il basso.
 
zfs писал(а) >>
Voglio ottenere il valore del prezzo alto dal tempo x (ore minuti) al tempo y (ore minuti). Nessuno ha sviluppi di questo tipo. Ho provato qualcosa, ma per qualche motivo ottengo 0 nell'output. E cerca sia l'alto che il basso.

Avete provato le funzioni iHighest e iLowest? Tutto quello che devi fare è tradurre il tempo richiesto in indici e otterrai il risultato che stai cercando...

 
kharko >> :

Avete provato le funzioni iHighest e iLowest? Tutto quello che devi fare è convertire il tempo richiesto in indici e otterrai il risultato che stai cercando...

Grazie. Lo proverò.

 
granit77 >> :

Tante persone quante sono le opinioni. È commovente che la mia coincida con l'opinione di komposter sul link di Prival.

Ora ho rinunciato a usare il periodo del grafico in mejic.

A volte voglio cambiare il TF mentre Expert Advisor è in esecuzione, ma questo metodo di generazione "avvia immediatamente un altro EA".


E invece di Period() cerco di usare extern TimeFrame, così l'EA funziona ugualmente su qualsiasi grafico di periodo.

 

Ancora una volta, un grande "Ahem...".

Ho notato questa cosa (per me) sgradevole con il tempo nel fine settimana.

StrToTime("01:25")

Supponendo che TUTTI i tempi siano calcolati rispetto all'ora del server

(o il suo ultimo valore conosciuto) (beh, tranne che per TimeLocal (), naturalmente)

Tuttavia, questo non è vero e ho perso un sacco di tempo cercando di capire

ragioni per il filtraggio sbagliato... :(((( Si vive e si impara...


SZY: Una funzione integrata che calcola direttamente il prezzo in un dato momento sarebbe stata utile.

Attualmente ci sto lavorando in questo modo:

double shvr=iLow(Symbol(),15,iBarShift(Symbol(),15,StrToTime("01:25")));
 
kombat писал(а) >>

Quindi non dovete indovinare. >> Controlla...

Print(TimeToStr(StrToTime("01:25"), TIME_DATE| TIME_MINUTES));