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
Ne pas confondre la recréation inconditionnelle et stupide (par ignorance) d'indicateurs à chaque tick avec la création intelligente (rare et nécessaire) d'un indicateur. Dans le premier cas, vous obtenez un frein et une fuite de ressources au centuple, et dans le second - un travail parfait.
Je suis bien conscient que Karlson a commis une erreur par ignorance, et je comprends aussi la nature de cette erreur.
Mais proposez un plan raisonnable pour résoudre son problème. La personne doit utiliser le code écrit dans l'indicateur mais le ou les paramètres de ce code sont déterminés dynamiquement avant chaque accès aux données de l'indicateur ?
J'ai une solution, elle contient une dll, mais vous voulez utiliser du mql pur, alors proposez une solution en mql.
HZ J'ai déjà mentionné OnCalculate() et les calculs dans les événements, mais vous pouvez passer trois paramètres via l'événement. Dans ma solution, une longue dll peut passer l'adresse d'un tableau avec des paramètres et l'indicateur recevra des données à cette adresse.
Si vous avez une solution mql, il suffit de pointer du doigt.
Je suis bien conscient que Karlson a commis une erreur par ignorance, et je comprends aussi la nature de cette erreur.
Mais proposez un plan raisonnable pour résoudre son problème. La personne doit utiliser le code écrit dans l'indicateur, mais le ou les paramètres de ce code sont définis dynamiquement avant chaque référence aux données de l'indicateur ?
Combien d'indicateurs différents doivent être créés en réalité ? Probablement pas plus de 10, sinon ce sera un gaspillage insensé de ressources.
Puisqu'il n'y a pas de modification des paramètres, vous pouvez créer une collection d'indicateurs, et celui qui est nécessaire y sera ajouté au moment voulu. S'il y a moins de 10 indicateurs et qu'ils ont une signification claire (initial, confirmant, corrigeant, etc.), vous pouvez créer des variables nommées de poignées avec les paramètres nécessaires.
Mais proposez un plan raisonnable pour résoudre son problème. La personne doit utiliser le code écrit dans l'indicateur, mais le ou les paramètres de ce code sont déterminés dynamiquement avant chaque référence aux données de l'indicateur ?
J'y ai réfléchi. Si les paramètres du code sont déterminés dynamiquement avant chaque accès aux données de l'indicateur, pourquoi ne pas inclure la procédure de détermination de ces paramètres dans le code de l'indicateur ? En d'autres termes, tous les calculs doivent être mis en œuvre dans l'indicateur.
Ou existe-t-il des situations où une telle approche est impossible en principe ?
J'ai réfléchi pendant un moment. Si le ou les paramètres du code sont déterminés dynamiquement avant chaque accès aux données de l'indicateur, pourquoi ne pas inclure la procédure de détermination de ces paramètres dans le code de l'indicateur ? En d'autres termes, tous les calculs doivent être mis en œuvre dans l'indicateur.
Ou existe-t-il des situations où une telle approche est impossible en principe ?
Il y a des situations, où les paramètres sont calculés par un autre indicateur et renvoyés au Conseiller Expert, et le Conseiller Expert décide du modèle à utiliser en fonction des neurones. Nous ne savons pas à l'avance quel ensemble de paramètres sera appliqué.
Pouvez-vous me dire pourquoi, dans un indicateur aussi simple, la barre zéro (la première à partir de la droite) n'est pas calculée partout sauf sur le graphique hebdomadaire?
Oups) substitué ici :SimpleMAOnBuffer(e,prev_calculated,PERIOD+1,p,vect,mabuf) ; au lieu de e - rates_total et tout a fonctionné)
J'essaie de construire un conseiller expert multi-devises. Jusqu'à présent, j'ai opté pour le schéma proposé par Nikolay Kositsin dans son article"Creating an Expert Advisor that trades on different symbols". J'ai été confronté au problème suivant : les résultats sont différents lorsqu'on effectue un test en utilisant des symboles différents mais les mêmes paramètres. J'ai parcouru le forum et j'ai constaté que beaucoup sont arrivés à la conclusion que ce problème peut être résolu en utilisant la fonction OnTimer(). Andrey Khatimlansky l'a conseillé ici:
Отвяжитесь от тиков конкретного инструмента (OnTick) - это же мультивалютник! Работайте по таймеру или ловите момент образования бара на всех рабочих инструментах, это будет надежнее.
J'ai essayé d'attraper le moment de la formation des barres sur tous les instruments, mais je n'ai pas réussi à obtenir le résultat souhaité.
Par exemple :
Dans la fonction qui est destinée à détecter une nouvelle barre, je spécifie explicitement l'instrument et le cadre temporel.
Dans la fonction OnTick(), le schéma suggéré par Nikolay Kositsin.
Par exemple :
La fonction isNewBar(Symbol,Timeframe) est appelée dans la fonction dans laquelle la transaction est exécutée, c'est-à-dire TradePerformer(paramètres).
Par exemple :
C'est-à-dire qu'une nouvelle barre est vérifiée pour chaque symbole séparément. S'il n'y a pas de nouvelle barre, nous vérifions le symbole suivant. Et c'est ce qui se passe à chaque tic. Mais cette variante ne fonctionne pas.
Veuillez m'indiquer comment implémenter correctement la vérification d'une nouvelle barre dans un Expert Advisor multi-devises dans le schéma donné.
Devrait être dans le fil d'humour pour corriger les erreurs commises par quelqu'un appelé Expert?