Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Membre lvl 5 nuho est sur la route de la réputation...
    Date d'inscription
    December 2008
    Messages
    12
    Pouvoir de réputation
    6

    Macd Calcul barres precedentes Macd Calcul barres precedentes

    Bonjour à tous
    Je poste ce petit bout de programme pour Macd, il ne donne que le début de ce que j'attends
    il calcule bien ce que je veux mais qu"a partir du lancement. il ne calcule pas les barres precedentes.
    ce n'est que le début d'une idée. placer 3 Macd avec des valeurs differente et faire des moyennes.
    Mais je n'avance plus tant que je n'aurais pas solutionner le calcul sur les barres précédentes.
    ça fait une semaine que je tourne en rond.
    j'ai essayé dans tous les sens, avec des mises en buffers ou sans,
    Mais ça donne rien.
    Voila si Quelqu'un peut m'avancer .
    merci d'avance
    ==========================
    //---- indicator settings
    #property indicator_separate_window
    #property indicator_buffers 2
    #property indicator_color1 Silver
    #property indicator_color2 Red
    //---- indicator buffers
    double Tot_Gen_M1_Pour_buffer1[];
    double Moy_Gen_M1_Pour_buffer2[];


    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- drawing settings
    SetIndexStyle(0,DRAW_LINE);
    SetIndexStyle(1,DRAW_LINE);

    IndicatorDigits(Digits+1);
    //---- indicator buffers mapping
    SetIndexBuffer(0,Tot_Gen_M1_Pour_buffer1);
    SetIndexBuffer(1,Moy_Gen_M1_Pour_buffer2);



    //---- name for DataWindow and indicator subwindow label
    IndicatorShortName("nuho_indic_M1_3MACD_Pour");
    SetIndexLabel(0,"Tot_Gen_M1_Pour_buffer1");
    SetIndexLabel(1,"Tot_Gen_M1_Pour_buffer2");

    //---- initialization done
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Moving Averages Convergence/Divergence |
    //+------------------------------------------------------------------+
    int start()
    {
    int counted_bars=IndicatorCounted();
    //---- last counted bar will be recounted
    if(counted_bars>0)
    counted_bars--;

    int limit=Bars-counted_bars;



    //================================================== ========
    double Macd6_M1_Main0 = iMACD(NULL, PERIOD_M1, 6, 13, 4, PRICE_CLOSE, MODE_MAIN, 0);
    double Macd6_M1_Sign0 = iMACD(NULL, PERIOD_M1, 6, 13, 4, PRICE_CLOSE, MODE_SIGNAL, 0);
    double Macd12_M1_Main0 = iMACD(NULL, PERIOD_M1, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0);
    double Macd12_M1_Sign0 = iMACD(NULL, PERIOD_M1, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0);
    double Macd24_M1_Main0 = iMACD(NULL, PERIOD_M1, 24, 52,18, PRICE_CLOSE, MODE_MAIN, 0);
    double Macd24_M1_Sign0 = iMACD(NULL, PERIOD_M1, 24, 52, 18, PRICE_CLOSE, MODE_SIGNAL, 0);
    // si Macd 6/13/4 > signal 1 point sinon moins 1
    if (Macd6_M1_Main0 > Macd6_M1_Sign0) double Tot_Macd_M1_6 = 1; else Tot_Macd_M1_6 = -1 ;
    // si Macd 12/26/9 > signal 2 point sinon moins 2
    if (Macd12_M1_Main0 > Macd12_M1_Sign0) double Tot_Macd_M1_12 = 2; else Tot_Macd_M1_12 = -2 ;
    // si Macd 24/52/18 > signal 3 point sinon moins 3
    if (Macd24_M1_Main0 > Macd24_M1_Sign0) double Tot_Macd_M1_24 = 3; else Tot_Macd_M1_24 = -3 ;
    // Total des 3 Macd
    double Tot_Macd_M1 = Tot_Macd_M1_6 + Tot_Macd_M1_12 + Tot_Macd_M1_24;

    // Total des 3 Macd mis dans une autre variable
    double Total_Gen_M1 =(Tot_Macd_M1);
    // Moyenne des 3 Macd
    double Moyenne_Gen_M1_Pourcentage =((Tot_Macd_M1/6)*100);
    //================================================== ====
    //---- Tot_Gen_M1_Pour_buffer1[i]---counted in the 1-st buffer
    for( int i=0; i<limit; i++)
    // Resultat Total mis dans un buffer pour affichage
    Tot_Gen_M1_Pour_buffer1[i]=Total_Gen_M1;

    //---- Moy_Gen_M1_Pour_buffer2[i]----counted in the 2-nd buffer
    for(i=0; i<limit; i++)
    // Resultat Moyenne mis dans un buffer pour affichage
    Moy_Gen_M1_Pour_buffer2[i]=Moyenne_Gen_M1_Pourcentage;

    //---- done
    return(0);
    }

  2. #2
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    Bonsoir,

    dans votre code vous calculer avec un appel statique sur la première barre Shift 0 ....

    iMACD(NULL,PERIOD_M1,6,13,4, PRICE_CLOSE, MODE_MAIN, 0);

    il faut une boucle avec itération pour parcourir l'ensemble des barres
    ex:
    Code:
    int i=100;
    while (i>0)
    {
    bouble 1valeur_chaque_barre=iMACD(NULL,PERIOD_M1,6,13,4, PRICE_CLOSE, MODE_MAIN,i);
    bouble 2valeur_chaque_barre=iMACD(NULL, PERIOD_M1,6,23,4, PRICE_CLOSE, MODE_MAIN,i);
    buffer1[i]=(1valeur_chaque_barre+2valeur_chaque_barre)/2;
    
    i--;
    }
    et dans la même boucle vous pouvez directement affecter le résultat a un buffer pour le dessiner

    en espérant vous aider ci joint la correction
    bien a vous
    Fichiers attachés

  3. #3
    Membre lvl 5 nuho est sur la route de la réputation...
    Date d'inscription
    December 2008
    Messages
    12
    Pouvoir de réputation
    6

    Bonsoir pacamo
    je viens de tester.
    a priori c'est bien ce que je recherche
    je te remercie beaucoup, rapide et efficace.
    dire que ça fait plusieurs jours que je galere avec ça
    j'vais pouvoir avancer
    bonne soirée

  4. #4
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    bon codage et bon trade

  5. #5
    Membre Star remjie est actif et passionnant Avatar de remjie
    Date d'inscription
    January 2011
    Localisation
    Rhone
    Messages
    279
    Pouvoir de réputation
    10

    Mince j'avais pas vu ce topic :/
    Bon ba bien joué pacamo, toujours aussi rapide =D
    Mieux vaut ouvrir sa gueule et passer pour un con que la fermer et ne laisser aucun doute sur le sujet.

  6. #6
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    @remjie

    Bonjour remjie coiffé au poteau ....

Discussions similaires

  1. calcul des rollover
    Par canchy dans le forum Novice sur le Forex
    Réponses: 1
    Dernier message: 27/12/2010, 15h41
  2. LOL si vous avez envie de casser de barres sur un super site qui parle du forex
    Par thediczzit dans le forum Comptoir des Traders Forex
    Réponses: 2
    Dernier message: 14/10/2010, 08h47
  3. MT4, barres verticales ou grille
    Par elm dans le forum Novice sur le Forex
    Réponses: 3
    Dernier message: 25/09/2010, 11h46
  4. Calcul
    Par jo91160 dans le forum Novice sur le Forex
    Réponses: 4
    Dernier message: 16/09/2010, 12h31
  5. MACD Kosta VS MACD MetaTrader
    Par CHNOPE dans le forum Trading Divers
    Réponses: 6
    Dernier message: 06/03/2010, 22h08

Ajouter aux Favoris | Plan du site | Archives | Forex | Contact