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

Aide pour code indicateur simple ( sonore )

  • mada_forex

    Bjr à tous et particulièrement aux codeurs.
    Je souhaite avoir un indicateur qui lance une alerte sonore lors du passage au dessus ou dessous de la neutralité "50" de 3 rsi simultanés (rsi 21, rsi 8, rsi 4 en weithed price).

    Je souhaiterai :
    - soit qu'on me le code au plus simple :).
    - soit qu'on m'indique de bonnes adresses de tutoriels pour le coder.

    Je bricole déjà en as3, donc je pense pouvoir m'en sortir. Mais j'aimerais tout de suite etre bien dirigé par des connaisseurs, car je ne veux pas mettre plus d'une journée pour coder un si simple indicateur. Je veux immédiatement reprendre la casquette d'apprenti trader juste après.

    Merci pour votre aide.
  • mada_forex — en réponse à mada_forex dans son message #94731

    Voici une base d'indicateur que je retouche. Et je l'ai modifier en sorte qu'il marque le passage des rsi 21, 8 et 4 en weithed price.
    Mais maintenant, comment faire pour qu'il marque la charte UNE SEULE fois, et non à chaque bougie ?
    NB : quand tous les RSI ne sont pas du meme coté, il ne marque rien, ce qui est bien.

    CODE
    Code
    //+------------------------------------------------------------------+ //| rsi extreme.mq4 | //| Original Author: LordoftheMoney | //| Expert advisor is in the codebase | //| (Easiest RSI) | //| Modified by MadaForex | //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_buffers 2 #property indicator_width1 2 #property indicator_width2 2 #property indicator_color1 White #property indicator_color2 Black extern int rsiperiod = 21; extern int rsiperiod2 = 8; extern int rsiperiod3 = 4; double buffy1[]; double buffy2[]; int cb=0; int bar; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { int draw; SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,162); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,162); SetIndexEmptyValue(0,0.0); SetIndexLabel(0,"buy" ); SetIndexLabel(1,"sell" ); SetIndexDrawBegin(0,draw); SetIndexDrawBegin(1,draw); SetIndexBuffer(0,buffy1); SetIndexBuffer(1,buffy2); return(0); } //+------------------------------------------------------------------+ int deinit() { ObjectsDeleteAll(0,OBJ_ARROW); return(0); } //+------------------------------------------------------------------+ int start() { if (bar==Time[0]) return(0); int cb=IndicatorCounted(); int x; if(Bars<=100) return(0); if (cb<0) return(-1); if (cb>0) cb--; x=Bars-cb; for(int i=0; i<x; i++) { double r1a = iRSI(NULL,0,rsiperiod,PRICE_WEIGHTED,i); double r1b = iRSI(NULL,0,rsiperiod,PRICE_WEIGHTED,i+1); double r2a = iRSI(NULL,0,rsiperiod2,PRICE_WEIGHTED,i); double r2b = iRSI(NULL,0,rsiperiod2,PRICE_WEIGHTED,i+1); double r3a = iRSI(NULL,0,rsiperiod3,PRICE_WEIGHTED,i); double r3b = iRSI(NULL,0,rsiperiod3,PRICE_WEIGHTED,i+1); if (r1a>50 && r2a>50 && r3a>50) buffy1[i] = Low[i+1]-15*Point; bar=Time[0]; if (r1a<50 && r2a<50 && r3a<50) buffy2[i] = High[i+1]+15*Point; bar=Time[0]; } return(0); } //+------------------------------------------------------------------+

    FIN DU CODE

    Quelqu'un peut il m'aider ?
    Modifié le 2014-06-03 18:25:45 par AliX
  • mada_forex

    Y a vraiment personne qui est la solution ?
    Là, l'indicateur m'indique exactement ce que je veux.

    Mais il me met une flèche à chaque bougie, tant que je reste dans les conditions. Je voudrais qu'il ne me mette qu'une flèche, à la bougie concernée par la réunion des conditions.

    Merci si quelqu'un à la solution.
    Sinon, vous savez ou est-ce qu'il y a des purs codeurs qui pourraient me donner la solution ?
  • B0gs67

    Salut,

    Si j'ai bien compris tu veux un marqueur uniquement quand les 3 rsi passe en dessous ou au dessus de 50 et ce en même temps ?
    Essaye avec ça :

    Code
    if (r1a>50 && r2a>50 && r3a>50 && r1b<50 && r2b<50 && r3b<50) buffy1[i] = Low[i+1]-15*Point; bar=Time[0]; if (r1a<50 && r2a<50 && r3a<50 && r1b>50 && r2b>50 && r3b>50) buffy2[i] = High[i+1]+15*Point; bar=Time[0];
  • mada_forex

    Oui tout à fait. Pour que ce soit parfait j'ai exclu une toute petite partie de ton code et c'est bon!

    Code
    Code if (r1a>50 && r2a>50 && r3a>50 && r1b<50 && r2b<50 && r3b<50) buffy1[i] = Low[i+1]-15*Point; bar=Time[0]; if (r1a<50 && r2a<50 && r3a<50 && r1b>50 && r2b>50 && r3b>50) buffy2[i] = High[i+1]+15*Point; bar=Time[0];

    Merci bcp.


    PS :
    Je ne sais pas si je cherche mal ou on, mais je ne trouve pas de tutoriel pour coder des indicateurs. Je parle de tutoriel clair pour débutant, mais un peu autre chose que récupérer le croisement du stochastic.
    Modifié le 2014-06-17 16:16:52 par AliX
  • mada_forex — en réponse à mada_forex dans son message #95164