une stratégie commerciale basée sur la théorie des vagues d'Elliott - page 291

 
Sergei, il ne s'agit pas de pouvoir critiquer vos résultats, il s'agit de savoir s'ils illustrent quelque chose ou non. Pour comprendre cela, vous devez avoir une base, un fondement à partir duquel vous pouvez construire. Si ce résultat intermédiaire peut démontrer un certain avantage statistique, rien de plus n'est nécessaire. Toute autre mesure pourrait renforcer cet avantage. S'il n'y a pas d'avantage, qu'y a-t-il à évaluer ? <br / translate="no">.
Et dans ce cas, les conditions de l'expérience ne nous permettent pas de considérer ces résultats comme une confirmation de l'avantage statistique.


Ok.

"SL<MO" c'est quoi MO ?

Et une autre question, comment optimiser SL, au moins en quelques mots ? Le désigner comme un paramètre externe, c'est-à-dire un seul SL pour toutes les transactions ?
 
Sergei, ce que j'ai écrit n'est pas une critique. Lisez mon message précédent.
La seule réflexion est qu'il est difficile de juger à partir de ces résultats, les conditions de l'expérience ne sont pas bonnes.
Les nouveaux résultats sont encore moins révélateurs. Il n'y a pas de statistiques après tout !
Sur les 21 mois de tests, 10 ont été dépassés.

Vous ne prétendez pas que votre système n'est pas mauvais. Alors mettez un stop 20 et voyez ce qui se passe. Au moins, les statistiques apparaîtront.

Et ne pensez pas que ce que nous écrivons ici est une critique du conseiller expert en trading. En général, comme une critique.

Par ailleurs, le passage à tous les ticks a entraîné une diminution de la MO de 38 à 23, ce qui n'est pas un mauvais résultat.
Il serait également intéressant de comparer les mêmes chiffres, mais avec des arrêts dans les deux cas.

Le MO est l'espérance mathématique du gain.
SL peut être optimisé très simplement. Le sortir comme un paramètre externe et exécuter l'optimisation dans le testeur, en fixant les limites et le pas. Bien sûr, dans le code du conseiller expert, vous devez ajouter la condition de fermeture d'une position lorsque le prix tombe en dessous du SL pour l'achat et vice versa pour la vente.
 
<br / translate="no">Sergey, ce que j'ai écrit n'est pas une critique. Lisez mon message précédent.
La seule réflexion est qu'il est difficile de juger à partir de ces résultats, et non des conditions de l'expérience.
Les nouveaux résultats sont encore moins révélateurs. Il n'y a pas de statistiques après tout !
Sur les 21 mois de test, 10 sont des sur-assises.


Yuri, je ne suis pas du tout troublé, pas offensé et c'est parfaitement bien. :о)))) MathCAD n'a pas de dépassement de 10 mois parce que son code ne permet pas de telles opérations, mais pour d'autres considérations. En ce qui concerne le modèle, 10 mois de sursis ne sont pas une erreur. Rien de "terrible" ne s'est produit pour le modèle - le prix est resté dans le canal (en se balançant du bord). D'ailleurs, à cause de cas comme celui-ci, j'ai commencé à essayer de prédire la trajectoire elle-même.


Vous ne prétendez pas que votre système n'est pas mauvais. Alors mettez un stop 20 et voyez ce qui se passe. Au moins, les statistiques apparaîtront.


Je ne prétends pas, bien que je n'ai pas encore trouvé d'erreurs évidentes - pendant la vie du canal le prix passe le niveau calculé. Mais il est certain qu'ils apparaîtront tôt ou tard, je ne me fais pas d'illusions, le modèle a des points faibles.

Probablement, je vais m'écarter de mon plan et utiliser des stops. Je me fie toujours à vos conseils, car je regarde maintenant MT comme un Néandertalien sur une calculatrice. Matcad est simple - les formules sont ce qu'elles sont. :о)
 
<br / translate="no">Peut s'écarter de mon plan et mettre en place des arrêts. J'espère toujours vos conseils, car je regarde MT maintenant, comme un Néandertalien sur une calculatrice. Dans matcad, tout est simple - les formules sont ce qu'elles sont. :о)


N'hésitez pas à demander, à votre service.

Mais pour moi, c'est l'inverse. :-))
Cependant, maintenant, je ne regarde pas Matcad, mais Matlab. Et non plus comme un Néandertalien, mais comme un Cro-Magnon.
 
à saisir
Deux autres points :
- En principe, il est normal de s'attendre à une corrélation entre le temps de maintien de la position et la valeur du bénéfice. Sur les petits temps, il semble être là (à l'œil, je peux me tromper). Mais sur des temps plus longs (à nouveau "à l'œil"), la situation semble plus aléatoire. Mais par hasard, il devrait y avoir de petits plus et de petits moins. Et il n'y a pas de moins. N'y a-t-il pas de sorties "d'ajustement" occasionnelles dans le code ?
- Presque toute stratégie comporte des périodes d'"applicabilité" et de "non-applicabilité". Si le dépassement masque la période "sans objet", l'introduction d'arrêts pourrait être un désastre pour le rapport. Et la non-adoption peut être désastreuse pour le compte réel.
 
Rosh
Il faut le compter. Si ce n'est pas la première fois, alors la deuxième. Vous pouvez voir comment cela se passe sur la vidéo - https://www.mql5.com/zh/forum/103424.

Il y a donc un recalcul automatique ? Mais d'après ce que je comprends, il n'y a pas de synchronisation des cotations avec le temps du courtier. D'accord, si nous parlons de combiner deux longs morceaux, alors le saut temporel à la jonction, disons d'une heure, ne sera pas d'une importance capitale. Mais que faire si l'histoire originale est un ensemble de pièces et que les citations de chargement remplissent les trous ? Ce serait un bon mélange.
Après avoir chargé moi-même l'historique, je l'ai immédiatement transféré dans le terminal autonome et ne l'ai mélangé à rien.
 
à Gorillych

<br/ translate="no">Ce n'est toujours pas clair. Le 14ème échange a duré 20 minutes, le 15ème a été torturé pendant 10 mois. Pourquoi dans le 15ème trade le canal a montré SELL et non BUY ?


J'ai décidé d'élargir un peu ma réponse. Ci-dessous vous pouvez voir les statistiques de durée de vie des canaux (eurusd, heures) réalisées de la manière suivante : je fixe la longueur du canal, je me déplace avec le temps, je construis un canal de longueur fixe pour chaque barre "actuelle" et j'estime sa durée de vie (en regardant dans le futur, bien sûr). En même temps, j'ai collecté toutes sortes de paramètres supplémentaires des canaux. Dans ce cas particulier, le canal a une longueur de 300 points.



Bien sûr, elle est inférieure aux images de la transformée en ondelettes mais faites attention à la forme de la courbe elle-même (elle reste la même pour d'autres périodes et cotations), le canal prend presque immédiatement une position stable, c'est-à-dire qu'il y a d'abord un pic puis la durée diminue, mais pas l'inverse, bien qu'il serait plus logique de s'attendre exactement à ce schéma. Vous pouvez voir que certains canaux vivent assez longtemps, environ 3,5 de leur longueur (je vous rappelle que lorsque l'on regarde dans le futur, les paramètres des canaux ne changent pas). Je ne sais donc pas quelle sera la trajectoire du prix pendant cette période, mais il est presque sûr que pendant l'existence du canal, le prix passera par le niveau calculé, bien sûr, si des critères supplémentaires fonctionnent, notamment l'indice de Hurst. Cela peut arriver en 20 minutes, en quelques jours, en quelques mois. Bien sûr, c'est l'une des caractéristiques désagréables - croire ou refuser l'échange ou permettre une perte. Des caractéristiques similaires, en termes de degré de "désagrément", peuvent être trouvées en nombre suffisant dans d'autres stratégies et modèles.

Dans ce modèle, je ne cherche pas une zone de retournement (d'autres modèles sont prévus à cet effet). Le code du modèle de base dans MathCAD prend quelques lignes, et le code qui bloque les transactions sur 10 mois prend quelques centaines de lignes. Ainsi, les premiers tests de ce modèle ont montré 20% de trades perdants (après blocage), maintenant c'est 2% dans MathCAD, il reste à voir ce qui se passera dans MT.

D'ailleurs, la forme de la courbe elle-même est utile. Si vous recueillez des statistiques (vous les avez peut-être déjà recueillies), vous serez en mesure de classer les extrêmes (soit en vous basant sur le bon sens, soit en recourant à des systèmes professionnels), et en examinant sa forme près du point de référence actuel (en remontant un canal), vous pourrez estimer le temps d'existence du canal avec un haut degré de fiabilité.

En général, les chaînes ont beaucoup de sens... mais ce n'est qu'une philosophie.

à Candid

A saisir
Deux autres points :

- En principe, il est normal de s'attendre à une corrélation entre le temps de maintien de la position et la valeur du profit. Il semble être présent à de petits moments (à l'œil, je peux me tromper). Mais sur des temps plus longs (à nouveau "à l'œil"), la situation semble plus aléatoire. Mais par hasard, il devrait y avoir de petits plus et de petits moins. Et il n'y a pas de moins. N'y a-t-il pas de sorties "d'ajustement" occasionnelles dans le code ?

- Presque toute stratégie comporte des périodes d'"applicabilité" et de "non-applicabilité". Si le dépassement masque la période "sans objet", l'introduction d'arrêts pourrait être un désastre pour le rapport. Et la non-adoption peut être désastreuse pour le compte réel.


Exactement pour la raison qu'il est encore tôt (test philosophique), je me trémoussais comme un bateau marquisien quand Yuri m'a cloué au mur avec un SL. Et il m'a pratiquement convaincu de rejoindre SL avec un mot gentil et un pistolet. :о)
Au fait, je n'utilisais pas le Stop Loss comme paramètre d'ordre auparavant et je l'ai implémenté via le contrôle d'une position ouverte, puisque les conditions changent constamment.

à Yurixx

Yuri, s'il vous plaît aidez-moi avec SL. :о)

Comme je l'ai écrit précédemment, je n'ai jamais utilisé le SL, mais j'ai utilisé le contrôle dynamique des ordres. Ce n'est probablement pas très pratique car le système doit être connecté au serveur en permanence, mais à mon avis, c'est plus logique.

Je me souviens vaguement que j'ai eu quelques problèmes avec SL (c'était il y a environ un an), ou que ma société de courtage ne permettait pas de les placer trop loin ou autre chose. Quoi qu'il en soit, j'ai consulté la documentation et je me suis "souvenu" qu'il s'agit du niveau de prix auquel l'ordre est fermé. Ok, je me suis dit et j'ai entré les paramètres suivants pour le SL en fonction du type d'ordre :

Bid-20*Point
Ask+20*Point

Pas un seul trade, maintenant j'essaie de comprendre pourquoi, ou plutôt de demander le code d'erreur. J'ai saisi quelques options supplémentaires, mais rien. Finalement, j'en ai eu marre et j'ai spécifié le niveau de prix SL 20.0, ça a marché :



Comme dans ce dessin animé " je ne comprends rien ". Yuri, explique au dinosaure comment les régler correctement et pourquoi la valeur de, disons, 1,2 est pire que 20,0.
 
Bonjour Sergei !

1. Vous pouvez ne pas mettre de SL du tout, mais contrôler dynamiquement le niveau de prix vous-même et "fermer" la transaction dans le bon cas. C'est du symbolisme, pas du commerce. Il ne s'agit que d'une collecte de statistiques. Mais dans ce cas, tout doit être fait manuellement, sans utiliser un testeur. En d'autres termes, il suffit d'écrire un script qui parcourt l'historique en appliquant la stratégie et en recueillant les résultats dans un fichier. Il n'y a rien de difficile, car 95% du script est le texte de votre Expert Advisor.

2. Si vous utilisez le testeur, alors le SL doit être défini dans les ordres que vous passez, comme cela se fait dans le monde réel. Dans ce que vous avez écrit, je ne comprends toujours pas quel est le problème. Le moyen le plus simple de résoudre ce problème est de découper les extraits de code où vous déclarez, définissez et utilisez SL et de les placer ici. Le problème se situe peut-être au niveau de la normalisation (tous les prix des commandes devraient être normalisés, c'est-à-dire arrondis au point près). D'ailleurs, si vous avez explicitement spécifié 20.0, c'est exactement la valeur normalisée. Et 20*Point ne l'est pas. Si vous l'aviez réglé explicitement sur 1.2, cela fonctionnerait aussi (pour acheter). Essayez ceci :

Bid-20.0*Point
Ask+20.0*Point

Cependant, une fois encore : Bid,Ask peuvent aussi être non-normalisés.
 
<br/ translate="no"> 1. Vous pouvez ne pas mettre de SL du tout, mais contrôler vous-même de manière dynamique le niveau de prix et "fermer" la transaction lorsque cela est nécessaire. C'est du symbolisme, pas du commerce. Je ne fais que rassembler des statistiques. Mais dans ce cas, tout doit être fait manuellement, sans utiliser un testeur. Il suffit donc d'écrire un script qui parcourt l'historique en appliquant la stratégie et en recueillant les résultats dans un fichier. Il n'y a rien de difficile, car 95% du script est le texte de votre conseiller expert.


C'est ce que je vais faire, comme on dit, comme toujours.


2. Si vous utilisez le testeur, alors le SL doit être défini dans les ordres que vous passez, comme cela se fait dans le monde réel. D'après ce que vous avez écrit, je ne comprends pas quel est le problème. Le moyen le plus simple de résoudre ce problème est de découper les extraits de code où vous déclarez, définissez et utilisez SL et de les placer ici. Le problème se situe peut-être au niveau de la normalisation (tous les prix des commandes devraient être normalisés, c'est-à-dire arrondis au point près). D'ailleurs, si vous avez explicitement spécifié 20.0, c'est exactement la valeur normalisée. Et 20*Point ne l'est pas. Si vous le réglez explicitement sur 1.2, cela fonctionnera aussi (pour l'achat)


Le problème est qu'il donne le code d'erreur 130 - mauvais arrêts. :о)

C'est très délicat. Existe-t-il une fonction qui arrondit simplement le nombre à 4 décimales ?
 
grasn
Maintenant, je ne sais pas quelle sera la trajectoire du prix pendant cette période, mais il est presque certain que pendant l'existence du canal, le prix dépassera le niveau calculé, à condition bien sûr que des critères supplémentaires fonctionnent, notamment l'indice Hearst. Cela pourrait se produire dans 20 minutes, dans quelques jours, dans quelques mois.

Le canal ne s'est donc pas brisé au cours de ce trade de 10 mois (à ce niveau de drawdown) ? C'était une chaîne puissante, cependant :)


Ok, je me suis dit et j'ai entré les paramètres suivants pour le SL en fonction du type d'ordre :

Bid-20*Point
Ask+20*Point

Pas un seul trade, maintenant j'essaie de comprendre pourquoi, ou plutôt de demander le code d'erreur.

Regardez le journal, si OrderSend ne fonctionne pas, il y a un enregistrement de la raison.
Raison: