
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Si vous êtes intéressé par le calcul des données d'un autre indicateur, vous pouvez le faire de la manière suivante. Tout d'abord, nous créons un autre indicateur avec sa propre méthode de calcul des données, puis nous prenons le handle de cet indicateur(MQL5 Reference Guide / Technical Indicators / iCustom ) et ce handle est utilisé dans le nouvel indicateur. Regardez attentivement l'exemple. Si vous avez des questions sur l'exemple
J'ai des questions. Je ne comprends toujours pas.
Ok, prenons Custom Moving Average.mq5 comme base.
ajouter la nouvelle procédure de lissage MODE_MYMA - pas de problème.
la question est de savoir comment alimenter les données par l'intermédiaire de l'i-cast d'un autre indicateur ? Ok, prenons comme exemple n'importe quel indicateur fait par le second formulaire (si l'indicateur est fait par le premier formulaire... je ne sais pas comment prendre le high-low... donc cela signifie seulement le second formulaire ?)
Ok, déclarons
int newHandl ;
le définir dans le onInit (parabolique, c'est à dire n'importe quoi, l'essentiel c'est le 2ème type, non ? je comprends comment implémenter le mien)
newHandl=iCustom(_Symbol,0, "ParabolicSAR.mq5",0.02,0.2) ;
et ensuite ? dans onCalculate nous l'alimentons au lieu du prix standard ?
CalculateEMA(rates_total,prev_calculated,begin,newHandl) ;? ???
Est-ce que ça jure ou quoi ? Expliquez-moi, je ne comprends pas... (((((
oui, j'utilise toujours les modèles mcl4. là, c'est simple - boucle, prise de données (n'importe lesquelles !), lissage, sortie.
Mais ici.... Je ne sais pas à quoi m'accrocher...
(si l'indicateur est fait par la première forme... je n'ai pas compris d'où prendre le high-low... donc ça veut dire seulement par la deuxième forme ?)
Oui, à propos du high-low c'était juste un exemple, comment traiter les articles par vous-même. Pour la première forme vous pouvez prendre la tâche de dessiner la ligne close[i]/2 [ou sqrt(close[i]/2 )]. En général, il est possible de créer un grand nombre de variantes à l'aide d'un seul tableau.
OK, déclarons
int newHandl ;
dans onInit, définissez-le (par exemple - parabolique. peu importe, l'essentiel est le deuxième type, n'est-ce pas ? comment implémenter le vôtre est à peu près clair)
newHandl=iCustom(_Symbol,0, "ParabolicSAR.mq5",0.02,0.2) ;
C'est bien. Je vais le terminer maintenant.
Si le handle de l'indicateur est correct, cela signifie que nous pouvons nous adresser aux tampons de cet indicateur. Regardez à nouveau l'exemple de MQL5 Reference / Technical Indicators / iCustom Il y a une ligne :
Lisez maintenant la référence MQL5 / Accès aux séries chronologiques et aux indicateurs / CopyBuffer (...Encore une fois : beaucoup de choses deviennent claires en analysant les exemples ligne par ligne).
Essayez de recevoir les données de n'importe quel tampon indicateur que vous avez sélectionné. Je n'ai pas de terminal, mais dans parabolique vous pouvez voir quels tampons sont calculés et leur numérotation.
Question sur la description des fonctions ArrayIsSeries() et ArrayGetAsSeries().
Une telle phrase figure dans le manuel de référence :"Les tableaux passés dans la fonction reflètent les données de prix, c'est-à-dire que ces tableaux ont le signe timeseries et la fonction ArrayIsSeries() renverra vrai lors de la vérification de ces tableaux . Mais dans tous les cas, le sens de l'indexation doit être vérifié uniquement avec la fonctionArrayGetAsSeries()".
Il résulte d'une lecture littérale que même si la fonction ArrayIsSeries() renvoie vrai (c'est-à-dire qu'elle confirme que le tableau vérifié est un tableau timeseries), la direction de l'indexation doit de toute façon être vérifiée uniquement par la fonction ArrayGetAsSeries(). Alors je ne comprends pas la raison de l'introduction de la fonction ArrayIsSeries() si ses résultats doivent de toute façon être vérifiés en plus. Quel est l'intérêt ? Est-il possible que le tableau soit une série temporelle, mais que sa direction d'indexation ne soit pas la même que celle d'une série temporelle (le drapeau AS_SERIES ne sera pas activé) ?
Lors du portage de Mql4 vers Mql5, une erreur de lot est apparue :
Lot" - la constante ne peut pas être modifiée
Comment corriger ?
Lors du portage de Mql4 vers Mql5, une erreur de lot s'est produite :
Lot" - la constante ne peut pas être modifiée
Comment le réparer ?
Tu ne peux pas. Ce n'est pas un bug, c'est une fonctionnalité. :)
Dans mql5 les variables d'entrée ne sont pas modifiables (const).
Faites un découplage simple :
Dans la sectionMQL5 Manual / Array Operations / ArraySetAsSeries, il y a un exemple où la fonction ArraySetAsSeries() s'applique au tableau const datetime&time[] à chaque tick :
Est-ce que c'est ce que tout le monde fait (retourner le tableau à chaque tick) pour travailler avec le tableau comme une série chronologique ?
Autre question : les tableaux utilisés par OnCalculate() peuvent-ils changer arbitrairement leur direction d'indexation ? Ou est-il suffisant de vérifier cette direction une fois ?
Lors du portage de Mql4 vers Mql5, une erreur se produit SymbolInfoDouble :
'SymbolInfoDouble' - aucune des surcharges ne peut être appliquée à l'appel de fonction.
Comment puis-je le corriger ?
Lors du portage de Mql4 vers Mql5, l'erreur SymbolInfoDouble est apparue :
SymbolInfoDouble' - aucune des surcharges ne peut être appliquée à l'appel de fonction.
Comment puis-je le corriger ?
Pourquoi y a-t-il un 0 en bas ?
https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_double
Et en plus de cela, vérifiez la division par 0.
Les résultats du testeur de stratégie sont affichés dans des graphiques :
Pouvez-vous me dire où trouver la signification des différentes couleurs sur les graphiques ?
Les résultats du testeur de stratégie sont affichés dans des graphiques :
Pouvez-vous me dire où trouver la signification des différentes couleurs sur les graphiques ?