Le filtre parfait - page 6

 
Indicateur utile.
Auteur, veuillez faire une version de VAMA pour MT4.
Merci.
 
G001:
Indicateur utile.
Auteur, veuillez faire une version de VAMA pour MT4.
Merci.

Merci pour les commentaires. Malheureusement, je ne connais pas mql4, j'ai commencé par mql5, mais je suis sûr que si vous regardez le code de l'indicateur, vous serez en mesure de l'implémenter dans 4, c'est très simple.

P.S. Dans la version 1.01, j'ai ajouté un attribut pour désactiver le redessin de l'indicateur par tic-tac, de sorte qu'il ne soit dessiné que lorsque la barre est terminée.

input bool bar_exist=1;

Dossiers :
vaMA.mq5  4 kb
vaMACl.mq5  5 kb
vaZZ.mq5  4 kb
 

Eh bien, je pense que j'en suis satisfait, en tout cas je ne ressens pas de lacunes. Je suis content de ce système jusqu'à présent, maintenant je vais resserrer la volatilité et le filtre tendance/plat afin de le mélanger de manière compétente lors des transitions entre tendance et plat et vice versa et faire une belle adaptation, pas de laideur comme AMA classique.

1.12 joint si vous voulez savoir. ZZ et la couleur n'ont pas fait avec, parce que ce n'est que la phase initiale, quand je pense à la façon de faire une adaptation de qualité déjà, je vais mettre en page prêt.

Dossiers :
vaMA.mq5  4 kb
 
J.B:

C'est ça, je pense que nous l'avons...

La première option est meilleure (celle de la codobase). Dans celui-ci, vous avez déjà trop mélangé... IMHO

 

Je viens de le lire, le fil est un délice ! Merci beaucoup à toutes les personnes impliquées, en particulier à la personne qui a lancé le sujet. Je n'ai jamais fait de filtres moi-même, mais réfléchir un peu à voix haute sur le sujet serait bien, je pense.

La question de la recherche d'une caractéristique quantitative de la qualité des filtres a été soulevée à plusieurs reprises ici. Vraiment, lequel est le meilleur, JJMA ou EMA et de combien ? Il existe un certain décalage des filtres, comment le mesurer et quelle est son utilité ? Donc, dans l'ensemble, ce sont des questions logiques normales.


Bien sûr, une méthode simple via la somme des ZigZags construits sur les coudes des filtres a également été évoquée. C'est presque tout bon, mais pas tout à fait.

Chers auteurs, puisque vous avez des méthodes de comparaison de filtres, pourriez-vous donner des données graphiques, tabulaires ou autres données techniques de ces comparaisons. En outre, si vous additionnez les ZigZags, soustrayez la valeur de l'écart de chaque genou. Tracez la caractéristique quantitative en fonction de la période du filtre. Superposez les graphiques résultants des différents filtres et évaluez les avantages et les inconvénients des deux.

Et encore une fois, pourquoi vous généralisez tout à ce point : un filtre pour tous les temps ? Imaginez que votre filtre se comporte gracieusement le soir, et qu'il est terriblement mauvais à d'autres moments. Après tout, un tel filtre est génial ! Cependant, en raison de l'approche de la température moyenne de l'hôpital, vous la rejetteriez.

OK, les pensées affluent, mais pas assez de lettres. Je propose également une approche plus généralisée - One Way of Research:

Берется понравившийся кусок истории цВР. На нем выбираются понравившиеся интервалы, для которых суммарно будет проделываться нижеследующее. Например, берем крайний месяц, и рассматриваем далее только ночные интервалы.

Задача разложить данные по косточкам и написать ТС именно под этот кусок истории (точнее под выбранные интервалы в нем), чтобы на нем ТС показывала как можно больший профит.

Т.е. задача сводится к тому, чтобы обнаружить уже на известном куске истории закономерности для максимального профита.

Очевидно, что вычислить максимально-возможный профит на куске истории очень просто. Но надо создать такую ТС, у которой показатель Profit / Func(AmountIN) был бы максимален, где AmountIN - количество явных и неявных входных параметров ТС, а Func - некая функция (для простоты начала исследования - простейшая линейная: Func(X) = X).

Например, нескольким людям нравится какой-то замечательный флэтовый кусок, который эти люди считают чуть ли не классическим рыночным флэтовым (типовым) состоянием. Люди выкладывают этот кусок публично и устраивают свого рода соревнование по созданию оптимальной ТС для этого куска. Далее сравниваются характеристики полученных ТС, идеи в них заложенные. И уже исходя из этого анализа происходит некоторое понимание формализации флэтовости и более обобщенных понятий.
P.S. Написано очень примитивно, но основа подобных манипуляций позволяет уловить суть подходов и к исследованиям посложнее.

Et aussi une demande forte, prendre en compte les différences du TZVR. Par exemple, votre filtre peut montrer une absurdité totale sur l'EURUSD et être excellent sur le GBPJPY. Si de telles différences sont observées, il est alors logique de creuser la question de l'EURUSDvsGBPJPY. De toute façon, il y a plein d'endroits où creuser.

 

