[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 915

 
ViktorF:

Bonjour !

Question sur le testeur :

Lorsque je teste des EAs, le testeur arrête de traiter les prix après une rupture de s/l. Que dois-je faire pour éviter cela ? Que dois-je faire si je veux que le testeur continue à tester l'EA après avoir franchi le stop ?


Peut-être avez-vous un script, pas un EA))) et quelle période de test définissez-vous ?

Si tout va bien, postez l'EA, quelqu'un vous dira ce qu'il faut faire.

 
gheka:


Peut-être avez-vous un script, pas un EA))) et quelle période de test définissez-vous ?

Si vous êtes d'accord, postez l'EA, quelqu'un vous le dira.


La plupart du temps 30 minutes.

Le plus intéressant est que lorsque je contourne les stop-loss par une fermeture forcée, les prix sont traités plus avant et la courbe du graphique continue à être dessinée. Mais si je ferme le même ordre à un stop (en modifiant un peu le code de l'EA) - le test s'arrête après une rupture du stop.... Peut-être devriez-vous modifier certains paramètres dans les réglages du testeur?

 
gheka:

Les amis ! Existe-t-il une fonction qui renvoie la valeur d'une perte fixe en pips pour fermer un ordre ?

Je sais qu'il y a un OrderStopLoss, mais c'est un prix perdant.

Je sais qu'il y a un OrderStopLoss - mais c'est une valeur du prix à perte, mais je n'ai rien trouvé, aidez-moi

Cherchez ici... :)

 
ViktorF:


La plupart du temps 30 minutes.

La chose la plus intéressante : lorsque je contourne les stops par une fermeture forcée - les prix sont traités plus avant et la courbe du graphique continue à être dessinée. Mais si je ferme le même ordre par un stop (en modifiant un peu le code de l'Expert Advisor) - le test s'arrête après la rupture d'un stop... Peut-être devriez-vous modifier certains paramètres dans les réglages du testeur ?

 
ViktorF:


La plupart du temps 30 minutes.

La chose la plus intéressante : lorsque je contourne les stops par une fermeture forcée - les prix sont traités plus avant et la courbe du graphique continue à être dessinée. Mais si je ferme le même ordre par un stop (en modifiant un peu le code de l'Expert Advisor) - le test s'arrête après la rupture d'un stop... Peut-être devriez-vous modifier certains paramètres dans les réglages du testeur ?

Il est fort probable qu'une erreur se soit glissée dans le code de l'EA et qu'il ait cessé d'ouvrir de nouvelles positions après la fermeture d'un stop.
 

Bonjour !

Question sur le testeur de stratégie : Lors de l'essai dans le testeur de journal pas de résultats avec les enregistrements, dans les enregistrements d'erreur terminal log aussi pas de ..... à la fin de la barre de chargement, dans le testeur, il ya un grincement méchant. conseiller se trouve dans le dossier experts toutes les cases à cocher sont réglés cent aide plz ?

 
artmedia70:

Cherchez ici... :)


Merci ! !!
 
artmedia70:
Il s'agit probablement d'une erreur dans le code de l'EA et après avoir fermé sur un stop, il arrête d'ouvrir de nouvelles positions.

Je pense avoir trouvé l'erreur : la case à cocher ne change pas de valeur après la clôture de l'ordre par le stop (c'est-à-dire pas par l'EA lui-même). Comment je peux contourner ça ?
 
ViktorF:

Je pense avoir trouvé l'erreur : le drapeau ne change pas de valeur après la clôture de l'ordre par le stop (c'est-à-dire pas par l'Expert Advisor). Comment contourner cela intelligemment ?

Dans l'EA, vérifiez si l'ordre est fermé sur un stop. Et si oui, changez la valeur de votre drapeau.

Vous pouvez utiliser la fonction prête à l'emploi d'Igor Kim pour déterminer si la dernière position fermée l'a été par un stop.

Ou vous pouvez le faire vous-même. Quoi qu'il en soit, il peut s'agir d'un bon exemple pour vous permettre de commencer :

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия последней позиции по стопу.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, osl;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
              }
            }
          }
        }
      }
    }
  }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo(sy, MODE_DIGITS);
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    osl=NormalizeDouble(OrderStopLoss(), dg);
    if (ocp==osl) return(True);
  }
  return(False);
}
 
artmedia70:

Dans l'EA, vérifiez si l'ordre est fermé sur un stop. Et si oui, changez la valeur de votre drapeau.

Vous pouvez utiliser la fonction prête à l'emploi d'Igor Kim pour déterminer si la dernière position fermée l'a été par un stop.

Ou vous pouvez le faire vous-même. Dans tous les cas, il s'agira d'un bon exemple pour vous permettre de commencer :


Merci ! Je vais faire un essai)
Raison: