Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

Stop en fonction d'un indicateur (pas sur la valeur d'une paire)

  • mada_forex

    Re bonjour à tous.
    Je cherche à savoir comment paramétrer un stop - sur MT4 - selon la valeur, ou plus précisément, le signal d'un indicateur.

    Est-ce une fonctionnalité native sur MT4, ou bien dois-je créer un script et/ou autres, comme forex-o-matic ?

    Merci pour votre aide , et vraiment ravi d'officialiser ma venue sur la communauté de Forexagone.
    A bientôt.
  • mada_forex

    Est-ce que ca s'apparente au "stop suiveur" ?
  • riden

    Salut,
    Cela est possible via Expert Advisor

    Tout d'abord il faut récupérer la valeur de l'indicateur si possible (avec icustom, en introduisant des fonctions qui le calculent, etc...)

    Après, il faut faire une fonction qui clôture des ordres spécifiques si la valeur de l'indicateur atteint un certain niveau
  • mada_forex

    Bjr et merci pour cette réponse.
    Dans mon cas, très précisément, ce n'est pas une valeur, mais une indication (flèche). Et j'aimerais que la position soit cloturée automatiquement à l'apparition de la flèche.

    ---

    Sinon, en attendant un début d'aide, j'ai évidemment cherché, et je me rends compte que je confonds potentiellement les indicateurs avec des "expert advisor" ...

    Donc je creuse de ce coté également.

    ---

    autre question qui s'apparente et ma première question : Comment configurer une alerte sonore à l'apparition d'un évènement (ma fameuse flèche qui apparait).
    NB : Je sais mettre une alerte sonore sur la valeur d'une paire.

    Merci.
  • riden

    le principe est simple, généralement, ce genre d'indicateur a deux buffers (une pour la flèche en haut et l'autre pour celle en bas) et si tu cherche à récupérer la valeur de la flèche sur un chandelier ou elle n'existe pas ça renvoi 0 ou un nombre très élevé, donc il est simple de créer une fonction qui vérifie l’existence de la flèche sur un chandelier et un TF (le chandelier actuel dans ton cas et le TF de ton choix) puis clôture certains ordres

    quelle est cet indicateur ? zigXard ? Si tu as besoin de cette fonction, je peux t'aider.

    Pour la différence entre indicateur,script, EA... tu peux voir par là http://articles.mql4.com/404 3ème paragraphe
  • forexensemble

    Je me joins aux explications de riden.

    Précision utile : pour agir sur un trade, il faut passer soit par un EA, soit par un Script. Les fonctions agissant sur les trades ne sont pas opérationnelles dans le code d'un Indicateur.

    Le plus simple est de suivre le conseil de riden dans son premier post.
    Modifié le 2013-12-08 20:36:26 par forexensemble
  • mada_forex — en réponse à riden dans son message #87901

    riden, le 08/12/2013 dit :
    quelle est cet indicateur ? zigXard ? Si tu as besoin de cette fonction, je peux t'aider.


    Bjr à vous 2 (et à tous sur le forum).
    Merci pour l'accueil.

    Oui, c'est exctement cet indicateur que j'apprécie. Car je ne fais pas de scalping (en tout cas pour l'instant). Et je l'ai observé profondément dans son "comportement". Et je me sens à l'aise avec celui-ci.
    J'accpete donc ton aide, car c'est un tout nouvel environnement.

    NB : Je ne suis pas étranger à la programmation car je suis infographiste 2D/3D et programmeur flash.
  • riden

    Salut,
    La programmation sous mql4 est simple (ressemble beaucoup au C) tu va te familiariser rapidement avec ce langage.
    Tout d'abord tu va dans MetaEditor et tu crées un nouvel Expert Advisor, puis tu mets ces deux fonctions avant init()


    Code
    //--------------------------------------verif. fleche------------------------------------------------ bool getfch(int t,string pos,int shift){ double a; if(pos=="haut" ){ a = iCustom(NULL,t,"ZigXard-Pointer-V3",1,shift);if(a>0)return(true);return(false);} if(pos=="bas" ){ a = iCustom(NULL,t,"ZigXard-Pointer-V3",0,shift);if(a>0)return(true);return(false);}return(false);} //--------------------------------------clôturer positions-------------- void closeall (int p) { // p=1 fermer achat only -- p=2 fermer vente only -- p=3 fermer achat&vente for(int i = OrdersTotal()-1;i>=0;i--){ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ if(OrderSymbol()==Symbol()){ if((OrderType()==OP_BUY)&& ( (p==1)||(p==3))){ OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,CLR_NONE);} if((OrderType()==OP_SELL)&& ( (p==2)||(p==3))){ OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,CLR_NONE);} }}}} et dans Start() tu mets: if(getfch(15,"haut",0)) closeall(1); if(getfch(15,"bas",0)) closeall(2);

    //dans cet exemple tout les ordres d'achats seront clôturés si la flèche apparaît en haut sur le TF 15 minutes que tu peux changer (30,60,240 etc...)

    Après, il faut que tu attaches cet EA à tout les graph. où tu veux appliquer cette méthode
    Si tu veux que l'expert opère sur plusieurs paires à partir d'un seul graph. où il est attaché, il suffit de rajouter un paramètre d'entrée dans chaque fonction "string paire" (dans la première tu remplaces NULL par paire et dans la 2ème symbol() par paire.
    A la fin, il faut écrire toute les paires que tu trades

    Code
    if(getfch(30,"haut",0,"EURUSD" )) closeall(1,"EURUSD" ); if(getfch(30,"bas",0,"EURUSD" )) closeall(2,"EURUSD" ); if(getfch(15,"haut",0,"EURAUD" )) closeall(1,"EURAUD" ); if(getfch(15,"bas",0,"EURAUD" )) closeall(2,"EURAUD" );
    //etc...

    Modifié le 2013-12-09 10:30:51 par AliX : [code] [/code]
  • mada_forex — en réponse à riden dans son message #87935

    Travail complètement mâché. Merci beaucoup !
    J'ai créé le fichier, je le comprends, mais je ne peux pas le tester pour l'instant car eToro ne prends pas en charge MetaTrader.

    Là, je me suis inscrit chez un autre broker qui prends en charge cette plateforme.
    Je me lance dans cette plateforme en trading dès Janvier.

    Pour l'instant je ne l'utilise qu'en démo avec les indicateurs, pour suivre les courbes, et pour me familiariser avec l'interface et son utlisation.
  • Olivier974 — en réponse à riden dans son message #87901

    Bonjour Riden,

    J'ai un peu de mal à programmer l'indicateur Zingxard en clôture automatique sur MT4,
    Mes compétences en programmeur sont de "ZERO",

    puis je solliciter ton aide?

    Merci,

    Cordialement.

    Olivier.