hrenfx:

Bien sûr, une méthode simple par la somme des genoux ZigZag construite sur des ruptures de filtre a également été exprimée. Tout est presque bon, mais pas tout à fait.

Chers auteurs, puisque vous avez des méthodes de comparaison des filtres, pourriez-vous donner des données graphiques, tabulaires ou autres données techniques de ces comparaisons. En outre, si vous additionnez les ZigZags, soustrayez la valeur de l'écart de chaque genou. Tracez la caractéristique quantitative en fonction de la période du filtre. Superposez les graphiques obtenus avec les différents filtres et évaluez les avantages et les inconvénients des deux.

Et encore une fois, pourquoi généralisez-vous tout si fortement : un filtre pour tous les temps ? Imaginez que votre filtre se comporte gracieusement le soir, et qu'il est terriblement mauvais à d'autres moments. Après tout, un tel filtre est génial ! Cependant, l'approche de la température moyenne des hôpitaux vous amènera à la rejeter.

Et aussi une demande forte, prendre en compte les différences dans le TzVR. Par exemple, votre filtre peut montrer un résultat totalement nul sur EURUSD et être excellent sur GBPJPY. Si vous constatez de telles différences, il est logique de se pencher sur l'EURUSDvsGBPJPY. Dans l'ensemble, il y a beaucoup d'endroits à creuser.

Merci ! Il s'agit du critère d'efficacité des différents filtres pour les différents marchés et le regroupement à l'aide de ce critère nous permettra de calculer le point de conversion requis entre les différents systèmes d'ordres adaptés aux différentes conditions de marché. C'est le plan.

J'ai déjà pensé au calcul du spread dans le totalisateur, c'est une invention supplémentaire, en tenant compte des sociétés de courtage et de leurs cotations, j'essaie de résoudre les problèmes progressivement, de sorte que chaque élément du système soit raisonnablement indépendant, pour pouvoir comprendre la "contribution nette" de chaque élément, et ensuite analyser l'effet cumulatif.

Cependant, je ne suis pas encore un bon programmeur et ma vitesse de codage est horrible, je me bats constamment avec des dépassements de tableau et avec le fait que je n'ai pas créé un nouveau tampon de calcul pour l'indicateur et ainsi de suite. C'est pourquoi je passe 99,9% de mon temps sur des bugs techniques au lieu de penser à l'architecture de la CT, ce qui est triste, mais inévitable.

Dites-moi, si vous le voulez bien, quelles méthodes ou heuristiques sont utilisées pour éviter les dépassements de tableau? Parce que penser constamment quelle boucle de quel élément et sur quel élément faire, je pense que ce n'est pas kasher. Est-il possible, par exemple, que les valeurs invalides et les accès hors-boucle n'interrompent pas la logique de ? Par exemple, la division par 0 ne pourrait-elle pas provoquer une erreur, mais une grande valeur de 1000, par exemple, et l'adressage en dehors du tableau donnerait un élément du bord du tableau le plus proche de l'adresse ?

(Donc... pensées de débutant, je comprends qu'il puisse être peu viril, peut-être même honteux de penser de cette façon))). Mais pardonnez-moi, je ne suis pas très attentif, malheureusement. Il m'est plus facile d'imaginer des structures que de les mettre en œuvre, mais si je dois commander un codage pour chaque petite chose, je suis ruiné. Les petits tests sont toujours mieux à faire par soi-même.

 

J.B:

quelles méthodes ou heuristiques utilisez-vous pour éviter les tableaux hors limites ?

Une classe pour créer un tampon en anneau
 
J.B:

J'ai déjà pensé à la comptabilité des spreads dans le totalisateur, c'est une astuce supplémentaire, en tenant compte d'une société de courtage particulière et de leurs cotations, j'essaie de résoudre systématiquement les problèmes de manière à ce que chaque élément du système soit suffisamment autonome, pour pouvoir comprendre la "contribution nette" de chaque élément, et ensuite analyser l'effet cumulatif.

J'ai mentionné la répartition, pas pour briser les stéréotypes. En fait, il n'y a pas d'écart. Il n'y a que l'offre et la demande de BP. Vous construisez également des ZigZags, mais en fixant les sommets sur le BP de l'offre et les creux sur le BP de la demande. Ensuite, la somme des genoux représentera le"spread flottant". Ce n'est vraiment pas aussi ringard que ça en a l'air. Il ne s'agit pas non plus d'un désir de calculer super précisément là où on ne le pourrait pas. Il y a là un point fondamental : les fractures trop fréquentes, bien que très précises, sont un mal, car ce n'est pas rentable.

Je ne suis pas encore un bon programmeur et mon rythme de codage est trop lent, je me débats constamment avec les dépassements de tableau et avec le fait que je n'ai pas implémenté un nouveau tampon de calcul pour l'indicateur. Par conséquent, je passe 99,9 % de mon temps à résoudre des problèmes techniques et à ne pas penser à l'architecture de la CT, ce qui est triste, mais inévitable.

Je suis aussi un programmeur de merde. Par conséquent, il est recommandé de ne pas mener de telles études dans MQL. Utilisez MQL uniquement comme une source de données et comme une simple visualisation. Pour l'analyse, utilisez le même paquet de matrice. Cela vous permettra d'économiser beaucoup de temps et d'efforts.

Les données Bid et Ask doivent être disponibles via FXOPEN ECN, FXCM, Dukascopy, ou toute autre source de tick. Vous ne devriez utiliser que M1, comme compromis entre vitesse et précision. Je comprends que presque personne ne s'en préoccupe et qu'il reste dans les cadres MQL. Mais vous devez vous demander si vous voulez enquêter ou jouer.

 

Merci ! Je vais essayer)))

hrenfx:

J'ai parlé de la diffusion, pas de briser les stéréotypes. En fait, il n'y a pas d'écart. Il n'y a que le Bid et le Ask BP. Vous construisez les ZigZags de la même manière, mais vous mettez les sommets sur le Bid BP, et les creux sur le Ask BP. Ensuite, la somme des genoux représentera le"spread flottant". Ce n'est vraiment pas aussi ringard que ça en a l'air. Il ne s'agit pas non plus d'un désir de calculer super précisément là où on ne le pourrait pas. Il y a là une question de principe : des fractures trop fréquentes, bien que très précises, sont un mal, car ce n'est pas rentable.

Je suis aussi un programmeur de merde. Par conséquent, il est recommandé de ne pas mener de telles études dans MQL. Utilisez MQL uniquement comme une source de données et comme une simple visualisation. Pour l'analyse, utilisez le même paquet de matrice. Cela vous permettra d'économiser beaucoup de temps et d'efforts.

Les données Bid et Ask doivent être disponibles via FXOPEN ECN, FXCM, Dukascopy, ou toute autre source de tick. Vous ne devriez utiliser que M1, comme compromis entre vitesse et précision. Je sais que presque personne ne s'en souciera et qu'il restera toujours dans les cadres MQL. Mais ici, vous devez simplement vous demander si vous voulez faire des recherches ou jouer.

Merci pour la recommandation ! En fait, je le suis rétroactivement)). J'utilise STATICTICA et Matlab pour les études numériques, sideFX Houdini pour les visualisations et certains calculs inhabituels. Mais tout de même, je dois coder quelque chose d'assez personnalisé au niveau des vecteurs (tableaux) et des opérations avec leurs composants dans des boucles. C'est pourquoi je vais devoir étudier mql5 pour mt5 et très probablement C# aussi.

Le 5ème a été choisi pour les raisons suivantes, par ordre d'importance pour moi :

1)mql5 est un analogue de C++.

Et C++ est le langage de programmation le plus avancé de nos jours, et même en cas de difficulté, si mt5 ne m'aide pas à cause d'un marketing inadéquat, je peux facilement passer au codage C++ pur. Et cette expérience ne sera pas perdue.

Bien sûr, la POO, contrairement à la 4e méthode de type C, qui est comme la puissance sous le capot d'une voiture cool, plaît par son potentiel de mise en œuvre de projets structurellement complexes. Un langage procédural serait époustouflant, compte tenu de mon attention et de l'imbrication structurelle prévue des projets.

2)Mt5 est la dernière version de mt.

Une forte probabilité que les prochaines versions de mql soient également basées sur des plus et mt5th est en train d'être promu aux bourses, ce qui est un énorme plus absolu et le fait que les sociétés de courtage ne passent pas en masse à 5 à mon avis est un phénomène temporaire.

J'ai également commencé à utiliser mql5 et c# pour mettre en œuvre mes idées. J'ai déjà eu l'expérience de commander quelques idées à des codeurs, mais j'ai décidé qu'il était logique de ne commander que des coquilles. Et les blocs de prévision et les MM devraient être faits par moi-même. Je vais donc devoir apprendre des langues au moins pour donner correctement la tâche et vérifier/enquêter correctement sur les projets. Il ne s'agit bien sûr que d'une opinion personnelle pour l'instant.

 

Franchement, c'est une vision étrange. Qu'est-ce que la recherche sur TzWD a à voir avec une quelconque plate-forme ou langue ? Ce n'est qu'une recherche. Vous pouvez le faire sur papier, vous pouvez le faire dans un langage de type C et, comme vous l'avez souligné à juste titre, dans certains progiciels mathématiques. Cela dit, avoir la possibilité de programmer et d'importer des données et des DLL de tiers. La recherche et le commerce sont des activités complètement différentes.

Jouer, c'est passer son temps précieux à construire une infrastructure de recherche à partir de zéro : à travers un langage de programmation.

Je ne vais pas argumenter ou persuader, bien sûr. J'ai toujours pensé que le fil de discussion était sur le sujet de la recherche.