Faites glisser et déposez SL et TP dans le testeur.

 
Est-il possible de créer une telle fonctionnalité pour faire glisser le SL et le TP sur le graphique pendant les tests ?
 
khorosh:
Est-il possible de créer une telle possibilité de faire glisser le SL et le TP sur le graphique pendant les tests ?
Seulement les virtuels - avec des lignes horizontales. Fixez des lignes au lieu de prendre et de perdre, et utilisez-les pour faire des sorties.
 
Vitaly Muzichenko:
Seulement les virtuels - avec des lignes horizontales.
Je pense que vous pouvez. J'ai une idée approximative de la variante possible mais nous devons essayer de la vérifier. Par exemple, j'utilise déjà le placement d'ordres pendant les tests en faisant glisser le script vers un certain point du graphique. Je pense que nous devrions utiliser l'événementCHARTEVENT_CLICK pour exécuter le script oùnous devrions lire les coordonnées du curseur et utiliser ces données pour modifier un ordre.
 
khorosh:
Il me semble que c'est possible. Je vois approximativement une variante possible, mais nous devrions essayer de la vérifier. Par exemple, j'utilise déjà le placement d'ordres pendant les tests en faisant glisser le script vers un point nécessaire sur un graphique. Je pense que nous devrions utiliser l'événementCHARTEVENT_CLICK pour exécuter le script oùnous devrions lire les coordonnées de la souris et utiliser ces données pour modifier un ordre.

OnChartEvent ne fonctionne pas dans le testeur. Mais il existe quelques idées pour y parvenir.

J'ai posté mon projet sur le trading dans le testeur sur le blog, je vais peut-être essayer d'ajouter la modification du SL et du TP. La question est de savoir comment spécifier pour quel ordre nous fixons les points et les arrêts ? Dois-je d'abord cliquer sur les lignes de commande ?

 
Alexey Volchanskiy:

Le OnChartEvent ne fonctionne pas dans le testeur. Mais il existe quelques idées pour y parvenir.

J'ai posté mon projet sur le trading dans le testeur sur le blog, je vais peut-être essayer d'ajouter la modification du SL et du TP. La question est de savoir comment spécifier pour quel ordre nous fixons les points et les arrêts. Premier clic sur les lignes de commande ?

Regardez comment nous reconnaissons la position à laquelle appartient l'ordre. Je n'exposerai pas le code source, mais l'affaire est claire sans lui. Mettez-le dans le dossier "Experts".

Dossiers :
TP.ex4  731 kb
 
Alexey Volchanskiy:

LeOnChartEvent ne fonctionne pas dans le testeur. Mais il existe quelques idées pour y parvenir.

J'ai posté mon projet sur le trading dans le testeur sur le blog, je vais peut-être essayer d'ajouter la modification du SL et du TP. La question est de savoir comment spécifier pour quel ordre nous fixons les points et les arrêts ? Premier clic sur les lignes de commande ?

Cela ne fonctionne pas. J'ai des boutons sur un graphique dans le testeur qui contrôlent l'EA pour le trading manuel. L'événement qui consiste à cliquer sur le bouton utiliseOnChartEvent. Je teste les stratégies en mode visuel.

 
Vitaly Muzichenko:

Oui."Lorsque vous testez dans un Expert Advisor, vous pouvez gérer les événements personnalisés en utilisant la fonctionOnChartEvent(), mais dans les indicateurs, cette fonction n'est pas appelée dans le testeur. Même si un indicateur possède un gestionnaireOnChartEvent() et que cet indicateur est utilisé dans un conseiller expert en cours de test, l'indicateur lui-même ne recevra aucun événement personnalisé. "

J'ai des boutons de contrôle dans l'indicateur permanent et j'utiliseOnChartEvent . Tout fonctionne.
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
khorosh:

Comment cela peut-il ne pas fonctionner ? J'ai des boutons sur le graphique dans le testeur qui contrôlent le conseiller expert pour le trading manuel. L'événement qui consiste à appuyer sur le bouton utiliseOnChartEvent. Je teste les stratégies en mode visuel.

Avez-vous un conseiller expert pour MT4 ou MT5 ?
 
Alexey Volchanskiy:
Avez-vous un conseiller expert pour MT4 ou MT5 ?
MT4. Je ne travaille pas avec MT5.
 
khorosh:
MT4. Je ne travaille pas avec MT5.

Ok, je vérifierai à nouveau demain. J'ai regardé dans l'aide 950 build, toutes les restrictions sont toujours là.

----------------------------------------- de l'aide VN4 950 construire ----------------

Manuel MQL4 / Programmes MQL4 / Caractéristiques des programmes dans le testeur de stratégie

Gestion des événements dans le testeur de stratégie

Les événements suivants sont traités dans le testeur de stratégie : initialisation de l'EA avant une exécution unique OnInit(), désinitialisation d'un EA après une exécution unique OnDeInit(), simulation d'un nouveau tick OnTick().

En outre, lorsqu'un Expert Advisor a été testé sur des données historiques, l'événement Tester est généré avant l'appel de OnDeInit(), et il est traité dans la fonction OnTester(). La valeur renvoyée par cette fonction est utilisée comme critère Custom max lors de l'optimisation des paramètres d'entrée.

La gestion des événements Timer et ChartEvent n'est pas prise en charge dans le testeur de stratégie.

---------------------------------------

J'ai un mode séparé pour le testeur, je surveille l'état des boutons par OnTick.

 
Alexey Volchanskiy:

Ok, je vérifierai à nouveau demain. J'ai regardé dans l'aide 950 build, toutes les restrictions sont toujours là.

----------------------------------------- de l'aide VN4 950 construire ----------------

Manuel MQL4 / Programmes MQL4 / Caractéristiques des programmes dans le testeur de stratégie

Gestion des événements dans le testeur de stratégie

Les événements suivants sont traités dans le testeur de stratégie : initialisation de l'EA avant une exécution unique OnInit(), désinitialisation d'un EA après une exécution unique OnDeInit(), simulation d'un nouveau tick OnTick().

En outre, lorsqu'un Expert Advisor a été testé sur des données historiques, l'événement Tester est généré avant l'appel de OnDeInit(), et il est traité dans la fonction OnTester(). La valeur renvoyée par cette fonction est utilisée comme critère Custom max lors de l'optimisation des paramètres d'entrée.

Le traitement des événements Timer et ChartEvent n'est pas pris en charge dans le testeur de stratégie.

---------------------------------------

J'ai créé un mode séparé pour mon testeur, je surveille l'état des boutons par OnTick.

Il y a beaucoup de choses qui ne sont pas prises en charge par l'aide. Lorsqu'elles sont testées, par exemple, à partir d'un Expert Advisor, les séries temporelles des autres TF sont lues normalement, mais lorsqu'elles sont appelées à partir d'un indicateur, elles montrent les valeurs qu'elles avaient au moment du début du test. Je ne sais pas, peut-être que je ne comprends pas bien ces événements, car je ne suis pas un proger professionnel. Mais dans mon cas, lorsque j'appuie sur le bouton, un certain code est attribué à une variable globale du terminal, le code est décrypté dans l'Expert Advisor et utilisé pour une certaine opération. Et cela fonctionne exactement de la même manière, tant dans le testeur que dans la vie réelle. J'ai fait les boutons dans l'indicateur, bien que je suppose que cela aurait pu être fait directement dans le Conseiller Expert. L'indicateur est plus pratique car je n'ai pas besoin de créer des boutons dans chaque EA, un indicateur suffit.

Raison: