Sensation ! Une stratégie rentable pour jouer au beagle a été trouvée ! - page 9

 

Quelle que soit la fonction de génération de séries de prix que vous utilisez (nombres aléatoires ou prix du marché), vous pouvez voir les statistiques sur le nombre de pertes consécutives de votre système au cours de la période étudiée. Sur la base de ces données, vous pouvez calculer le lot initial et le dépôt initial à utiliser Martin sur votre stratégie.

Vous ne pouvez pas gagner sur une série infinie, mais vous pouvez gagner sur une série finie. Elle ne contredit pas les mathématiques.

Pourquoi ne pas risquer votre capital avec 10 ans de statistiques, avec la perspective de super profits ? Personne ne vous oblige à trader tout le temps, les retraits arrivent aussi. Si tu fais un double, tu l'obtiens, et ensuite tu n'as pas à t'inquiéter. La probabilité que vous ayez activé votre système pour faire un double, juste au moment où les statistiques décennales ont changé, est TRÈS faible.

Alors pourquoi ne pas défendre la cause au lieu de déblatérer ?

Je n'ai jamais utilisé Martin moi-même, mais il a bien gagné. Si demain, les scientifiques prouvent que le marché est un pur esprit d'aigle, alors quoi ? Abandonner le trading parce que mathématiquement, à l'infini, vous perdrez inévitablement ?

 
mql4com >> :

Quelle que soit la fonction de génération de séries de prix que vous utilisez (nombres aléatoires ou prix du marché), vous pouvez voir les statistiques sur le nombre de pertes consécutives de votre système au cours de la période étudiée. A partir de ces données, vous pouvez calculer le lot initial et le dépôt initial à utiliser Martin sur votre stratégie.

Les statistiques que vous allez étudier ne sont qu'une réalisation d'un processus aléatoire. Il est très risqué de tirer des conclusions sur l'ensemble du processus à partir de cette seule réalisation. Cela peut certainement être fait pour les processus ergodiques, mais qui dit qu'un processus de prix (ou un processus de retours de prix) est ergodique ? !

 

En définitive, il est possible de prendre un risque. Une série infinie est un concept inatteignable. Chaque personne est mortelle, donc sa "série" est finie. Par conséquent, si l'on sélectionne un tel martin, qui serait rentable avec une forte probabilité à l'horizon de 40-60 ans, alors on peut prendre un risque.

Deuxièmement, on peut risquer un montant relativement faible tout en obtenant un bénéfice dépassant de plusieurs centaines de fois le dépôt initial. Je risquerais 200 dollars pour 200 000 dollars, même si c'était une Martin. Et d'ailleurs, il y a des exemples réels. Par exemple, le PAMM d'Andrey Trefeev.

 
Mathemat >> :

Il y a toujours un risque. Chacun définit sa propre tolérance au risque à sa manière.

 

à C-4

Je l'ai, mais je ne comprends pas le MQL... Je ne comprends pas MQL, j'ai donc dû lire la documentation). Mais je ne comprends toujours pas ce qui a été modifié par HideYourRichess. Donc, il ne fonctionne vraiment pas correctement ? C'est affreux, vous devriez être plus strict avec eux. Au fait, comment puis-je être sûr que j'utilise un générateur Cysh standard et pas un tcl-oas ? Je n'ai rien trouvé dans la documentation, est-ce une sorte d'information privilégiée ?
 

Wow ! Quel "Mathsrand" il y a !

void MathSrand( int seed)

La fonction définit l'état initial pour générer une série d'entiers pseudo-aléatoires. Pour réinitialiser le générateur (c'est-à-dire le ramener à l'état initial précédent), il faut utiliser la valeur 1 comme paramètre d'initialisation. Toute autre valeur pour le nombre initial place le générateur à un point de départ aléatoire. MathRand renvoie des nombres pseudo-aléatoires générés consécutivement. L'appel de MathRand avant tout appel à MathSrand génère la même séquence que l'appel de MathSrand avec le paramètre 1.


Cependant, vous savez tout à ce sujet, mais je le vois pour la première fois. Comme c'est intéressant, bon sang 6o) Ce n'est pas si familier après les maths et matcad.


PS:

Que diriez-vous d'essayer de cette façon :


for(int i=2;i<100;i++ )
{
MathSrand(i) ;
MathRand() ;
}

retour(0) ;
}


Le résultat sera-t-il le même ?



....


J'ai essayé, le résultat est toujours le même :

2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 16 valeur 90
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 15 valeur 87
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 14 valeur 84
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 13 valeur 81
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 12 valeur 77
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 11 valeur 74
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 10 valeur 71
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 9 valeur 68
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 8 valeur 64
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 7 valeur 61
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 6 valeur 58
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 5 valeur 54
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 4 valeur 51
2009.06.12 00:07:12 ddd EURUSD,M15 : Param MathSrand(i) 3 valeur 48


Le prix augmente. C'est censé être comme ça ? La valeur de 1, je pense que je ne l'ai pas utilisé, le code est très simple, je le comprends même.


 
grasn >> Alors, est-ce que ça ne fonctionne vraiment pas correctement ? C'est affreux, vous devriez être plus strict avec eux. Au fait, comment pouvez-vous être sûr qu'il s'agit d'un générateur sysc standard et pas d'un générateur tcl ? Je n'ai rien trouvé dans la documentation, est-ce une sorte d'information privilégiée ?

Seryoga, je me suis intéressé à cette question il y a quelque temps. Stringo lui-même m'a répondu que MathRand() est un wrapper de Cish rand(). Puis-je vous aider à obtenir le lien ?

