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

 
khorosh:
Eh bien, qu'est-ce qu'il y a à ne pas comprendre ? L'événementCHARTEVENT_OBJECT_CLICK fonctionne sur un graphique de test visuel et je n'ai pas besoin de plus pour contrôler un conseiller expert en mode test visuel. Pourquoi dois-je appeler Print à partir de l'événement) ?
Au contraire. Il y a quelque chose qui n'est pas clair pour vous. Mais peu importe.
 
Dmitry Fedoseev:
Au contraire. Il y a quelque chose que vous ne comprenez pas. Oh, allez.
Je suis d'accord, je suis très loin d'être un professionnel. Mais les contrôles du conseiller expert sur le graphique visuel fonctionnent en utilisant l'événementCHARTEVENT_OBJECT_CLICK. Je n'ai pas utilisé d'autres événements et je ne peux rien dire à leur sujet.
 
khorosh:
Je suis d'accord, je suis très loin d'être un professionnel. Mais les boutons du contrôle expert sur le test du graphique visuel utilisant l'événementCHARTEVENT_OBJECT_CLICK fonctionnent. Je n'ai pas utilisé d'autres événements et ne peux rien dire à leur sujet.
Ouais, ça bourdonne, donc ça marche.
 
Dmitry Fedoseev:
Ouais, ça bourdonne, donc ça marche.

Au fait, ce test fonctionne en mode de test visuel. Cet indicateur doit être placé dans le modèle du testeur, commencez à tester un modèle de conseiller expert vide et cliquez sur le graphique avec la souris.

//+------------------------------------------------------------------------+
//|                                                   TestOnChartEvent.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp.       |
//|                                             https://www.mql5.com       |
//+------------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---
   if(id==CHARTEVENT_CLICK)
     {
      Comment(GetTickCount());
      Print(GetTickCount());
     }  
  }
//+------------------------------------------------------------------+
 
khorosh:

Au fait, ce test fonctionne en mode de test visuel. Cet indicateur doit être placé dans le modèle du testeur, commencez à tester un modèle de conseiller expert vide et cliquez sur le graphique.

Où se trouve l'identificateurCHARTEVENT_OBJECT_CLICK dans votre code?

Je voisCHARTEVENT_CLICK, donc l'événement avec cet identifiant est conçu pour suivre le clic sur le graphique, pas sur l'objet graphique.

 
khorosh:

Au fait, ce test fonctionne en mode de test visuel. Cet indicateur doit être placé dans le modèle du testeur, commencez à tester un modèle de conseiller expert vide et cliquez sur le graphique avec la souris.

Le test (même en mode visuel), c'est-à-dire le travail dans le testeur (même en mode visuel) et le tableau de test visuel sont des choses différentes.

Vous n'appelez pas cet indicateur depuis un conseiller expert, vous le placez sur un graphique de test visuel. Il ne fonctionne pas dans le testeur, mais sur le tableau d'essai visuel.

 
Anatoli Kazharski:

Où se trouve l'identifiantCHARTEVENT_OBJECT_CLICK dans votre code?

Si vous mettez cet identifiant, vous devez également coder le bouton dans le test. Nous parlons de savoir si OnChartEvent fonctionne ou non pour les tests visuels, donc peu importe quel événement.
 
khorosh:
Si vous utilisez cet identifiant, vous devez également coder le bouton dans le test. Nous parlons de savoir si OnChartEvent fonctionne ou non pendant le test visuel, donc peu importe quel événement.
Pas dans le test visuel, mais dans le testeur. Dans le testeur, aussi bien en test normal qu'en test visuel, tout est identique et le ChartEvent n'y fonctionne pas. Mais lors des tests visuels, il y a un graphique et ChartEvent fonctionne dans les indicateurs.
 
khorosh:
Si vous définissez cet identifiant, vous devez également coder le bouton dans le test. Nous parlons de savoir si OnChartEvent fonctionne ou non pendant le test visuel, donc peu importe quel événement.

Vous avez déjà tellement "mouliné" ici que vous semblez confondre ce qui est important pour vous et ce qui ne l'est pas.

Dans votre discours, presque dans chaque post, vous parliez deCHARTEVENT_OBJECT_CLICK, mais dans le code vous avez présenté un identifiant différent. Et soudain, ce n'était plus important du tout. ))

 
Dmitry Fedoseev:
Pas dans le test visuel, mais dans le testeur. Dans le testeur, que ce soit lors des tests normaux ou visuels, tout est identique, et le ChartEvent n'y fonctionne pas. Mais lors des tests visuels, il y a un graphique et ChartEvent fonctionne dans les indicateurs.
J'accepte. A partir de maintenant, je distinguerai ces choses et serai plus précis dans la présentation de l'essence de l'utilisation du ChartEvent pendant les tests).
Raison: