Questions des débutants MQL5 MT5 MetaTrader 5 - page 70

 

Bonjour !

Quelqu'un sait-il comment sortir les données d'un tableau vers un fichier en mode test à la fin d'un test ?

 
Andrey:

Bonjour !

Quelqu'un sait-il comment sortir les données d'un tableau vers un fichier en mode test à la fin d'un test ?

OnTester ou OnDeinit pour aider
 

ResetLastError() ;
filehandle=FileOpen("Test",FILE_WRITE, '\t') ;
si(filehandle!=INVALID_HANDLE)
{
for(int j=0 ; j<line;j++)
{
FileWrite(filehandle,speed_speedup[j][0] ;

}
FileClose(filehandle) ;
Print("FileOpen OK") ;
}

OnTester ou OnDeinit ou OnTesterDeinit ne fonctionne pas, le fichier n'est pas ouvert lors du test, il existe peut-être une autre méthode pour afficher le tableau.

 
Andrey:
   ResetLastError();
   filehandle=FileOpen("Test",FILE_WRITE,'\t');
   if(filehandle!=INVALID_HANDLE)
     {
      for(int j=0; j<line;j++) FileWrite(filehandle,speed_speedup[j][0]);
      FileClose(filehandle);
      Print("FileOpen OK");
     }

OnTester ou OnDeinit ou OnTesterDeinit ne fonctionne pas, le fichier n'est pas ouvert lors du test, il existe peut-être une autre méthode pour sortir le tableau.

1. Insérez le code correctement.

2. Quel est le code d'erreur renvoyé ?

 
Lester:

Quelqu'un a-t-il vu un EA où MA ou AMA ou DEMA se réfère à la poignée d'un autre indicateur ?
Aucun problème avec la théorie, le problème est dans le testeur. Et il doit y avoir quelqu'un qui a pu résoudre le problème. (Le personnel du Servicedesk a répondu...)

Salut,

Je l'ai fait sur MT4 :

for(i=0; i<malimit; i++)
       RSIBuffer[i]=iRSI(NULL,0,RSIPeriod,PRICE_CLOSE,i);
   for(i=0; i<malimit; i++)
       RSIEMA1Buffer[i]=iMAOnArray(RSIBuffer,0,RSIEMA1,0, MODE_EMA,i);

https://docs.mql4.com/ru/indicators/imaonarray ici montre MT4.

https://www.mql5.com/ru/articles/81 montre ici comment convertir en MT5.

Regardez sur la page où il est question de iMAOnArray.

Je ne l'ai pas encore fait moi-même dans MT5.

Bonne chance

iMAOnArray - Документация на MQL4
  • docs.mql4.com
iMAOnArray - Документация на MQL4
 
Veuillez indiquer comment définir une marge de prix du marché pour un ordre en attente.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Lester:

Personne n'a vu un EA où la MA ou AMA ou DEMA se réfère à la poignée d'un autre indicateur ?
Aucun problème avec la théorie, le problème est dans le testeur. Et il doit bien y avoir quelqu'un qui a pu résoudre ce problème. (Le personnel du Servicedesk a répondu...)

J'ai fait quelque chose, je vois qu'il y a une erreur, eh bien, qui peut aider.

dinde

Dossiers :
MA_MFI.ex5  14 kb
 
AlexGlazunov:
Veuillez indiquer comment définir une marge de prix du marché pour un ordre en attente.
double Bid,Ask,сдвиг_верх,сдвиг_вниз; 

Bid  = SymbolInfoDouble(Symbol(),SYMBOL_BID);
Ask  = SymbolInfoDouble(Symbol(),SYMBOL_ASK);

сдвиг_верх = NormalizeDouble(Ask + сколко там надо,Digits())
сдвиг_вниз = NormalizeDouble(Bid - сколко там надо,Digits())
 

Lester:
C'est très direct.

J'ai pris le corps de l'indicateur Custom Moving Average et j'ai mis le tampon MFI à l'intérieur.

J'ai changé le prix.

Je l'ai fait pour vous en tant qu'expert, juste un indicateur et un commentaire pour vérifier.

Dossiers :
MA_MFI_2.ex5  13 kb
 

J'ai quelques questions concernant le fonctionnement du testeur de stratégie dans mt5.

1) Lorsque j'ai utilisé le testeur de stratégie dans MT4 et que j'ai testé le robot sur la période précédemment optimisée, les résultats de l'optimiseur (profit pour la période d'optimisation, c'est-à-dire l'exécution du backtest) et les résultats du test (test avant) pour la même période ont donné des résultats adéquats. Y a-t-il un phénomène similaire dans MT5 ou pouvons-nous nous attendre à des profits différents obtenus pour la période optimisée et pour le test dans le même intervalle de temps ,,,, ? ???. ! !!! Et s'ils sont différents, quelle peut être l'ampleur de cette différence en points de pourcentage (0,1%, 5%, 200%, etc.) ? Et si une telle différence existe, quelle est sa nature ?


2) Si l'optimisation (backtest) a été réalisée sur une période de 10 mois et que l'option de test 1/4 forward a été choisie, à titre d'exemple, comment dois-je comprendre :

(a) L'optimisation a été exécutée pendant 10 mois et après 2,5 mois supplémentaires, l'optimiseur a vérifié les paramètres en dehors de la période d'optimisation. Donc, en fait, la période d'optimisation était de 12,5 mois au total.


ou

b) l'optimiseur divise 10 mois en deux intervalles - 3/4 et 1/4. Sur l'intervalle de 3/4 de 10 mois est l'optimisation et sur l'intervalle de 1/4 le test avant ?

Comment tout cela est-il organisé dans MT5 ?


3) Il s'agit d'une question de corrélation entre le temps d'optimisation (temps de backtest /BB/) et le temps de fonctionnement rentable du conseiller expert dans la période post-optimisation (temps de forward test rentable /FPT/). Si je ne me trompe pas, dans MT4, l'UPFT représentait environ 1/3 ou 1/4 du VB. Quel est ce ratio d'après votre expérience dans MT4 et MT5 respectivement ? Je comprends que vous puissiez dire que cela dépend de l'algorithme de l'EA, de la stratégie de trading, du TIMFrame (très important !) et probablement d'autre chose. C'est partiellement vrai et ces ratios varient, mais pour toute stratégie et pour toutes ses mises en œuvre programmatiques, il existe une certaine période WFT minimale, en deçà de laquelle il est tout simplement impossible d'agir. À mon avis, pour n'importe quelle paire de devises et pour n'importe quelle stratégie, la rentabilité de l'EA ne peut pas s'arrêter brusquement en même temps que la période de backtest (BB). Quelle est votre opinion à ce sujet ?