Erreurs, bugs, questions - page 349

 

1. J'ai écrit un indicateur CCFp https://www.mql5.com/ru/articles/1472. Le code contient l'initialisation de plusieurs MAs.

L'Expert Advisor, qui utilise 3 indicateurs de ce type avec des paramètres différents, ne veut pas tester : après la synchronisation des paires, le tsetra (ou les agents) est déconnecté.

2. Si j'initialise МА non pas dans OnInit(), mais dans OnCalculate(), le code EA basé sur cet indicateur fonctionnera-t-il plus rapidement ? (l'indicateur est calculé uniquement sur une nouvelle barre).

Практическое применение кластерных индикаторов на рынке FOREX - Статьи по MQL4
  • www.mql5.com
Практическое применение кластерных индикаторов на рынке FOREX - Статьи по MQL4: примеры использования экспертов, тестирования и оптимизации
 
Ashes:

Construire 425

Je suis confus par cette situation avec le testeur : l'EA est exécuté plusieurs fois dans les mêmes conditions, mais les résultats des exécutions sont différents. La différence est minime, mais...

Vérifié sur deux machines, j'obtiens 2 résultats différents, avec une probabilité approximativement égale. Qu'est-ce que ça veut dire ?

C'est-à-dire que deux passages consécutifs sur le même compte, la même histoire donnent des résultats différents ?

Il s'agit alors d'un sujet pour une demande de servicedesk. Vous devez voir un conseiller expert.

Décrivez les paramètres de lancement, symbole, période, serveur...

 
52_rus:

1. J'ai écrit un indicateur CCFp https://www.mql5.com/ru/articles/1472. Le code contient l'initialisation de plusieurs MAs.

L'Expert Advisor, qui utilise 3 indicateurs de ce type avec des paramètres différents, ne veut pas tester : après la synchronisation des paires, le tsetra (ou les agents) est déconnecté.

2. Si j'initialise МА non pas dans OnInit(), mais dans OnCalculate(), le code EA basé sur cet indicateur fonctionnera-t-il plus rapidement ? (l'indicateur est calculé uniquement sur une nouvelle barre).

L'initialisation doit être effectuée dans OnInit(), sauf si l'indicateur n'a pas été créé pour une raison quelconque.
 

Ensuite, lorsque j'utilise 3 indicateurs de ce type dans mon EA, environ 56*3 MAs sont initialisées, donc lorsque j'essaie de l'exécuter, le testeur s'arrête juste après que les cotations soient synchronisées.

Autre question : existe-t-il un moyen de fabriquer un indicateur standard (par exemple, МА) à partir d'un des tampons d'un autre indicateur ?

Par exemple, MASignal_Handle=iMA(_Symbol,_Period,InpSignal,0,MODE_SMA, CCFp_Handle) ; CCFp_Handle possède 8 tampons.

Ou bien cette AM sera-t-elle appliquée à chacun des tampons indicateurs ?

 
alexvd:

Donc deux passages consécutifs sur le même compte, la même histoire, donnent des résultats différents ?

Il s'agit alors d'un sujet pour une application de service desk. Vous devez consulter un expert.

Décrire les paramètres de lancement, symbole, période, serveur...

Exactement.

Je ne sais pas où c'est, Service Desk... Je l'ai déjà vu !

Paramètres de lancement sur l'image, le serveur est MetaQuotes (championnat 2010)

 
52_rus:

Ensuite, lorsque j'utilise 3 indicateurs de ce type dans mon EA, environ 56*3 MAs sont initialisées, donc lorsque j'essaie de l'exécuter, le testeur s'arrête juste après que les cotations soient synchronisées.

Autre question : existe-t-il un moyen de fabriquer un indicateur standard (par exemple, МА) à partir d'un des tampons d'un autre indicateur ?

Par exemple, MASignal_Handle=iMA(_Symbol,_Period,InpSignal,0,MODE_SMA, CCFp_Handle) ; CCFp_Handle possède 8 tampons.

Ou bien cette AM sera-t-elle appliquée à chacun des tampons indicateurs ?

Non, vous ne pouvez pas faire cela, seulement si l'indicateur contient un tampon. Sinon, vous devez écrire votre propre code MA.
 
52_rus:

1. J'ai écrit un indicateur CCFp https://www.mql5.com/ru/articles/1472. Le code contient l'initialisation de plusieurs MAs.

L'Expert Advisor, qui utilise 3 indicateurs de ce type avec des paramètres différents, ne veut pas faire de test : après la synchronisation des paires, les tsetra (ou agents) se déconnectent.

Il est probable qu'ils n'ont pas le temps de s'initialiser complètement. L'idée est d'utiliser sleep(pause) pour donner du temps à l'initialisation et au calcul initial, mais je ne sais pas si sleep() fonctionnera dans le testeur.

J'ai été confronté à la même chose, jusqu'à présent un expert ne démarre pas de manière fiable dans le testeur (également avec l'indicateur "épais"), je n'ai toujours pas eu le temps de le terminer.

 
papaklass:

Pourquoi ne dessine-t-il pas de flèches dans le testeur ? Quand il n'est pas dans le testeur, il le fait. En le faisant tourner dans le testeur, il ne dessine pas de flèches. Voici le code :


Qui sait quel est le problème ?

Le testeur ne veut pas dessiner, c'est tout.
 
papaklass:

Pourquoi ne dessine-t-il pas de flèches dans le testeur ? Quand il n'est pas dans le testeur, il le fait. En le faisant tourner dans le testeur, il ne dessine pas de flèches. Voici le code :

statique int arr ;

. . . . . . . .

arr = ObjectsTotal(0,-1,-1) ;
arr++ ;
name += (string)arr ;
ObjectCreate(0,name,OBJ_ARROW,0,0,0,0) ;//créer la flèche
ObjectSetInteger(0,name,OBJPROP_ARROWCODE,241) ; // définir le code de la flèche
ObjectSetInteger(0,name,OBJPROP_TIME,currentTime[0]) ; // Définit l'heure.
ObjectSetDouble(0,name,OBJPROP_PRICE,1.61560) ; // fixer le prix
Qui sait quel est le problème ?

Parce que le support des objets est désactivé dans le testeur
 
papaklass:
Merci pour les réponses. Et quelle est la solution si vous devez dessiner ?

1. Écrivez à votre testeur

2. Attendez la visualisation

Raison: