Opinion - EA très réussie - compte de $3000 à $6300 en deux semaines (aurait pu être $9000). - page 6

 
Vous effectuez donc la vérification réelle dans la fonction MoveTrailingStop() ?
 
zzuegg:
Vous effectuez donc la vérification réelle dans la fonction MoveTrailingStop() ?

J'ai fait cette vérification, oui, vous m'avez donné l'idée, j'avais du mal à trouver la logique. Mais j'ai piraté la fonction elle-même à partir d'un autre EA sur le web, mais je comprends ce qu'il fait maintenant. Je travaille dur sur ce sujet et je m'améliore.

La plupart de ce que je fais est de copier et de regarder pour voir comment ils fonctionnent. J'apprends juste comment les fonctions fonctionnent par des exemples, comme vous le verrez ci-dessus. Ce sujet aurait vraiment besoin d'un bon livre.

 
MickGlancy:

J'ai collecté beaucoup d'exemples de trailing stops, mais j'ai besoin d'un qui commence à traîner immédiatement à travers les valeurs -ve jusqu'à 0, et ensuite s'arrête comme un break even.

Donc, si le prix d'entrée sur le marché est pris et que le stop loss est de 100, si le prix se déplace vers +25, le trailing stop se déplace vers -75, et une fois que le prix atteint 100, le trailing stop s'arrête à 0 et ne bouge plus.

Quelqu'un peut-il m'aider ? J'ai passé toute la journée à essayer de le faire fonctionner et je n'y arrive pas.

Je pensais l'avoir fait mais ce n'est pas le cas, mon trailing stop s'arrête à 0.

extern double Dist = 25;      //--- the distance you'd like your stops to trail.. in your case 25 pips
extern int EA_Majik = 12345;  //--- EA's magic number

start()
{
   //.......
   double min=NormalizeDouble(MarketInfo(Symbol(),MODE_STOPLEVEL)*Point,Digits);   
   for(i=OrdersTotal()-1;i>=0;i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderMagicNumber()==EA_Majik && OrderSymbol()==Symbol())
      {
         if(OrderStopLoss() > 0)   //--- Must have an existing stoploss to trail
         {
            if(OrderType()==OP_BUY)
            {
               if(Bid-OrderOpenPrice() < 100)                                                           //--- only trail if price moves within 100 pips
               {
                  double LastSL.Lng = OrderStopLoss();                                                  //--- get the current SL level
                  double SL.Lng = NormalizeDouble(Bid-Dist*Point,Digits);                               //--- get the new SL level
                  if(SL.Lng < LastSL.Lng)    SL.Lng = LastSL.Lng;                                       //--- never move SL away from price.. if this is the case, keep it the same
                  if(SL.Lng > Bid-min)       {Print("STOPLOSS too close to market: ",SL.Lng,", Adjusted to min: ",(Bid-min)); SL.Lng=Bid-min;}      
                  if(SL.Lng != LastSL.Lng)   OrderModify(OrderTicket(),OrderOpenPrice(),SL.Lng,OrderTakeProfit(),0,Lime);
               } 
            }
            if(OrderType()==OP_SELL)
            {
               if(OrderOpenPrice()-Ask < 100)
               {
                  double LastSL.Shrt = OrderStopLoss();
                  double SL.Shrt = NormalizeDouble(Ask+Dist*Point,Digits); 
                  if(SL.Shrt > LastSL.Shrt)   SL.Shrt = LastSL.Shrt; 
                  if(SL.Shrt < Ask+min)       {Print("STOPLOSS too close to market: ",SL.Shrt,", Adjusted to min: ",(Ask+min)); SL.Shrt=Ask+min;}         
                  if(SL.Shrt != LastSL.Shrt)  OrderModify(OrderTicket(),OrderOpenPrice(),SL.Shrt,OrderTakeProfit(),0,Red);
               }
            }
         }
      }
      else Print("STOPLOSS does not exist.");
   }
   // .........
   return(0);
}

Le code ci-dessus devrait faire ce que vous avez décrit... Je viens de le mettre dans la boîte aux lettres et je ne l'ai pas testé, donc s'il y a des problèmes, faites-le moi savoir...

Maintenant laissez-moi vous demander ceci, dans le code que vous avez posté plus tôt, vous aviez ceci pour vos signaux d'entrée :

      double MA1=iMA(NULL,0,100,0,1,0,0);
      double MA2=iMA(NULL,0,100,0,1,0,1);
      double MA3=iMA(NULL,0,40,0,1,0,0);
      double MA4=iMA(NULL,0,40,0,1,0,1);

      if(MA1 < MA3 && MA2 > MA4) // Go Long  
      if(MA1 > MA3 && MA2 < MA4) // Go Short 

Est-ce que ce sont vos seuls signaux d'entrée pour votre stratégie ?

 
supertrade:

