besoin d'aide pour le codage, s'il vous plaît

 
J'ai besoin d'aide. Je suis un novice en matière de codage, mais je négocie des devises depuis longtemps.

Avec l'aide du "Expert Advisor Builder", j'ai construit l'EA ci-joint, qui fonctionne lors des tests. Le problème est qu'il ne fonctionne pas lorsqu'il est placé sur plusieurs graphiques en direct. Comme il utilise un test de 4 heures, il faut beaucoup de temps pour voir si mes corrections le réparent, et je suis frustré.

J'ai renommé le même EA sous 5 noms différents, et j'en ai placé un sur chacun des 5 graphiques de paires différents, tous sur la même plateforme MT4. Cela n'a pas fonctionné.

S'il vous plaît, quelqu'un peut-il jeter un coup d'œil à ce problème et me conseiller sur la façon de faire fonctionner le code pour que je puisse l'utiliser sur plus d'une paire ?
 
//+------------------------------------------------------------------+
//| QQE 4hr_15min TESTING                                            |
//| triggers on 4 hour QQE, then uses 15 min QQE to enter trade.     |
//+------------------------------------------------------------------+

#property copyright "Expert Advisor Builder"
#property link      "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"





//Check position                 
             bool IsTrade = False;
             for(int i = 0; i < Total; i ++) 
               {                       
                OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
                if(OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 
                  {                 
                   IsTrade = True;
                   if(OrderType() == OP_BUY) 
                     {            
//Close                          
//+------------------------------------------------------------------+
//| Signal Begin (Exit Buy)                                           |
//+------------------------------------------------------------------+

Pour montrer quel mauvais constructeur de conseiller expert c'est, j'ai copié quelques lignes.

Il n'utilise pas le numéro magique des transactions lorsqu'il vérifie les transactions ouvertes.

Cet EA peut gérer les transactions que vous ne voulez pas voir modifiées par cet EA.

Il fait un compte à rebours en vérifiant les transactions et dans cette boucle totale, il fermera aussi des transactions, puis il devra faire un compte à rebours.......

 

Et quel que soit le résultat de Orderselect(), nous continuons à exécuter le bloc suivant.

LOL

 

Comme je l'ai dit, je suis un débutant en matière de codage, et cette EA fonctionne/fonctionnait, j'ai donc essayé de la développer, et lorsque j'ai été bloqué, j'ai demandé de l'aide sur ce forum.

Bien essayé de se moquer de mes efforts, sans dire quoi que ce soit que je puisse utiliser en tant que débutant. Est-ce que le LOL est dû au fait que j'ai demandé de l'aide ?

Je ne veux pas ou n'ai pas besoin de devenir un expert en codage, j'ai juste supposé qu'une demande polie d'aide pour résoudre une simple erreur (ou deux) conduirait à ce que quelqu'un me dise où se trouve l'erreur dans le code. Ce que deVries a tapé ici ne m'aide pas du tout, car je devrais étudier/pratiquer/expérimenter pendant peut-être des années pour comprendre ce qui a été dit.

N'étiez-vous pas tous des débutants à une époque, et n'aviez vous pas besoin d'un petit mot d'aide pour faire fonctionner des codes simples ? S'il vous plaît ?

 
unclebigpete:


N'étiez-vous pas tous des débutants à un moment donné, et n'aviez vous pas besoin d'un petit mot d'aide pour faire fonctionner des codes simples ? S'il vous plaît ?

Oui, il y a 4 ans... faites l'effort d'apprendre... vous ne voulez peut-être pas être un expert, je ne me considère pas comme tel, mais pour faire fonctionner correctement un EA, vous aurez besoin d'apprendre à coder correctement... sinon, vous pouvez toujours demander à quelqu'un d'autre de le faire pour vous : Emplois
 

Raptor, JE FAIS UN EFFORT. Je veux juste une EA qui fonctionne et que je puisse développer au fur et à mesure que j'apprends. J'avais celui-ci qui fonctionnait, puis j'ai modifié quelque chose et maintenant il ne fonctionne plus. J'ai lu sur le codage, mais je n'ai pas 4 ans ou plus pour me mettre à niveau. J'ai besoin d'un peu d'aide concrète, car ce qui a été dit ici ne m'aide pas beaucoup.

C'est un peu comme apprendre à fumer une cigarette où le conseil est "allumez-la" !

 
unclebigpete:

Comme je l'ai dit, je suis un débutant en matière de codage, et cette EA fonctionne ou fonctionnait, j'ai donc essayé de la développer, et lorsque j'ai été bloqué, j'ai demandé de l'aide sur ce forum.

Bien essayé de se moquer de mes efforts, sans dire quoi que ce soit que je puisse utiliser en tant que débutant. Est-ce que le LOL est dû au fait que j'ai demandé de l'aide ?

Je ne veux pas ou n'ai pas besoin de devenir un expert en codage, j'ai juste supposé qu'une demande polie d'aide pour résoudre une simple erreur (ou deux) conduirait à ce que quelqu'un me dise où se trouve l'erreur dans le code. Ce que deVries a tapé ici ne m'aide pas du tout, car je devrais étudier/pratiquer/expérimenter pendant peut-être des années pour comprendre ce qui a été dit.

N'étiez-vous pas tous des débutants à une époque, et n'aviez vous pas besoin d'un petit mot d'aide pour faire fonctionner des codes simples ? S'il vous plaît ?


"C'est un long moment pour voir si mes corrections le réparent, et je deviens frustré " cité par vous.

Voici le problème que vous rencontrez. Vous utilisez un "Expert Advisor Builder" ( qui code d'une mauvaise façon....) pour créer vos EA.

Lorsque ce programme crée votre EA de merde, c'est que vous n'avez pas acquis les connaissances nécessaires pour voir ce qui ne va pas dans le codage.

Si vous avez commencé à faire vous-même des EA sans constructeurs automatiques d'EA

alors vous trouverez les problèmes plus facilement en sachant où regarder en premier lieu.

si vous avez les lignes de programme d'un EA fait ou non par vous.....

Et oui, il faut du temps pour apprendre, mais si vous pouvez voir vous-même quelle est l'erreur, votre frustration ne sera pas si grande.

qui veut utiliser de la merde ARRÊTEZ D'UTILISER CET EA BUILDER ....

 
unclebigpete:

Un peu d'aide concrète, s'il vous plaît,

OK, un peu d'aide. . .

Trouvez cette partie dans votre code, et changez-la en ceci...

//+------------------------------------------------------------------+
//| Variable End                                                     |
//+------------------------------------------------------------------+
//Check position                 
             bool IsTrade = False;
             for(int i = Total -1; i >= 0; i --) 
               {                       
               if( OrderSelect(i, SELECT_BY_POS, MODE_TRADES) &&
                  OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 

Cela ne vérifie pas le nombre magique... vous devrez l'ajouter si vous voulez placer des ordres manuels sur les mêmes paires ou si vous voulez fonctionner sur différentes échelles de temps sur la même paire en même temps... le faites-vous ?

Bars n'est pas fiable, c'est une mauvaise idée d'utiliser Bars... vous devriez utiliser Time à la place.

Votre Slippage n'est pas ajusté pour les courtiers à 4/5 chiffres... ni votre TP ou SL.

Si votre SL est petit, vous obtiendrez l'erreur 130 car vous ne vérifiez pas s'il est trop proche ou si vous tenez compte du spread.

Votre courtier est-il un courtier ECN ? Vous ne pouvez pas définir le SL & ou le TP lorsque vous placez un ordre de marché avec un courtier ECN, vous devez coder un OredrModify() pour ajouter le SL & ou le TP après que l'ordre soit placé...

Dois-je continuer ? Il s'agit d'une question de base... Ces points sont abordés sur ce forum jour après jour...

Et vous ne comprenez pas grand chose à tout cela parce que vous n'avez pas réellement codé quoi que ce soit... vous avez utilisé le code de quelqu'un d'autre... . " Expert Advisor Builder". Il n'y a qu'un seul raccourci : Jobs

 
unclebigpete 2012.05.22 10:19

Comme je l'ai dit, je suis un débutant en matière de codage, et cette EA fonctionne ou fonctionnait, j'ai donc essayé de la développer, et lorsque j'ai été bloqué, j'ai demandé de l'aide sur ce forum.

Bien essayé de se moquer de mes efforts, sans dire quoi que ce soit que je puisse utiliser en tant que débutant. Est-ce que le LOL est dû au fait que j'ai demandé de l'aide ?

Je ne veux pas ou n'ai pas besoin de devenir un expert en codage, j'ai juste supposé qu'une demande polie d'aide pour résoudre une simple erreur (ou deux) conduirait à ce que quelqu'un me dise où se trouve l'erreur dans le code. Ce que deVries a tapé ici ne m'aide pas du tout, car je devrais étudier/pratiquer/expérimenter pendant peut-être des années pour comprendre ce qui a été dit.

N'étiez-vous pas tous des débutants à une époque, et n'aviez vous pas besoin d'un petit mot d'aide pour faire fonctionner des codes simples ? S'il vous plaît ?

Cher onclebigpete,

Je m'excuse si vous avez été offensé. Je ne me moquais pas de vous. Je me moquais et me moque toujours d'"Expert Advisor Builder". J'étais un débutant il y a 4 ans, j'ai posé beaucoup de questions stupides, - je suis encore en train d'apprendre maintenant - certains forumers ici me corrigent et corrigent mon code et je l'accepte, j'apprends aussi du code des autres - demandez à RaptorUK à ce sujet - il m'a corrigé dimanche dernier et cette histoire de téléchargement.

Si votre EA fonctionne avec des données de 4 heures, alors vous devez vraiment attendre. Un jour complet n'a que 6 bougies/barres sur 4 heures. Autre chose, vous avez dit que vous tradiez depuis longtemps et je suppose que vous tradiez manuellement et que cet EA est basé sur votre stratégie. Eh bien, le trading manuel ne demande-t-il pas de la patience ?, c'est la même chose avec cet EA alors.

vous avez dit ceci ...

onclebigpete 2012.05.22 10:52

Raptor, JE FAIS UN EFFORT. Je veux juste un EA qui fonctionne et que je puisse développer au fur et à mesure que j'apprends. J'avais celui-ci qui fonctionnait, puis j'ai modifié quelque chose et maintenant il ne fonctionne plus. J'ai lu sur le codage, mais je n'ai pas 4 ans ou plus pour me mettre à niveau. Je voudrais juste un peu d'aide concrète, car ce qui a été dit ici ne m'aide pas beaucoup.

C'est un peu comme apprendre à fumer une cigarette où le conseil est "allumez-la" !

Alors ma question est, Whoa ..., quelle partie de l'appareil avez-vous modifié ? Maintenant, vous nous demandez de trouver l'erreur et de la corriger.

Je regarde votre code plus tard, et en fait, le fichier .ex est un fichier compilé qui n'aide pas.

:)

 

Prenons un exemple pour expliquer pourquoi "votre" code est mauvais... . . .

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket > 0) 
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...

   else                                 // <---  this else is in relation to the OrderSelect,  so when the OrderSelect fails the error stored in GetLastError is updated
      {
      Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error 0 and you will be scratching your head
      } // else 
   } // if(Ticket... 

l'erreur signalée concerne l'OrderSelect et non l'OrderSend. . .

Cela devrait être fait de la manière suivante...

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket < 0) 
   {
   Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error that relates to the OrderSend
   } // if(Ticket... 

else                                 // <---  this else is in relation to the if(Ticket < 0)
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...
   } // else 
 
onewithzachy:

Cher onclebigpete,

Je m'excuse si tu es offensé. Je ne me moquais pas de vous. Je me moquais et me moque toujours d'"Expert Advisor Builder". J'étais un débutant il y a 4 ans, j'ai posé beaucoup de questions stupides, - je suis encore en train d'apprendre maintenant - certains forumers ici me corrigent et corrigent mon code et je l'accepte, j'apprends aussi du code des autres - demandez à RaptorUK à ce sujet - il m'a corrigé dimanche dernier et cette histoire de téléchargement.

Nous sommes tous en train d'apprendre... et même si nous ne l'étions pas, nous sommes tous des humains et nous faisons tous des erreurs... moi en particulier. La seule personne qui ne fait pas d'erreur est celle qui ne fait rien...

D'ailleurs... pourquoi attendre pour tester votre code... ... testez-le dans le testeur... le testeur de stratégie. ;-)

Raison: