Bill Williams et ses stratégies... - page 25

 

Vous l'avez regardé, il n'y a pas d'arrêt ? Il y a plusieurs EA de Williams dans la base de code, ou presque, votre EA n'y est pas ?

À première vue, que se passe-t-il si je laisse tomber AC et que j'essaie d'utiliser AO comme filtre - au-dessus de 0 - uniquement achat - en dessous - uniquement vente. Et la deuxième variante consiste à essayer de filtrer - pour ne réagir qu'à la fractale la plus basse ou la plus haute du dernier groupe. C'est-à-dire que si une fractale inférieure est formée, et qu'après elle d'autres fractales similaires mais supérieures sont apparues, nous ne devons pas y entrer, car un changement de tendance est probable et il n'est pas nécessaire de multiplier les pertes. Il en va de même pour les aigus.

Au fait, j'ai remarqué que AC est presque identique à OsMA et AO à MACD. Bien sûr, il y a des différences, mais elles ne sont pas très importantes.


 
ZZZEROXXX:

Vous l'avez regardé, il n'y a pas d'arrêt ? Il y a plusieurs EA de Williams dans la base de code, ou presque, votre EA n'y est pas ?

À première vue, que se passe-t-il si nous laissons tomber le CA et essayons d'utiliser l'AO comme un filtre - au-dessus de 0 - uniquement achat - en dessous - uniquement vente. Et la deuxième variante consiste à essayer de filtrer - pour ne réagir qu'à la fractale la plus basse ou la plus haute du dernier groupe. C'est-à-dire que si une fractale inférieure est formée, et qu'après elle d'autres fractales similaires mais supérieures sont apparues, nous ne devons pas y entrer, car un changement de tendance est probable et il n'est pas nécessaire de multiplier les pertes. Il en va de même pour les aigus.

Au fait, j'ai remarqué que AC est presque identique à OsMA et AO à MACD. Bien sûr, il y a des différences, mais elles ne sont pas très importantes.



Les stops consistent à fermer une ou plusieurs positions lorsque le prix franchit la ligne des dents d'alligator. Les miens ne sont pas dans le codebase. Je dois essayer de le filtrer...
 
Roman.:

Les stops consistent à fermer une ou plusieurs positions lorsque le prix franchit la ligne des dents d'alligator. Les miens ne sont pas dans le codebase. Je dois essayer de le filtrer...

Si la bougie est longue, franchir la ligne des dents peut coûter très cher. En théorie, les arrêts permettent d'éviter ce problème, à condition bien sûr que ces situations soient fréquentes. Mais là encore, il s'agit d'optimiser la taille de cet arrêt.
 
ZZZEROXXX:

Si le chandelier est long, le franchissement de la ligne des dents peut être très coûteux. Théoriquement, avec des arrêts, cela peut être évité, si de telles situations se produisent fréquemment, bien sûr. Mais là encore, il s'agit d'optimiser la taille de cet arrêt.


C'est clair - la tâche initiale était de tout faire selon le livre, pour qu'il n'y ait pas de questions par la suite - de là, comme on dit, à danser, et seulement ensuite - à rouler des filtres différents et tout le reste....

En ce qui concerne les stops - il dit que le prix peut plusieurs fois "tester" le niveau de la ligne des dents, disons que nous sommes en long - le prix à la clôture des prochaines bougies casse plusieurs fois la ligne des dents d'alligator de haut en bas de n points, mais il clôture au-dessus, nous gardons les longs jusqu'à ce que la clôture de la bougie ne soit pas plus basse.... C'est ce que j'ai mis en place. Alors vous devez voir par vous-même...

 
Roman, pouvez-vous poster votre EA ici ? Je vais le prendre comme référence puisqu'il est entièrement réalisé par Williams et essayer de l'améliorer.
 
ZZZEROXXX:
Roman, vous pouvez publier votre conseiller expert ici. Je le prendrai comme référence puisqu'il est entièrement réalisé par Williams et j'essaierai de l'améliorer.


Je vais essayer de l'améliorer. Maintenant que les vacances sont terminées, je vais le recommander plus correctement et je le posterai dans ce fil un jour, il contient beaucoup de choses inutiles, qui sont restées de mes autres études....

J'ai regardé le travail de la chouette en utilisant trois écrans d'Elder et l'un des points de la tâche était de rechercher l'alligator, les fractales et le sar parabolique - mais à la fin - trois écrans ont été mis de côté pour le moment et un "camarade" de B. Williams a été obtenu.

Lorsque j'ai écrit le code, je l'ai "touché" tout de suite et directement (en passant différentes questions sur l'une ou l'autre dimension). Plus tard, j'ai réalisé que j'aurais pu résoudre ce problème d'une manière différente (plus optimale), donc le code est loin d'être optimal :-))). La structure du conseiller expert lui-même est issue du tutoriel.

 
ZZZEROXXX:
Roman, vous pouvez poster votre EA ici. Je le prendrai comme référence puisqu'il est entièrement réalisé par Williams et j'essaierai de l'améliorer.


L'EA de B. Williams en cinq dimensions - une version de travail (avec contrôle de l'ouverture d'une nouvelle barre) - est faite à partir du code pour les trois écrans de A. Elder, donc ne faites pas attention aux sections de code où les variables et le chalutage des ordres de marché par deux APR sont impliqués, ainsi que les variables et le calcul des niveaux SL et TP - dans les fonctions (inclure) - variables, tral_stop.mqh, orn_ord.mqh, en plus de la fonction et l'indicateur ne sont pas pleinement utilisés dans la version de travail, au lieu de cela, dans le mode de visualisation lors du travail "par chandeliers" par F12 - par étapes (et non seulement), dans le "log" onglet de la fenêtre du testeur de stratégie, il est possible de voir quelle fonction est en train de faire (ouverture et mise en place d'un ordre par quelle mesure et les valeurs des variables significatives pour cet événement (analogue à l'inform - j'ai lié les fonctions de trading fonctionnent)), aussi la fonction t_trend_period responsable de l'écran "supérieur" dans les trois écrans Elder n'est pas encore activée - tout cela selon le livre de B. Williams pour commencer.Le livre de Williams.

En général, la stratégie proposée par B. Williams a besoin d'être améliorée, c'est pourquoi nous avons laissé de côté les parties commentées du code, y compris "tout le reste...", parce que.., Il est probable que certaines d'entre elles seront nécessaires pour l'améliorer - par exemple, pour utiliser cette stratégie sur H1, H4 à l'intérieur d'un filtre plus "ancien" (disons, ADX sur D1, d'ailleurs, son calcul est présent dans Criterion.mqh, basé sur les données de t_trend_period), qui détermine la tendance globale ... Je me rapproche moi-même de la recherche dans cette direction. La structure du conseiller expert est modulaire, selon le manuel. Peut-être quelqu'un voudra-t-il améliorer la version proposée de la chouette selon les cinq dimensions de B.Williams et partager les méthodes (pas nécessairement sous forme de code) et les résultats. Le système de trading est capable d'attraper les tendances et de les faire fonctionner par intermittence - voir la vidéo dans les fichiers joints, post ci-dessus, mais en même temps, le plat est lent ... en un mot, vous avez besoin d'un "réglage fin".

P.S. Le code n'est pas optimal dans l'écriture, les questions de la compilation des algorithmes pour définir les critères de négociation, et leur traduction dans le code, j'ai résolu "directement", donc vous pouvez laisser la critique à vous-même, cependant, je vais prendre en compte les moyens spécifiques pour améliorer les performances du système.

P.P.S. Le fichier joint consiste en l'archive du dossier experts, qui contient les dossiers include et indicateurs, ainsi que l'Expert Advisor lui-même. Après avoir décompressé, placez le contenu des dossiers dans les mêmes dossiers de votre terminal client et partez.

Dossiers :
experts.rar  68 kb
 
Roman.:


B.Williams Five Dimension Expert Advisor - version de travail (avec contrôle de l'ouverture des nouvelles barres)


Merci, je vais l'essayer et si quelque chose se passe, je posterai le résultat ici.
 

Bonjour, j'ai récemment commencé à me familiariser avec le livre de Williams New Trading Dimensions, je suis arrivé à la page 5. J'ai décidé de construire un EA pour mieux comprendre l'essentiel, bien sûr sans attendre de revenus.

Je ne ferais pas de commerce, Alert("buy", GetLastError()) n'écrit pas, j'ai écrit à Any Novice Question et ils m'ont fait suivre ici.

Et c'est un ajout cool au scénario !

Regardez le robot si vous le pouvez.

//+------------------------------------------------------------------+
//| Aligatorny.mq4 |
//| Droits d'auteur © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#lien de propriété "http://www.metaquotes.net"
extern int jaw_period=13,teeth_period=8,jaw_shift=8,tteeth_period=5,teeth_shift=5,lips_period=3,lips_shift=3 ;
extern double volume=0.1,stoploss=20,takeprofit=50 ;
//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+
int init()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
int tiket ;
int start()
{double blu,red,grin ;
//----
blu= iAlligator( 0, 0, jaw_period, jaw_shift, tteeth_period, teeth_shift, lips_period, lips_shift, MODE_SMA,PRICE_CLOSE,MODE_GATORJAW, 0) ;
red= iAlligator( 0, 0, jaw_period, jaw_shift, tteeth_period, teeth_shift, lips_period, lips_shift, MODE_SMA,PRICE_CLOSE,MODE_GATOREETH, 0) ;
grin= iAlligator( 0, 0, jaw_period, jaw_shift, tteeth_period, teeth_shift, lips_period, lips_shift, MODE_SMA,PRICE_CLOSE,MODE_GATORLIPS, 0) ;
//----


double Fractalu,Fractall;Fractalu=iFractals( 0, 0, MODE_UPPER, 0) ;Fractall=iFractals( 0, 0,MODE_LOWER, 0) ;


si (Fractalu>0&&Fractalu>blu&&&Fractalu>rouge&&Fractalu>grin&&grin>rouge>blu&&OrdersTotal() <1)
{ tiket= OrderSend( 0, OP_BUY, volume, Bid, Point*3, Bid- stoploss*Point, Bid+ takeprofit*Point, "Pose66", 1234567890, 0, Red);Alert("buy",GetLastError());}

si (Fractall>0&&Fractalu<blu&&Fractalu<red&Fractalu<grin&grin<red<blu&&OrdersTotal() <1)


{ tiket= OrderSend( 0, OP_SELL, volume, Ask, Point*3, Ask+ stoploss*Point, Ask- takeprofit*Point, "Pose66", 1234567890, 0, Blue);Alert("sell",GetLastError());}




retour(0) ;
}
//+------------------------------------------------------------------+

 
Et voici une capture d'écran
Raison: