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

 
Dmitry Fedoseev:
J'aimerais aussi penser à quelque chose pour que, lors du travail sur le compte, l'EA réagisse immédiatement aux variables globales créées par l'indicateur, plutôt que d'attendre un tick.
Un minuteur ne fonctionnerait-il pas pour tout sonder ?
 
khorosh:
Pour une raison quelconque, l'EA n'est censé démarrer qu'avec un tick. Ce serait bien s'il pouvait aussi fonctionner sur un événement. Il est possible d'utiliser uniquement un script en boucle au lieu d'un EA, mais là encore, cela représente une charge importante pour l'ordinateur. Une seule exécution du script peut-elle être codée d'une manière ou d'une autre par un événement ? Le script peut être lancé à l'aide de touches de raccourci. Que diriez-vous de simuler l'appui sur ces touches de raccourci en utilisant des événements ? Le code du script doit être rendu absolument identique à celui du conseiller expert. Ensuite, il fera la même chose que le conseiller expert dans l'intervalle entre les ticks.
Je viens de trouver quelque chose de similaire.https://www.mql5.com/ru/forum/3990
Ускорение работы эксперта путем запуска дополнительного скрипта
Ускорение работы эксперта путем запуска дополнительного скрипта
  • www.mql5.com
В MQL5 ввели механизм, при котором эксперт не ждет результат выполнения торговой операции. - - Категория: общее обсуждение
 

Tout d'abord, nous devons vérifier où l'événement graphique se produit d'abord dans l'indicateur ou dans l'EA, si c'est dans l'indicateur (le plus probable), alors en travaillant dans le testeur, nous attrapons les globaux dans onTick(), et en travaillant dans le compte dans onChartEvent().

Le chronomètre n'est pas intéressant, il n'implique pas une réaction instantanée.

 

Lors de la définition de chaque ordre, vous créez deux objets stop et profit, puis à chaque tick vous les lisez et vérifiez s'ils ont changé par rapport aux réels, si c'est le cas, vous modifiez l'ordre... puis faites-les glisser sur le graphique comme vous le souhaitez.

SL=NormalizeDouble(ObjectGetDouble(0,sltx,OBJPROP_PRICE,0),digit);
TP=NormalizeDouble(ObjectGetDouble(0,tptx,OBJPROP_PRICE,0),digit);
 
noloxe:

Lors de la définition de chaque ordre, vous créez deux objets stop et profit, puis à chaque tick vous les lisez et vérifiez s'ils ont changé par rapport aux réels, si c'est le cas, vous modifiez l'ordre... puis faites-les glisser sur le graphique comme vous le souhaitez.

Cette option a déjà été suggérée auparavant. Je voudrais en quelque sorte l'organiser avec des événements sans lignes supplémentaires.
 

...créer des flèches/tirets plutôt que des lignes)

lesévénements dans le testeur ne fonctionnent pas

ps. s'il n'y a qu'un seul ordre ouvert dans l'EA au même moment, alors les objets stop et profit doivent être réinitialisés sur le nouvel ordre.

 
Dmitry Fedoseev:

Tout d'abord, nous devons vérifier où l'événement graphique se produit d'abord dans l'indicateur ou dans l'EA, si c'est dans l'indicateur (le plus probable), alors en travaillant dans le testeur, nous attrapons les globaux dans onTick(), et en travaillant dans le compte dans onChartEvent().

Le chronomètre n'est pas intéressant, il n'implique pas une réaction instantanée.

Eh bien, je ne m'en préoccuperais pas. Boutons interrogés dans une minuterie de millisecondes, et ensuite - une question de technique.
 
noloxe:

...créer des flèches/tirets plutôt que des lignes)

les événements dans le testeur ne fonctionnent pas

ps. S'il n'y a qu'un seul ordre ouvert dans l'EA au même moment, alors les objets stop et profit sont les mêmes que pour le nouvel ordre.

Les événements fonctionnent dans l'indicateur installé sur la carte visuelle du testeur. J'ai une idée : chaque pression sur le bouton +SL ou -SL déplace SL d'un point ou de 5 points, selon les besoins. Ce qui, bien sûr, n'est pas une corvée, mais n'est pas mauvais non plus. Peut-être même mieux. Je vais probablement m'arrêter à celui-ci. (Simple et de bon goût.) Il est facile à mettre en œuvre avec une seule commande. Mais, si nous en avons plusieurs, nous devrons mettre en place un autre dispositif de déclenchement des commandes. Mais, en général, je teste les stratégies avec un seul ordre.

 
khorosh:

Dans l'indicateur installé sur le graphique de test visuel, les événements fonctionnent. J'ai eu l'idée suivante : chaque pression sur le bouton +SL ou -SL déplace SL d'un point, ou de 5 points, selon ce qui est nécessaire. Ce qui, bien sûr, n'est pas une corvée, mais n'est pas mauvais non plus. Peut-être même mieux. Je vais probablement m'arrêter à celui-ci. (Simple et de bon goût.) Il est facile à mettre en œuvre avec une seule commande. Mais, si nous en avons plusieurs, nous devrons mettre en place un autre dispositif de déclenchement des commandes. Mais, en général, je teste les stratégies avec un seul ordre.

Avez-vous essayé le fichier que j'ai joint à la première page ? Essayez de faire glisser la ligne - c'est très pratique et rapide, essayez de le mettre en œuvre à votre façon.
 
Vitaly Muzichenko:
Avez-vous essayé le fichier que j'ai joint à la première page ? Essayez de faire glisser la ligne - c'est très pratique et rapide, essayez aussi vous-même.
Eh bien, je connais le principe depuis longtemps. Je veux juste penser à quelque chose de nouveau. Votre conseiller expert est à moitié terminé. Lors du tracé des lignes, la modification du stop and take ne se produit pas et, en général, le stop and take initial n'est pas défini ou je dois cliquer sur quelque chose pour cela. Je ne le comprends pas.