Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 369

 
Link_x:
Bonjour !
Hmmm, comment puis-je attacher une ligne à un indicateur en créant son code ?
J'ai trouvé une fonction dans le livre de référence, qui définit un objet.
J'ai également trouvé comment définir les propriétés.
J'ai essayé de le programmer.
Résultat : 5 erreurs.
J'aimerais voir un exemple de la définition d'un objet OBJ_HLINE.
Merci !


Allons-nous chercher quelque chose nous-mêmes ? Ou avez-vous l'habitude de devoir tout présenter sur une assiette ?

ici lire

p.s. le code d'exemple et la description sont erronés sous ces mots :

Utilisation de la police Wingdings

Créons maintenant des étiquettes en utilisant la police Wingdings. Modifions la fonction start():

 
Ekburg:


Votre question n'est pas claire... si vous aviez inséré le code correctement, vous auriez pu expliquer la confusion que vous avez).

mais voyons ce que nous pouvons faire


Un habitant de Sverlovsk, à ce qu'il paraît ?
 
Vinin:

Sverlovène, je présume ?

Oui, je le suis.)
 
SpikeOne:

S'il vous plaît aidez-moi, est-ce que je comprends comment ce code fonctionne correctement ?

Je l'ai mis dans l'EA à un certain endroit et il commence à fermer tous les ordres après avoir atteint 715,

Je n'ai qu'un seul problème, à certains endroits parce que je mets ce code commence un désordre, peut-être quelqu'un peut me dire ce qui ne va pas :



Je viens juste de commencer à analyser votre code et je peux déjà voir que votre architecture de code est cassée...

Des accolades mal exposées, corrigez-les et le problème sera peut-être résolu.

P.S. Je veux dire pas un visuel exposant où que ce soit, et mélangé l'ouverture et la fermeture des parenthèses ... par exemple, dans le premier bloc de si à la fin de la place de fermeture, vous Fig. parenthèse ouvrir un autre bloc, c'est à cause de cette confusion se pose

 
SpikeOne:

S'il vous plaît aidez-moi, est-ce que je comprends comment ce code fonctionne correctement ?

Je l'ai mis dans l'EA à un certain endroit et il commence à fermer tous les ordres après avoir atteint 715,

J'ai encore un problème avec ce système, à certains endroits il devient désordonné lorsque je colle le code, peut-être que quelqu'un pourrait me dire ce qui ne va pas :



Installez la dernière version dans le terminal, c'est plus facile d'écrire du code là, moins de risques de faire des erreurs, je vous le conseille !)

Corrigé la partie qui a été envoyée au début, sans la dernière partie des parenthèses dont on ne sait pas pourquoi elle est nécessaire...

if ( AccountProfit()+ AccountBalance()>=715)
   {
   for(int zx=OrdersTotal(); zx+1>=0; zx--)
      {
      if(OrderSelect(zx,SELECT_BY_POS,MODE_TRADES)==true)
      OrderDelete(OrderTicket());
      }
   }
while (OrdersTotal()>0)
   {
   if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
      {
      if(OrderType()==OP_BUY) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
      if(OrderType()==OP_SELL) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
      if (OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP)
      OrderDelete(OrderTicket());
      if(result!=TRUE)
         {
         er=GetLastError();
         Print("LastError = ",er, " ",Symbol());
         }
      else er=0;
      }
   else Print( "Error when order select ", GetLastError());
   }
 

Chers camarades, chers amis, il est difficile d'exprimer à quel point je vous suis reconnaissant pour l'aide que vous m'avez apportée lors de la rédaction de l'AE (à la fin de la 350e page de ce fil). Maintenant, j'ai à nouveau besoin de votre aide, et j'espère que vous le ferez à nouveau.

Je dois donc écrire ce qui suit dans mon EA :

L'EA doit fonctionner sur les extrêmes de l'EMA. Aux sommets de l'EMA, il doit placer des ordres en attente pour ouvrir une position courte à un prix égal au prix du bas de la bougie de renversement muvinig moins un certain pourcentage de ce prix (par exemple, le bas de la bougie de renversement * 0,99) L'ordre en attente doit également contenir un stop loss et un take profit en pourcentage de ce très bas de la bougie de renversement muvinig. Mais ce n'est pas tout. De même, si le maximum de l'EMA est atteint, l'EA doit placer des stop-loss dans toutes les positions longues ouvertes pour cet actif au même niveau où la position courte doit être ouverte. Ainsi, lorsque le prix estimé est atteint (voir ci-dessus), les positions longues existantes doivent être fermées (en utilisant les pertes stop précédemment définies par l'EA) et les positions courtes doivent être ouvertes.

