Aide au codage - page 781

 
S'il vous plaît, seriez-vous prêt à m'aider ?

J'ai cet indicateur qui est censé mettre à jour certaines valeurs à la clôture de la bougie, mais il ne répond pas assez tôt, généralement 20 à 40 secondes après la clôture de la bougie, et je dois souvent recharger le graphique.

Pouvez-vous m'aider à résoudre ce problème ?
Dossiers :
 
Savior: Il est supposé mettre à jour certaines valeurs à la fermeture de la bougie,

Il n'y a pas de telle chose. Une bougie est considérée comme fermée, lorsqu'un nouveau tick arrive après la dernière seconde de la bougie en cours, démarrant une nouvelle bougie.

Il peut y avoir des minutes entre les ticks pendant la session asiatique, pensez au graphique M1. Pour les graphiques plus grands, pensez au week-end, aux jours fériés (en fonction du pays et du courtier). Il faut savoir quand votre courtier arrête et démarre (ce n'est pas forcément la même chose que le marché).
Graphiques "sans trous" - Articles MQL420 juin 2006
Pas de bougie si ouvert = fermé ? -Forum de programmation MQL42010.06.06

Le code s'exécute une fois par seconde sur un timer et se met à jour quand un symbole commence une nouvelle barre. Rien d'anormal.

 

Bonjour à tous.

J'ai mis en place quelques EA décents en utilisant EA Builder mais j'ai du mal à en mettre un en place en utilisant des fractales.

Étant donné que les fractales apparaissent au milieu d'une série de 5 bougies, je pense que le décalage et l'index sont incorrects.

J'essaie de créer un long simple (une fois que j'ai compris le décalage et l'index, je suis en mesure d'augmenter les paramètres).

Open, Fractal, Time Frame (Current), Indicator (Upper) Shift (3) 'is above' Candlestick, Index (3), Value (Low)

L'idée étant que la fractale est en dessous d'une bougie basse, prête à démarrer une tendance à la hausse... sachant que les deux bougies les plus actuelles auraient des sommets plus élevés, je l'utiliserais comme limite d'achat sur un pullback non inférieur à la fractale.

J'apprécie énormément l'aide que vous m'apportez ! Merci, David.

 
  1. David-Toronto: J'apprécie grandement votre aide ! Merci, David.
    Vous aider à quoi ? Vous n'avez pas énoncé un problème, vous n'avez même pas énoncé un souhait ?

  2. David-Toronto : Mettre en place quelques EA décents en utilisant EA Builder
    EA builder, EATree, Etasoft forex generator, Forex Strategy Builder, FOREXEADVISOR STRATEGY BUILDER, FX EABuilder, fxDreema, FxPro, Molanis, Online Forex Expert Advisor Generator, Strategy Builder FX, Strategy Quant, Visual Trader Studio, MQL5 Wizard, etc., sont tous les mêmes. Vous obtiendrez quelque chose rapidement, mais vous passerez ensuite beaucoup plus de temps à essayer de l'obtenir correctement que si vous aviez appris le langage dès le départ et que vous l'aviez simplement écrit.
    1. Puisque vous n'avez pas appris MQL4/5, il n' y a donc pas de langage commun pour communiquer.
      Si nous vous disons ce dont vous avez besoin, vous ne pouvez pas le coder.
      Si nous vous donnons le code, vous ne savez pas comment l'intégrer au vôtre.
      Nous sommes prêts à vous AIDER lorsque vous postez votre tentative (en utilisant SRC) et la nature de votre problème, mais nous n'allons pas déboguer votre des centaines de lignes de code. Vous allez essentiellement vous débrouiller tout seul.

    2. EA builder fait un mauvais code en comptant lors de la fermeture de plusieurs ordres.
      Les barres ne sont pas fiables (nombre maximum de barres dans le graphique), le volume n'est pas fiable (ticks manquants).
      EA builder fait un mauvais code, ne s'ajustant pas pour les brokers à 4/5 chiffres, TP/SL et slippage.
      EA builder fait un mauvais code, ne s'ajustant pas pour les courtiers ECN. pre-Build 500)
      EA builder fait un mauvais code, ne
      vérifiant pas les codes de retour.

    3. EATree utilise des objets sur le graphique pour sauvegarder les valeurs - pas de stockage persistant(fichiers ou GV+Flush.) Pas de récupération (crash/coupure de courant.)

    4. FX EA Builder fait un mauvais code, ne vérifiant pas les codes de retour.
      FX EA Builder fait un mauvais code, perdant les tickets ouverts au redémarrage du terminal. Pas de récupération (crash/coupure de courant).
      FX EA Builder fait un mauvais code, n'ajustant pas les stops pour le spread.
      FX EA Builder fait un mauvais code, en utilisant directementOrdersTotal.

    5. FOREXEADVISOR STRATEGY BUILDER fait du mauvais code, non mise à jour des variables globales.
      FOREXEADVISOR STRATEGY BUILDER fait du mauvais code, erreurs de compilation.
      FOREXEADVISOR STRATEGY BUILDER fait du mauvais code, ne vérifie pas les codes de retour.

    Apprenezàlecoder, ou payez quelqu'un (Freelance) pour le coder.
    Embaucher pour écrire un script - Général - Forum de programmation MQL5

 
