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

Récupération valeurs RSI MT4

  • Berni

    Bonjour tous le monde forexagoniens !!!

    Patience patience le beau arrive. Bon rentrons dans le vif du sujet :

    Voila, je voudrais savoir comment coder un algorithme qui me permettrais de récupérer les valeurs du RSI sur le chandelier japonais

    précédent (chandelier index 1). J'ai codé ceci (en mq4) mais cela ne fonctionne pas, c'est - à - dire que j'ai toujours la même valeur

    sélectionnée stockée dans mon buffer RsiValues[] au lieu de plusieurs valeurs Rsi différentes :

    //boucle for pour récupération valeurs du RSI (je suis sur un timeframe de 1 heure et souhaite récupérer valeurs RSI dans le
    //dernier quart d'heure de ma période précédente -> 3 quarts d'heure = 2700 secondes :

    int depart = Time[1]+2700; -> variables boucle for
    int limit = Time[1]+PeriodSeconds();

    double RsiValues[]; //definition de mon buffer qui contiendra valeurs RSI bougie index 1

    ArrayResize(RsiValues,15); //fixation de mon buffer à 15 cases

    //Boucle for pour remplir mon buffer avec valeurs RSI chandelier index 1 :

    for(int count=depart; count<=limit; count++)

    ArrayFill(RsiValues,0,15,iRSI(NULL,0,9,PRICE_CLOSE,1));

    Voilà ce que j'ai fais.

    En faisant un Print dans la log j'obtiens qu'une seule valeur et toujours la même au lieu de plusieurs valeurs RSI différentes :
    (15 fois la même valeur !!)

    for(int a=0; a<ArraySize(RsiValues); a++)
    Print("Valeur RSI: ", DoubleToString(RsiValues[a],digits)," ",a);

    Si quelqu'un avait une idée !!! J'ai cherché sur d'autres forum mais je n'ai pas trouvé.

    Merci d'avance pour votre aide !!!!!
    Modifié le 2014-05-29 10:47:38 par Berni
  • seanix

    Bonjour,

    Je crois que ta question est dans la mauvaise section, mais dit moi pourquoi tu n'utilise pas la fonction iRSI de mq4 ?
    Lien : http://docs.mql4.com/indicators/irsi

    Seanix
  • Berni

    Bonjour seanix,

    Merci d'abord de m'avoir répondu.

    J'utilise bien la fonction iRSI (deuxième ligne en - dessous de la ligne for) :

    //Boucle for pour remplir mon buffer avec valeurs RSI chandelier index 1 :

    for(int count=depart; count<=limit; count++)

    ArrayFill(RsiValues,0,15, iRSI(NULL,0,9,PRICE_CLOSE,1));
    Modifié le 2014-05-29 14:34:20 par Berni
  • seanix

    Mais iRSI te retourne seulement la valeur actuel de ton RSI donc normal que si tu met 100 fois iRSI dans un array , il te donne 100 fois la même chose !

    Petit conseil, regarde au niveau de "shift" de la fonction iRSI.. Je crois que tu trouvera ton bonheur ;)

    Seanix
  • Berni

    Seanix merci pour ta réponse de nouveau tu as raison j'ai regardé au niveau de "shift" et j'ai trouvé bonheur !!!!

    Merci beaucoup ! ;)
    Modifié le 2014-05-29 15:44:53 par Berni
  • riden

    Salut,

    sur un chandelier déjà clôturé, tu peux accéder au
    1 - ouverture
    2 - clôture
    3 - ph
    4- pb
    5 - volume (nombres de fois où le prix à changé)

    Tu n'as pas accès à l'évolution du prix pendant un chandelier (sauf dans les graph en ticks qui n'existent pas sous mt4)
    dans le chandelier actuels la valeur du rsi change (n fois) car, par défaut, le rsi se calcule en se basant sur le prix de clôture d'un chandelier et pendant le chandeliers actuel le prix de clôture égal au prix actuel. une fois le prix et le rsi changés, tu n'as plus accès à la valeur précédente, comme ça jusqu'à la clôture du chandelier. La seule valeur enregistré est la valeur qui correspond au prix de clôture, tout le reste sera perdu.

    Pour suivre l'évolution du rsi sur un chandelier (H1 par exemple) tu récupères la formule de calcul du rsi à partir du code source de l'indicateur puis tu récupères les info (prix de clôture des derniers chandeliers H1) nécessaires au calcul du rsi jusqu'au chandelier précédent (shift 1). 2ème étape: tu récupères les prix de clôture des M1 à partir de l'ouverture du chandelier actuel. Maintenant, on revient à la formule qui lui manque le prix actuel et on injecte les valeurs de clôture M1 un par un comme si c'était les valeurs de clôture H1. Et comme ça tu obtient un graph de 60 périodes qui matérialise l'évolution du rsi pendant une heure SUR UN GRAPH H1 (tu peux utiliser M5 ou M15 pour moins de périodes).
  • Berni — en réponse à riden dans son message #94610

    Bonjour riden,

    Super top ton explication !!! Merci beaucoup pour tes lumières !!!

    Je vais mettre en pratique c'est exactement le genre d'info qu'il me fallait.

    Je vais coder. Merci encore riden !!!!

    Berni
    Modifié le 2014-05-29 21:20:50 par Berni