Discussion de l'article "Expert Advisor basé sur les « Nouvelles dimensions en trading » livre écrit par Bill Williams" - page 4

 
natyog:
et le journal

Algorithme incorrect pour parcourir toutes les positions - la position a été sélectionnée par SIMPLE :

void C_TS_BW::TrailingStop(void)
  {
   bool select=pos_info.Select(m_Symbol);

et il a fallu organiser la traversée de toutes les positions et sélectionner une position par son index dans la liste des positions, quelque chose comme ceci (ce n'est qu'un exemple) :

//+------------------------------------------------------------------+
//| Calculer les positions d'achat et de vente|
//+------------------------------------------------------------------+
void CalculatePositions(int &count_buys,int &count_sells)
  {
   count_buys=0.0;
   count_sells=0.0;

   for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // sélectionne la position par l'index pour un accès ultérieur à ses propriétés
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
           {
            if(m_position.PositionType()==POSITION_TYPE_BUY)
               count_buys++;

            if(m_position.PositionType()==POSITION_TYPE_SELL)
               count_sells++;
           }
//---
   return;
  }


algorithme de modification de position incorrect - la position a été sélectionnée par SIMBOLE

bool  PositionModify( 
   const string  symbol,     // symbole 
   double        sl,         // Prix du Stop Loss 
   double        tp          // Prix du Take Profit 
   )

et la position aurait dû être sélectionnée par ticket :

bool  PositionModify( 
   const ulong   ticket,     // ticket de position 
   double        sl,         // Prix du Stop Loss 
   double        tp          // Prix du Take Profit 
   )
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
 

En attendant que l'auteur fasse des corrections.

 

L'Expert Advisor a été développé et l'article a donc été conçu à une époque où l'on n'osait même pas parler de comptes de couverture pour mt5.

Par conséquent, la sélection des positions a été réalisée par symbole.

 
Alexey Klenov:

L'Expert Advisor a été développé et l'article a été conçu en conséquence alors que les comptes de couverture pour mt5 n'osaient même pas être mentionnés.

C'est pourquoi la sélection des positions a été réalisée par symbole.


Les comptes de couverture ont déjà un an. Par conséquent, veuillez effectuer tous les changements que j'ai mentionnés ci-dessus.

 

Pour qu'il fonctionne parfaitement sur les deux types de comptabilité (stock et couverture), il est nécessaire d'apporter de nombreuses modifications au code de l'Expert Advisor, et pas seulement dans la section avec le stop suiveur.

Je le ferai dès que possible.

 

Sur les comptes en mode de compensation chez 2 courtiers (BKS-Forex et Roboforex) pendant les tests (les réglages et les paramètres de test sont joints)

le stop suiveur sur la ligne rouge (historique et opérations - en annexe) est effectué sur les dents[5] contrairement au stop suiveur sur les dents[0] indiqué dans le code de l'Expert Advisor.

dents[0].

Cependant, en négociant sur un compte de démonstration de Roboforex et BKS-Forex, le stop suiveur est toujours tracé par les dents de la barre actuelle.

Mais lorsque l'on négocie sur le compte réel de BKS-Forex, les stops vont à nouveau sur les dents[5].

Il ne devrait pas en être ainsi.

 

Bonjour, j'ai compilé le code et j'ai essayé de l'utiliser dans le testeur, mais aucune opération ne se produit. Que dois-je changer dans les paramètres? Je vous remercie.

 
Comment fonctionne le chalut ? Le stop loss sur la ligne rouge de l'alligator est chaluté (dents) ?
 
natyog:

Sur les comptes en mode de compensation chez 2 courtiers (BKS-Forex et Roboforex) pendant les tests (les réglages et les paramètres de test sont joints)

le stop suiveur sur la ligne rouge (historique et opérations - en annexe) est effectué sur les dents[5] contrairement au stop suiveur sur les dents[0] indiqué dans le code de l'Expert Advisor.

dents[0].

Cependant, en négociant sur un compte de démonstration de Roboforex et BKS-Forex, le stop suiveur est toujours tracé par les dents de la barre actuelle.

Mais lorsque l'on négocie sur le compte réel de BKS-Forex, les stops vont à nouveau sur les dents[5].

Il ne devrait pas en être ainsi.

C'est normal. La ligne rouge de la barre 5 à la barre 0 a une ligne droite - trawl sur teeth[0]. Et sur vos deux dessins extrêmes - il y a aussi la fermeture du chandelier actuel avec le franchissement de la ligne rouge - sortie de la position.

 

Bonjour.

Disons que j'ai mis la main à la pâte pour moderniser l'Expert Advisor pour les comptes de couverture

J'ai aussi fait quelques changements

  • Les analyses de trall à 5 barres sont uniquement AO sans AC lors de la prise en compte de la tendance sur l'alligator (cela semble donc mieux fonctionner).
  • L'indicateur Alligator est initialisé avec les paramètres de décalage des paramètres pour le rendre plus clair dans le mode de test visuel.
  • avec toutes les variantes de fractions désactivées, il pourrait y avoir des cas où le chalut se déclenche et une nouvelle entrée sur la tendance pourrait être par la fractale "annulée" plus tôt par le prix - j'ai éliminé cette situation.
Je demande à tous ceux qui ne sont pas indifférents de vérifier ce qui s'est passé et de faire part de leurs commentaires.
Dossiers :