Questions des débutants MQL5 MT5 MetaTrader 5 - page 783

 
Vitaly Muzichenko:

Merci de votre attention.

La vue générale de l'indicateur est comme ceci, et comment le faire sansiEnvelopesOnArray etiBandsOnArray n'est absolument pas clair


Pourquoi devrait-on le faire sans eux ? Eh bien, faites votre propre calcul en vous basant sur les données du tampon. Mais le calcul devrait alors répéter le même calcul que ceux que vous voulez écarter.

 
Artyom Trishkin:

Pourquoi pas ? Eh bien, faites votre propre calcul en vous basant sur les données du tampon. Mais le calcul doit alors répéter le même calcul que ceux que vous voulez écarter.

Personne ne s'y refuserait, mais ils ne prennent que des handles, pas des tableaux arbitraires comme dans mql4

 
Alexey Viktorov:

Personne ne les refuserait, mais ils n'acceptent que les handles, pas les tableaux arbitraires comme dans mql4

Je vois, je suis confus. Je pensais que c'était une question sur mql4.
 
Artyom Trishkin:
Je vois. J'étais confus. Je pensais que c'était environ quatre.

La question porte sur la transposition à cinq, et l'objectif est d'obtenir un affichage similaire à celui d'aujourd'hui sur quatre.

Voici un code plus complet, les symboles sont substitués dans l'indicateur en appuyant sur des boutons sur le graphique, c'est-à-dire que Inite n'est pas suffisant

  for(int i=0; i<limit; i++) {
    Last[i] = Symbol1_Vol*Vol1*iClose(Symbol1_Name,0,iBarShift(Symbol1_Name,0,Time[i])) - 
              Symbol2_Vol*Vol2*iClose(Symbol2_Name,0,iBarShift(Symbol2_Name,0,Time[i]));
  }

 for(int i=0; i<limit; i++) {
    if(ButtonSt) { // кнопка выбора, отображать Bands, или Envelopes
     MA[i]=iMAOnArray(Last,0,Env_Period,0,MODE_SMA,i);
     LineUp[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_UPPER,i);
     LineDn[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_LOWER,i);
    } else {
     MA[i]=iMAOnArray(Last,0,BB_Period,0,MODE_SMA,i);
     LineUp[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_UPPER,i);
     LineDn[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_LOWER,i);
    }
  }

Comment traduire cela en cinq ? Ou bien c'est impossible en raison de l'absence de fonctionnalité ?

 
Vitaly Muzichenko:

La question porte sur la transposition à cinq, et l'objectif est d'obtenir un affichage similaire à celui d'aujourd'hui sur quatre.

Voici un code plus complet, les symboles sont substitués dans l'indicateur en appuyant sur des boutons sur le graphique, c'est-à-dire que Inite n'est pas suffisant

Comment traduire cela en cinq ? Ou bien c'est impossible en raison de l'absence de fonctionnalité ?

Donc personne ne s'impose pour avoir la poignée dans l'inite...

 
Alexey Viktorov:

Donc personne ne s'impose pour avoir la poignée dans l'inite...

Cela ne me dérange pas)

Je n'arrive pas du tout à trouver comment remplaceriEnvelopesOnArrayetiBandsOnArray, car ce n'est pas dans Five, et je n'ai aucune idée par où commencer. J'ai besoin d'obtenir une cartographie totalement identique dans MT5

 
Vitaly Muzichenko:

Cela ne me dérange pas)

Je n'arrive pas du tout à trouver comment remplaceriEnvelopesOnArrayetiBandsOnArray, car ce n'est pas dans Five, et je n'ai aucune idée par où commencer. J'ai besoin d'obtenir un mapping totalement identique dans MT5

Parce que ce n'est pas la première fois que vous l'ignorez.

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégie

FAQ des débutants MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2017.09.21 20:06

Il y a MovingAverages.mqh dans la racine d'include mais je n'ai pas cherché BB, peut-être pas. Mais la meilleure option est de coller le handle de l'indicateur de la source de données comme prix dans la fonction iMA.

J'ai un exemple avec uniquement des iMA lissés.

int haMa8, haFastMa, haMa21, haSlowMa;

int OnInit()
 {
   haMa8  = iMA(_Symbol, PERIOD_CURRENT, perFastMa, 0, metodFastMa, priceFastMa);
   haFastMa = iMA(_Symbol, PERIOD_CURRENT, perFastMa, 0, metodFastMa, haMa8);
   
   haMa21 = iMA(_Symbol, PERIOD_CURRENT, perSlowMa, 0, metodSlowMa, priceSlowMa);
   haSlowMa = iMA(_Symbol, PERIOD_CURRENT, perSlowMa, 0, metodSlowMa, haMa21);

//Продолжение догадаешься

La même chose pour BB.

Si la source est un indicateur personnalisé, alors vous devez

  • Faites-le séparément.
  • Créez un nouvel indicateur.
  • Attachez le premier comme ressource.
  • Et après avoir reçu sa poignée pour l'insérer dans l'iMA et d'autres fonctions.

Quel gâchis...


 
Alexey Viktorov:

Parce que ce n'est pas la première fois que tu ignores ce que tu as écrit.

Il y a MovingAverages.mqh à la racine d'include, mais je n'ai pas cherché BB, peut-être pas.
C'est le cas : \MQL5\Include\Indicators\Trend.mqh
 
Artyom Trishkin:
Je l'ai : \MQL5\Include\Indicators\Trend.mqh

Merci, je l'ai trouvé maintenant.

J'ai dû appliquer iTEMA à un indicateur personnalisé, mais je n'ai pas pensé à regarder là... J'ai fait comme décrit ci-dessus, tout fonctionne sans aucun problème.

 

Veuillez m'aider à créer une fonction.

J'ai un TF actuel et un TF estimé, la fonction doit retourner la différence entre les deux TF dans toutes les combinaisons, si la mesure était en barres.

Calcul TF 15 15 15 60 60 60 240 240 240
TF actuel 15 5 1 15 5 1 60 15 5
Différence en Nbar 1 3 15 4 12 60 4 16 48

Comment l'appliquer correctement ?