William Roeder:
  1. Vous aider à quoi ? Vous n'avez pas énoncé un problème, vous n'avez même pas énoncé un souhait ?

  2. EA builder, EATree, Etasoft forex generator, Forex Strategy Builder, FOREXEADVISOR STRATEGY BUILDER, FX EABuilder, fxDreema, FxPro, Molanis, Online Forex Expert Advisor Generator, Strategy Builder FX, Strategy Quant, Visual Trader Studio, MQL5 Wizard, etc., sont tous les mêmes. Vous obtiendrez quelque chose rapidement, mais vous passerez ensuite beaucoup plus de temps à essayer de l'obtenir correctement que si vous aviez appris le langage dès le départ et que vous l'aviez simplement écrit.
    1. Puisque vous n'avez pas appris MQL4/5, il n' y a donc pas de langage commun pour communiquer.
      Si nous vous disons ce dont vous avez besoin, vous ne pouvez pas le coder.
      Si nous vous donnons le code, vous ne savez pas comment l'intégrer au vôtre.
      Nous sommes prêts à vous AIDER lorsque vous postez votre tentative (en utilisant SRC) et la nature de votre problème, mais nous n'allons pas déboguer votre des centaines de lignes de code. Vous allez essentiellement vous débrouiller tout seul.

    2. EA builder fait un mauvais code en comptant lors de la fermeture de plusieurs ordres.
      Les barres ne sont pas fiables (nombre maximum de barres dans le graphique), le volume n'est pas fiable (ticks manquants).
      EA builder fait un mauvais code, ne s'ajustant pas pour les courtiers à 4/5 chiffres, TP/SL et slippage.
      EA builder fait un mauvais code, ne s'ajustant pas pour les courtiers ECN. pre-Build 500)
      EA builder fait un mauvais code, ne
      vérifiant pas les codes de retour.

    3. EATree utilise des objets sur le graphique pour enregistrer les valeurs - pas de stockage persistant(fichiers ou GV+Flush.) Pas de récupération (crash/coupure de courant.)

    4. FX EA Builder fait un mauvais code, ne vérifiant pas les codes de retour.
      FX EA Builder fait un mauvais code, perdant les tickets ouverts au redémarrage du terminal. Pas de récupération (crash/coupure de courant).
      FX EA Builder fait un mauvais code, n'ajustant pas les stops pour le spread.
      FX EA Builder fait un mauvais code, en utilisant directementOrdersTotal.

    5. FOREXEADVISOR STRATEGY BUILDER fait du mauvais code, non mise à jour des variables globales.
      FOREXEADVISOR STRATEGY BUILDER fait du mauvais code, erreurs de compilation.
      FOREXEADVISOR STRATEGY BUILDER fait du mauvais code, ne vérifie pas les codes de retour.

    Apprenezàlecoder, ou payez quelqu'un (Freelance) pour le coder.
    Embaucher pour écrire un script - Général - Forum de programmation MQL5

Merci William, mais je ne suis pas encore prêt à coder et je n'ai pas besoin d'une brique sur la tête.

Pour quelqu'un qui a commencé ou utilisé EA Builder, merci de ne répondre que si vous pouvez aider. merci


La question est de savoir comment ouvrir une transaction longue (en utilisant EA Builder) pour une fractale se produisant au-dessus de la bougie.

Ma tentative consiste à donner des ordres d'achat après toute occurrence de fractale (au-dessus ou au-dessous de la bougie).

en utilisant : Fractal, Time Frame (Current), Indicator (Upper) Shift (3) 'is above' Candlestick, Index (3), Value (Low)

 

Bon après-midi

Je suis assez nouveau dans le codage et j'aimerais avoir de l'aide sur un indicateur que j'essaie de coder. Je suis en train de faire ma propre MA une bande des valeurs d'ouverture et de fermeture des barres en fonction de laquelle se trouve où, c'est à dire que si l'ouverture est supérieure à la fermeture, elle est sauvegardée dans le tableau du haut, sinon elle est sauvegardée dans le tableau du bas. J'ai fait un peu de dépannage sur un EA que j'ai écrit, mais je ne peux pas obtenir le même résultat sur l'indicateur, malheureusement.

Dossiers :
MA_Band.mq4  5 kb
 
  1. PLZFrosty: mais je n'arrive pas à obtenir le même résultat sur l'indicateur,
    .

    "Ne fonctionne pas" n'a aucun sens - tout comme dire que la voiture ne fonctionne pas. Elle ne démarre pas, elle ne passe pas de vitesse, elle n'a pas d'électricité, il manque la clé, les pneus sont à plat - cela ne veut rien dire. Vous attendez vraiment une réponse ? Il n'y a pas de télépathe ici et nos boules de cristal sont fêlées. Vous n'avez pas énoncé de problème.

  2.       SetIndexBuffer(0, MA_top);
          ⋮
          SetIndexBuffer(1, MA_bot);
    
    Combien de tampons avez-vous déclaré avoir sur votre indicateur ? Si vous aviez vérifié vos codes de retour, vous auriez su pourquoi.
    Propriétés du programme (#property) - Préprocesseur - Les bases du langage - Référence MQL4
 
William Roeder:
  1. "Ne fonctionne pas" n'a aucun sens - tout comme dire que la voiture ne fonctionne pas. Elle ne démarre pas, elle ne passe pas de vitesse, elle n'a pas d'électricité, il manque la clé, les pneus sont à plat - cela ne veut rien dire. Vous attendez vraiment une réponse ? Nous ne sommes pas des devins ici et nos boules de cristal sont fissurées. Vous n'avez pas énoncé de problème.

  2. Combien de tampons avez-vous déclaré avoir dans votre indicateur ? Si vous aviez vérifié vos codes de retour, vous auriez su pourquoi.
    Program Properties (#property) - Preprocessor - Language Basics - MQL4 Reference

Je sais ce qu'il est censé faire, mais je ne sais pas comment trouver pourquoi il ne fonctionne pas. J'ai utilisé la fonction Commentaire pour déterminer où elle s'arrête de fonctionner et j'ai constaté qu'elle s'arrête au point où elle est censée placer les valeurs dans les tableaux mentionnés. Je demande des conseils pour résoudre le problème, et non pas que quelqu'un le résolve pour moi. Si vous me dites ce que j'ai manqué ou ce que j'ai mal fait et où trouver la solution, cela m'aidera beaucoup. Merci pour le lien. Au moins, c'est un de mes problèmes résolus. Existe-t-il un moyen plus efficace que d'utiliser Comment() pour dépanner là où le code a échoué ?

Documentation on MQL5: Common Functions / Comment
Documentation on MQL5: Common Functions / Comment
  • www.mql5.com
[in]   Any values, separated by commas. To delimit output information into several lines, a line break symbol "\n" or "\r\n" is used. Number of parameters cannot exceed 64. Total length of the input comment (including invisible symbols) cannot exceed 2045 characters (excess symbols will be cut out during output). Data of double type are output...
 
PLZFrosty:

Je sais ce qu'il est censé faire, mais je ne sais pas comment trouver la raison pour laquelle il ne fonctionne pas. J'ai utilisé la fonction Commentaire pour déterminer où elle s'arrête et j'ai constaté qu'elle s'arrête à l'endroit où elle est censée placer les valeurs dans les tableaux mentionnés. Je demande des conseils pour résoudre le problème, et non pas que quelqu'un le résolve pour moi. Si vous me dites ce que j'ai manqué ou ce que j'ai mal fait et où trouver la solution, cela m'aidera beaucoup. Merci pour le lien. Au moins, c'est un de mes problèmes résolus. Existe-t-il un moyen plus efficace que d'utiliser Comment() pour dépanner là où le code a échoué ?

J'ai réussi à la faire fonctionner, mais je ne sais pas pourquoi elle fonctionne et pas l'inverse. J'ai vu une petite erreur dans mon raisonnement et j'ai réécrit ma fonction. Elle ne me montre toujours pas les valeurs de mon tableau lorsque j'utilise Comment(DoubleToString(array[1], 3) ;, mais elle dessine au moins la ligne MA. Existe-t-il un moyen de voir les valeurs de mon tableau autrement qu'en utilisant Comment() ?
 
input int SmallEMA = 50;
input int BigEMA = 100;
void OnTick()
  {
   string signal = "";
   double SmallMovingAvarage1 = iMA(Symbol(),PERIOD_CURRENT,SmallEMA,0,MODE_EMA,PRICE_CLOSE,0);
   double BigMovingAvarage1   = iMA(Symbol(),PERIOD_CURRENT,BigEMA,0,MODE_EMA,PRICE_CLOSE,0);
   
   if (BigMovingAvarage1 > SmallMovingAvarage1)
   
   {
   
      signal = "sell";
   }
   
   if (BigMovingAvarage1 < SmallMovingAvarage1)
    
   {
      signal = "buy";
   }
   
   
 
   if (signal == "sell" &&   OrdersTotal() == 0 )
   
   OrderSend(Symbol(),OP_SELL,0.02,Bid,10,0,0,NULL,0,0);
   
    
   
   if ( signal == "buy" && OrdersTotal() == 1)
   
   CloseSellPositions();
  
   
   
   if (signal == "buy" &&  OrdersTotal() == 0  )
   
    OrderSend(Symbol(),OP_BUY,0.02,Ask,10,0,0,NULL,0,0);
   
   //if (signal == "sell" && 0 <= OrdersTotal() <= 1)
   
   if (signal == "sell" && OrdersTotal() == 0)
   
   CloseBuyPositions();
    
   
   Comment ("The current signal is: ",signal);
   
   
  }


void CloseBuyPositions()
   {
   
   for(int i = OrdersTotal() -1 ; i >= 1; i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      
      string CurrencyPair = OrderSymbol();
      
      if(Symbol() == CurrencyPair)
      
      if (OrderType () == OP_BUY)
      {
         
         OrderClose(OrderTicket(),0.02,Bid,10);
      }
   }
   
   
   }
void CloseSellPositions()
   {
   
   for(int i = OrdersTotal()- 1; i >= 1; i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      
      string CurrencyPair = OrderSymbol();
      
      if(Symbol() == CurrencyPair)
      
      if (OrderType () == OP_SELL)
      {
         OrderClose(OrderTicket(),0.02,Ask,10);
      }
    }
   } 

Hi,


EMA (1) = 50

EMA (2) = 100


si (50 <100)

Fermer la position d'achat ouverte s'il y en a une et ouvrir une position de vente


si (50> 100)


Fermer la position ouverte à la vente, s'il y en a une, et ouvrir une position à l'achat.


Je veux développer un consultant spécialisé qui répond à ces conditions, j'ai partagé le code que j'ai écrit. Mais il ne fonctionne pas comme je le souhaite.


Pouvez-vous m'aider à compléter les parties manquantes dans mon code ?