Le code ci-dessus devrait faire ce que vous avez décrit... Je viens de le mettre en place dans la boîte aux lettres et je ne l'ai pas testé, donc s'il y a des problèmes, faites-le moi savoir...

Maintenant laissez-moi vous demander ceci, dans le code que vous avez posté plus tôt, vous aviez ceci pour vos signaux d'entrée :

Est-ce que ce sont les seuls signaux d'entrée de ta stratégie ?

Non, ils ne le sont pas. Quelqu'un ici m'a conseillé de changer les signaux d'entrée pour le moment jusqu'à ce que je sois heureux de révéler ce que je fais. Je les ai choisis dans un EA de base juste pour remplir l'espace.

Merci beaucoup pour cela.

 
pas de problème... Pour info, j'ai mis à jour le code que j'ai posté ci-dessus... j'ai remarqué quelques erreurs
 

Nevermind

 

Résumé :
Dépôt/retrait : 5 000.00 Facilité de crédit : 0.00
P/L de la transaction fermée : 6 848.30 P/L flottant : 0.00 Marge : 0.00
Solde : 11 848.30 Fonds propres : 11 848.30 Marge libre : 11 848.30
Détails :
Marge brute : 6 848.30 Perte brute : 0.00 Bénéfice net total : 6 848.30
Facteur de profit : Gain attendu : 14.39
Drawdown absolu : 0.00 Drawdown Maximal : 0.00 (0.00%) Drawdown relatif : 0.00% (0.00)
Total des transactions : 476 Positions courtes (% gagné) : 1 (100.00%) Positions longues (% gagnées) : 475(100.00%)
Transactions à profit (% du total) : 476(100.00%) Transactions perdantes (% du total) : 0 (0.00%)
Le plus grand profit le plus élevé : 15.20 transaction perdante : 0.00
Moyenne de bénéfices : 14.39 transaction à perte : 0.00
Maximum gains consécutifs ($) : 476 (6 848.30) pertes consécutives ($) : 0 (0.00)
Maximum gains consécutifs (nombre) : 6 848.30 (476) pertes consécutives (compte) : 0.00 (0)
Moyenne gains consécutifs : 476 pertes consécutives : 0

Bonjour à tous...

Je poste ceci uniquement à des fins de comparaison.

Vous verrez que dans ce message, le nombre de transactions est indiqué, alors que Mick l'a supprimé dans son message. Pourquoi ?

La deuxième raison de ce message est de montrer que des résultats étonnants sont possibles sur de courtes périodes - il s'agit d'une série de transactions effectuées sur un compte de démonstration sur une période de deux heures.

Je posterais bien le code mais ce n'est vraiment pas mon meilleur travail ! En fait, cela s'est produit à cause d'une erreur de programmation absurde et stupide.

sn

 

why dont you just ask me in a pm or do you want to have a go at me now publicly ? ? ? ? ?

Vous avez réalisé autant de profits en quelques heures sans aucune perte ? J'en doute fort, si vous tradiez aussi bien, vous ne perdriez pas votre temps sur des forums Internet, avec 24 messages sur votre compte et posant des questions sur les affaires de quelqu'un d'autre. Ces résultats proviennent soit d'un back tester, soit vous les avez inventés mon ami.

Comme je l'ai déjà dit, si vous ne pouvez pas poster quelque chose de constructif sur ce fil, s'il vous plaît ne postez pas du tout. Retourne d'où tu viens.

En fait, j'ai fait une erreur dans mon approche de ce forum, je vais mettre fin à mon activité sur ce fil ici, et ne pas y revenir. Au lieu de cela, je vais commencer à étudier d'autres messages dans le forum et prendre le relais. Merci pour votre contribution positive dans ce fil.

 
il n'y a pas besoin d'être si susceptible, les gens auront toujours des doutes... si tu dis que tu vas faire quelque chose, je pense que tu dois à urslef d'aller jusqu'au bout, de toute façon c'est ton travail donc tu peux faire ce que tu veux, j'ai apprécié le temps que ça a duré... et j'ai appris quelques trucs aussi
 

Je cherche l'opinion de certaines personnes expérimentées ici. J'ai programmé un EA simple, et il semble fonctionner fantastiquement sur un compte de démonstration .

==>> J'ai également programmé un simple EA et obtenu des résultats fantastiques. J'ai posté ici, tout comme vous, pour répondre à votre question sur la possibilité que vous négligiez quelque chose comme je l'ai fait dans le mien. Ma stratégie de trading était hors de contrôle et a juste touché le marché au bon moment - elle pourrait à tort être considérée comme une réussite.

La raison de ma question est que cela semble trop beau pour être vrai et j'ai peur d'avoir manqué quelque chose.

==>> Je me demande si c'est possible, d'après mon expérience ci-dessus.

Je suppose que c'est le post que j'aurais dû faire - désolé Mick.