Et le problème, que j'ai découvert par hasard au C-4, Yuri et moi en avons discuté sur notre ressource mutuelle. D'abord Yury, tout comme C-4, générait un schéma de Bernoulli avec p=0.5, et il a aussi obtenu que les sous-séquences plus longues que 14-15 unités (zéros) n'apparaissent pas. J'ai proposé une solution générale, dont HideYourRichess a signalé un cas particulier ici. Il arrive que des sous-séquences d'une longueur maximale de 20 et plus de zéros (uns) apparaissent également dans les longues séquences.

P.S. Et MathSrand() ne doit être appelé qu'une seule fois, disons dans init().

 
Mathemat >> :

Et le problème que le C-4 a rencontré, Yury et moi en avons discuté sur notre ressource commune. Au début, Yury, tout comme C-4, a généré le schéma de Bernoulli avec p=0.5, et lui aussi a obtenu que les sous-séquences plus longues que 14-15 unités (zéros) ne se produisent pas. J'ai proposé une solution générale, dont HideYourRichess a signalé un cas particulier ici. Dans les longues séquences, des sous-séquences comportant jusqu'à 20 zéros (uns) ou plus sont également apparues.

Quelle est la solution commune ? Solution commune de quoi ?

C-4 >> :

Z.U. Maintenant je pense, peut-être écrire une lettre à l'ANSI C, et indigné, qu'est-ce qui ne va pas ? Pourquoi votre générateur aléatoire m'a fait perdre le respect ? Vous mangez des crêpes ? Réparez-le ! !! :)))

En guise de consolation, vous pouvez vous féliciter d'avoir trouvé une méthode simple pour évaluer la qualité d'un générateur cis.

mql4com >> :

On ne peut pas gagner avec une séquence infinie, mais on peut le faire avec une séquence finie. Elle ne contredit pas les mathématiques.

Pas vraiment. Sur une série finie, avec des enjeux et des capitaux initiaux égaux et avec une "pièce d'équilibre", vous pouvez "gagner" dans environ la moitié des cas , ce qui ne contredit pas les mathématiques. Les gains totaux seront d'environ 0.

grasn >> :

Voici ce sujet "... Le problème est le suivant : lorsque pair/non pair, cela donne des résultats étonnants, lorsque de manière habituelle - des résultats triviaux" a été discuté non seulement ici et avec ma réponse, je n'ai bien sûr rien apporté de nouveau, sauf une petite remarque dont je ne suis pas sûr (quelque part, cela a été discuté sur exbite et ce problème a été résolu d'une manière ou d'une autre). Quel est votre problème ?

Je n'ai aucun problème avec cela. C'est très clair et direct pour moi dans cette situation. Vous ne pouvez pas utiliser l'opération "pair/décompté" comme méthode pour générer une série de valeurs binaires aléatoires avec une probabilité de 0,5. Au moins pour un générateur de Cish.

 

à Mathématiques

Серега, я в свое время интересовался этим вопросом. stringo сам ответил мне, что MathRand() - обертка сишной rand(). Тебе найти ссылку?

Et le problème que C-4 a rencontré, Yury et moi en avons discuté sur notre ressource générale. Au début, Yuri , tout comme C-4, a créé un schéma de Bernoulli avec p=0,5 et lui aussi n'a pas trouvé de sous-séquences plus longues que 14-15 uns (zéros). J'ai proposé une solution générale, dont un cas particulier a été signalé par HideYourRichess ici. Il arrive que des sous-séquences d'une longueur maximale de 20 et plus de zéros (uns) apparaissent également dans les longues séquences.

Je vois que j'ai une impression de déjà vu ici. Je l'ai vu quelque part et je le connais exactement ! Merci pour les clarifications. Je ne l'ai pas "attrapé" tout de suite, pour la simple raison que je n'utilise pas MQL jusqu'à présent et que je ne suis pas vraiment intéressé par ces problèmes. J'ai assemblé un astrolabe à partir de VisSIM, MAthCAD et MT (dont j'ai parlé précédemment). Cela fonctionne, mais malheureusement mon ordinateur à 2 cœurs avec 4 Go de RAM est tellement chargé après 3-4 heures qu'il peut à peine ramper. Quelque part, il y a un désordre. :о(((

P.S. Et MathSrand() ne doit être appelé qu'une seule fois, disons dans init().

Je comprends cela, mais il semble que l'exemple ne contredit pas la documentation et que les numéros doivent être générés de manière aléatoire. Ou peut-être que je ne comprends pas quelque chose ?


à HideYourRichess

Je n'ai aucun problème. Tout est clair pour moi dans cette situation. Vous ne pouvez pas utiliser l'opération "pair/impair" comme méthode pour générer une série de valeurs binaires aléatoires avec une probabilité de 0,5. Au moins pour un générateur C.

Sincèrement heureux pour vous :o) Et si vous essayez de diviser non pas par "2 " mais par "2.0" en condition de parité :

MathMod(MathRand(), 2)==1)

MathMod(MathRand(), 2.0)==1)

 
grasn >> :


à HideYourRichess

Sincèrement heureux pour vous :o) Et si vous essayez de diviser non pas par "2" mais par "2.0" dans la condition de contrôle de parité :

MathMod(MathRand(), 2)==1)

MathMod(MathRand(), 2.0)==1)

Une solution très fraîche. Mais ça ne sauvera pas le patient. C'est un fait médical.