Errori, bug, domande - pagina 1140

 

In MQL4 è possibile prescrivere la linea dell'indicatore MODE_TE NKANSEN e lo spostamento (spostamento relativo alla barra corrente)

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, MODE_TENKANSEN, 0);

Come faccio a scrivere la stessa identica funzione in mq5?

Ho scritto una linea, ma dà un errore 'iIchimoku' - parametri sbagliati conta Ichimoku.mq5

Questo è ciò che ottengo nella TENKANSEN_LINE, 0

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, TENKANSEN_LINE, 0);
 
Zeleniy:

In MQL4 si può prescrivere in una linea quale linea utilizzare nell'indicatore MODE_TE NKANSEN e shift (spostamento relativo alla barra corrente)

Qual è il modo corretto di scrivere la stessa identica funzione in 5?

cosa restituisce in 5?
iIchimoku
 
Zeleniy:

In MQL4 si può scrivere in una linea quale linea dell'indicatore iIchimoku MODE_TE NKANSEN e shift (spostamento relativo alla barra corrente)

Come posso scrivere la stessa identica funzione in 5?

Ho scritto una linea, ma dà un errore 'iIchimoku' - parametri sbagliati conta Ichimoku.mq5

Questo è ciò che ottengo nella linea TENKANSEN_LINE, 0

In MQL5, l'ingresso dell'indicatore iIchimoku è diverso.

int  iIchimoku(
   string           symbol,            // имя символа
   ENUM_TIMEFRAMES  period,            // период
   int              tenkan_sen,        // период Tenkan-sen
   int              kijun_sen,         // период Kijun-sen
   int              senkou_span_b      // период Senkou Span B
   );
Документация по MQL5: Технические индикаторы / iIchimoku
Документация по MQL5: Технические индикаторы / iIchimoku
  • www.mql5.com
Технические индикаторы / iIchimoku - Документация по MQL5
 

La funzione OnTesterPass() non viene chiamata dopo tutti i passaggi di ottimizzazione, e salta sempre diversi passaggi di ottimizzazione. Questo accade anche se il frame viene creato forzatamente utilizzando un ciclo.

Come risultato dell'ottimizzazione di questo modello, il numero di passaggi nel giornale del terminale sarà sempre 5-20 passaggi in meno di quanto specificato per l'ottimizzazione.

Qual è lo scopo dell'ottimizzazione lenta e della funzione OnTesterPass() se fallisce sempre nel testare diversi passaggi che possono essere quelli cercati?

input int         StringReadOrSumma=1000;
//---
void OnTick()  {  }
//---
long PassNum;
string NameFrameStatistik="stat";
long FrameID_Statistik;
double OnTesterResult;
double ArrValueStatistik[];
//---
double OnTester()
  {
   ArrayResize(ArrValueStatistik,1);
   ArrValueStatistik[0]=StringReadOrSumma;
   if(!FrameAdd(NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik)) return(0.0);
   return(0.0);
  }
//---
void OnTesterPass()
  {
   if(!FrameNext(PassNum,NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik))
     { Print(__FUNCTION__,__LINE__);return;}

   static int numPass=0;
   numPass++;
   Print(ArrValueStatistik[0]," --- ",numPass);
  }
 
lewvik:

La funzione OnTesterPass() non viene chiamata dopo tutti i passaggi di ottimizzazione, e salta sempre diversi passaggi di ottimizzazione. Questo accade anche se il frame viene creato forzatamente utilizzando un ciclo.

Come risultato dell'ottimizzazione di questo modello, il numero di passaggi nel giornale del terminale sarà sempre 5-20 passaggi in meno di quanto specificato per l'ottimizzazione.

Che senso ha l'ottimizzazione lenta e la funzione OnTesterPass() se non testa mai diversi passaggi e quelli sono probabilmente quelli ricercati?

L'evento può essere generato per diversi fotogrammi contemporaneamente. Cioè è meglio leggere i fotogrammi in un ciclo, ad esempio while(!FrameNext(...)).

 
antt:

Un evento può essere generato per più fotogrammi contemporaneamente. Cioè è meglio leggere i frame in un ciclo, ad esempio while(!FrameNext(...)).

Ho provato a leggere i fotogrammi nel loop e creare nel loop, il risultato è lo stesso - alcuni passaggi scompaiono da qualche parte senza una traccia. Diversi fotogrammi o uno solo non creano alcuna differenza. Perché è così? È un bug o sono io qualcosa di sbagliato, se un bug - è un'ipotesi seria, come mai - ho cercato i parametri giusti e alla fine perso nella ricerca!

Richiesta di servizio#1007598| 2014.05.04 12:33

 

persone, che mi possono dire come in mql5 per calcolarela quantità di fondi liberi necessari per aprire 1 lotto di qualche simbolo

In mql4 so come, ma in mql5 non lo trovo

 

Un tale bug è stato rilevato nel tester EA. Cliente Metatrader 5. Costruire 930. Broker: Otkrytie. FORTI.

Nel tester gli ordini cancellati sono mostrati come se fossero stati eseguiti. Dice 2.0/2.0. Anche se l'ordine è appena stato cancellato:

Sul conto demo, gli ordini cancellati sono mostrati come non eseguiti (o parzialmente eseguiti). Per esempio 2.0/0.0 o 2.0/1.0. Che è il comportamento corretto:

Di conseguenza, questo bug interferisce nel tenere traccia della quantità effettiva eseguita. Quando si fa il test.

È un bug? :)

 
harbor:

persone, che mi possono dire come in mql5 per calcolarela quantità di fondi liberi necessari per aprire 1 lotto di qualche simbolo

In mql4 so come, ma in mql5 non lo trovo

Forse è così:

Print("Margin=", SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL)); 
 
escoman:

Un tale bug è stato rilevato nel tester EA. Cliente Metatrader 5. Costruire 930. Broker: Otkrytie. FORTI.

Nel tester gli ordini cancellati sono mostrati come se fossero stati eseguiti. Dice 2.0/2.0. Anche se l'ordine è appena stato cancellato:

Grazie per il messaggio. Corretto.