A une EMA basse, c'est le contraire qui est vrai : il y a une bougie, où le muving s'est retourné vers le haut. Sur la bougie suivante, l'EA doit commencer à suivre le prix et lorsqu'il dépasse le niveau suivant : le haut de la bougie de retournement + un certain pourcentage (par exemple, le haut de la bougie de retournement * 1.01), les positions ouvertes existantes doivent placer des stop loss à ce prix (le haut de la bougie de retournement + un certain pourcentage) et un ordre en attente pour ouvrir un long au même prix (avec un stop loss et un take profit en % du haut de la bougie de retournement).

Ainsi, le conseiller à un renversement du muvning (nous voulons dire un renversement complet, c'est-à-dire, le renversement des deux bougies précédentes, la bougie actuelle n'est pas pris en compte, le muvning peut être inversé sur la barre actuelle, mais il ne sera pas inversé sur elle, ces inversions pendant le muvning actuel, si dans le résultat de la fermeture de la barre de renversement n'est pas - ne comptent pas).

Ainsi, si le muving est à un maximum, le conseiller expert devrait placer un Stop Loss sur les longs existants à un certain niveau (voir ci-dessus) et ouvrir un ordre en attente pour ouvrir un short au même niveau (avec un Stop Loss et un Take Profit).

Si le muving est bas, c'est l'inverse - l'EA place un Stop Loss dans les shorts ouverts à un certain niveau (voir ci-dessus) et place un ordre en attente pour ouvrir un long au même niveau (avec Stop Loss et Take Profit).

Ainsi, il ne sera pas possible de passer au comptant, nous serons toujours soit en position longue, soit en position courte. Lorsque l'on ferme une position longue, on ouvre simultanément une position courte, et vice versa.

J'ai essayé de jouer avec mon EA qui fonctionne (il fonctionne en croisant deux EMAs) et de le modifier de la bonne façon. Mais ma faible connaissance du C++ et mon aversion pour la programmation ont échoué. Voici le lien vers le conseiller expert que j'ai essayé de modifier pour obtenir celui que je souhaite : https://www.mql5.com/ru/code/8463?source=terminal4_codebase.

Je comprends que j'ai besoin de beaucoup d'aide, ce n'est pas une tâche facile, donc comme un bonus je vais donner mes résultats de recherche de l'échange BTC/USD (bitcoins/dollars) btc-e à ceux qui m'ont aidé. J'ai déterminé la moyenne mobile la plus appropriée (pour avoir moins de faux signaux et pour déclencher de bons mouvements), les meilleurs paramètres pour celle-ci (le pourcentage des hauts/bas de la bougie de renversement), les prises de profits les plus appropriées. Je l'ai calculé dans Excel. Ce fichier Excel est de ma part, en signe de gratitude. Peut-être que cela vous sera utile.

Je ne veux pas me contenter de faire du commerce en utilisant ce conseiller expert. J'en ai besoin pour surveiller le marché lorsque je ne le suis pas (car je ne peux pas le suivre 24 heures sur 24). Lorsque je suis à l'écoute, je trade par lignes de support/résistance selon une certaine méthodologie, mais le système EMA m'aide aussi - pour déterminer les points de rupture des niveaux, fixer les stops.

J'attends de l'aide pour écrire un EA et je m'y fie.

 
okidoki543:

Chers camarades, chers amis, il est difficile d'exprimer à quel point je vous suis reconnaissant pour l'aide que vous m'avez apportée lors de la rédaction de l'AE (à la fin de la 350e page de ce fil). Maintenant, j'ai à nouveau besoin de votre aide, j'espère que vous la donnerez à nouveau.

Ohhhh!? :) Juste un ordre pour l'écrire)
 
okidoki543:

Donc, je dois prescrire ce qui suit dans l'EA :

La tâche est tout à fait réalisable, en principe il n'y a même pas besoin d'écrire beaucoup de code... si seulement on avait le temps de le faire... :)
 
Je ne sais pas comment insérer une citation normale, je l'ai mise de cette façon, manuellement : [quote]La tâche est tout à fait faisable, en principe vous n'avez même pas à écrire beaucoup de code... il serait temps pour cela... :)[/quote] Je vous serais reconnaissant si vous pouviez m'aider.
 
okidoki543:
Je ne sais pas comment insérer une citation normale, le mettre de cette façon, manuellement : [quote]La tâche est tout à fait faisable, en principe même pas beaucoup de code à écrire il serait temps de le faire ... :)[/quote] Je serais reconnaissant si vous aider.


Si je peux, je vais passer le code aujourd'hui... Je ne suis pas sûr que ça va marcher puisque je suis au travail et que je n'ai pas le temps d'écrire un programme débogué... Mais ce sera certainement un point de départ).

Mais je ne peux pas promettre... comment les circonstances vont se dérouler aujourd'hui).