Je rédigerai un conseiller gratuitement - page 150

 
Александр:

Je vous l'ai déjà donné quelque part. En voici d'autres.

Je veux dire, quelle fonctionnalité a été modifiée ? )))) Je ne connais pas le code

 
Александр:

Le marché ne se déplace pas par les pips, c'est-à-dire qu'il ne se déplace pas par les pips à la base. Il se déplace de niveau en niveau. La distance se mesure mieux en temps de tendance. Peut-être en ticks, mais pas en pips.

Et ? Y a-t-il un code, pouvez-vous le partager ? Je ne le comprends pas, pour être honnête.
 

Je suis en train d'apprendre, donc quelque chose commence à sortir. Cet EA utilise la stratégie décrite ci-dessus (sans trailing stop jusqu'à présent), en fermant les trades au TP ou à l'ouverture du TP opposé, en transférant au Breakeven +5 pips lorsque le prix du TP atteint 100 pips depuis l'ouverture.

Je travaille avec 30M EURUSD, ces 4 dernières années, je perds sur l'historique depuis 1999, mais ça a duré jusqu'en 2014)....

Si vous voulez participer à l'amélioration, je peux vous envoyer le code source.

Si vous jouez avec des périodes d'"ondulation", peut-être que quelque chose de bon en sortira, plus Manimental et/ou Martingale.

Ainsi, la performance globale n'est pas mauvaise : drawdown 32%, trades perdants 33%, le gain attendu n'est pas si bon.


 
Ivan:

Je veux dire, quelle fonctionnalité a été modifiée ? )))) Je ne comprends pas le code

1. Une précision accrue.

2. L'équité zéro est prise en compte.

 
Дмитрий Хлыстов:
Et ? Y a-t-il un code, pouvez-vous le partager ? Je ne le comprends pas, pour être honnête.
//+------------------------------------------------------------------+
input int  BarrierMinute_Buy;
datetime   openTime = 0;
////////////////////////////////
int start()
{

         CheckForLongetivityClose();
{
....Ваш код
}


}
//+------------------------------------------------------------------+
void CheckForLongetivityClose()
  {
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
        {
         datetime openTime = OrderOpenTime();
         datetime timeDistance = TimeCurrent() - openTime;
         if(OrderType() == OP_BUY)
           {
            if(timeDistance > 60 * BarrierMinute_Buy)
              {
               int a=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3,Red);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
Clôture sur le temps écoulé depuis le début de l'ouverture de l'ordre. Pour les longs. C'est plus compliqué avec les niveaux.
 
Александр:
Il est clôturé par le temps écoulé depuis l'ouverture de l'ordre. Pour les positions longues. C'est plus difficile avec les niveaux.

Alexander, ok. Mais une telle stratégie doit être justifiée d'une manière ou d'une autre ? Pourquoi ne pas attendre le TP, par exemple ? et que se passe-t-il si la clôture est une perte ? ce n'est toujours pas très clair.

Comment cette stratégie se justifie-t-elle et où peut-elle être appliquée ? Il pourrait tout aussi bien être interdit d'autoriser l'EA à effectuer des transactions longues.

 
Александр:

1. Amélioration de la précision.

2. L'équité zéro a été prise en compte.

Bien, alors veuillez transférer ces changements à la version

Indicateur de chocs Ver 4

pour que tout soit dans une seule version

 
Дмитрий Хлыстов:


Ce qui ne fonctionne pas et doit être complété :

1. Le Stop Loss et le Take Profit sont fixés à des valeurs de 100 et 200 respectivement, ces niveaux ne sont pas suffisants. Il est nécessaire de calculer le stop loss minimum/maximum à partir de l'ensemble des chandeliers des X dernières barres (le nombre de barres X est défini comme un paramètre d'entrée) et de calculer le take profit à partir de celui-ci. Le point le plus important, car le robot échoue exactement à cause de la fermeture sur le stop, même si le signal était correct et que le bénéfice aurait été plus important.

2. Le robot, pour une raison quelconque, ouvre (dans le testeur) plusieurs ordres sur la même barre à quelques ticks près, même s'il vérifie l'ouverture d'un ordre sur la même barre (emprunté à ce forum), mais cela ne fonctionne pas. Nous devons modifier le contrôle et voir pourquoi il ne fonctionne pas.

3. Compléter l'ajout d'un trailing stop (paramètres entrants du robot) lorsque la BU atteint un certain niveau, par exemple, 1/2 du TP calculé (il est également possible de spécifier le facteur BU dans les paramètres, par exemple, de 0,3 à 0,7). Le suivi séparé est décrit dans le robot (le code est tiré de ce forum), mais il ne tient pas compte de la BU. De plus, pour une raison quelconque, il ne fonctionne pas dans le testeur de stratégie, j'ai besoin de comprendre pourquoi.

4. Je veux ajouter la gestion de l'argent, mais je ne sais pas comment. Par exemple, l'interdiction d'ouvrir des ordres de plus de 5 dans une direction, s'ils sont actifs. Ou interdire les échanges lors du réglage du solde/des fonds propres du compte.

5. Martingale. Filtrage des signaux. (facultatif)


Ce que vous avez déjà réalisé :

1. Calcul du minimum par la "boîte" de l'histoire.

2. l'ouverture a été corrigée, grâce à Aleksey. Je n'ai pas remarqué qu'il y avait plus d'ordres sur une barre.

3. les arrêts de traçage, mais il l'a désactivé car il ne donne pas un grand effet.

4. la gestion de l'argent devrait être améliorée ! j'ai ajouté seulement l'ouverture de lots flottants (% du solde).

5. j'ai ajouté une clé Martin, si une transaction précédente a été fermée avec une perte, la prochaine sera ouverte avec le ratio spécifié dans les paramètres.


Quant au 4ème point, avez-vous des idées ? J'aimerais essayer d'ajouter différentes tactiques et voir, par exemple, l'ouverture vers le côté opposé sous certaines conditions ou l'ouverture de plusieurs ordres dans une direction par une certaine étape avec un multiplicateur, etc.

Quant à martin, il a donné quelques résultats, mais pas renversants, et le drawdown est devenu insensé. En général, j'ai toujours besoin d'un MM)


 
Aleksei Stepanenko:

D'accord

J'ai une autre idée, pour sortir les points de ch1 à m15, je scalpe sur m15 et les niveaux sont donnés par ch1.

Il serait intéressant d'implémenter une telle fonction, peut-être avec une couleur ou une taille de point différente.

 
Дмитрий Хлыстов:

Alexander, ok. Mais une telle stratégie doit être justifiée d'une manière ou d'une autre ? Pourquoi ne pas attendre le TP, par exemple ? et que se passe-t-il si la clôture est une perte ? ce n'est toujours pas très clair.

Elle est justifiée par l'expérience. Le TP et le SL ne peuvent pas être la principale porte de sortie. Une autre chose est le niveau, haut, bas sur les mois, semaines, jours. Eh bien, le TP et le SL ne fonctionnent pas. Créez votre Conseiller Expert sans TP, SL, et quand il est prêt, attachez le TP, SL. Ainsi, vous gagnerez 2 à 3 %. Par exemple. L'EA remplit les conditions de clôture d'une position. Nous modifions l'ordre et changeons le TP de quelques points.
Raison: