Optimisation ! Partagez vos expériences, s'il vous plaît. - page 6

 


Pour vous donner un exemple... Graphique EA sur 7 ans... ( profit 10 p) stop 300 mais le profit flotte avec le prix même si en perte... Le ratio profit sur drawdown est d'environ 25 pour sept ans... c'est pas grand chose en principe.... ...mais on peut retirer environ 200 par an.
 
AndyGri:
C'est génial ! Je suis d'accord. La courbe de rendement devrait être droite. Merci pour cette idée. Je veux faire la même chose, mais j'ai peur de ne pas avoir assez d'expérience pour le programmer :(
Il ne peut pas être droit (à moins qu'il n'y ait eu qu'une seule transaction dans l'historique). En fait, la courbe de rendement est une ligne brisée. C'est pourquoi j'ai compris qu'il fallait calculer le coefficient de corrélation linéaire. Plus ce coefficient est proche de 1 en valeur absolue, plus la courbe de rendement est linéaire.

Quant à la façon de le construire, ce serait plus facile si je le faisais et le postais. Le principe est universel et ne dépend pas du système de trading, car la courbe est tirée de l'historique des transactions. L'algorithme complet est défini dans l'événement deinit() du conseiller expert et les résultats sont écrits dans le fichier csv pendant l'optimisation. Il suffit de prendre ce fichier, de le trier par coefficient de corrélation linéaire, c'est-à-dire de trouver la plus grande valeur (la valeur absolue du coefficient ne peut pas dépasser 1) et de régler le conseiller expert avec les paramètres externes appropriés. Le format csv peut également être trié dans Exel.
 
Reshetov:
C'est pourquoi j'ai compris qu'il fallait un coefficient de régression linéaire. Plus ce coefficient est proche de 1 en valeur absolue, plus la courbe des taux est linéaire.
J'aimerais (pour ceux qui ont étudié l'arithmétique à l'école paroissiale) comprendre de quel coefficient de régression linéaire de 1 nous parlons ? L'équation de régression linéaire est l'équation de ligne droite y=a*x+c. Sur l'axe des X, je pense, se trouvent les nombres de transactions (1,2,3.....N), sur l'axe des Y, on met le solde dans la monnaie de dépôt (1000USD, 10000USD, 100000USD....., etc.). Quelle est la formule utilisée pour dire que a=1, ou qu'elle y tend ? Quel est le principe de normalisation utilisé dans ce cas ?
 
En fait, il y a deux paramètres à prendre en compte ici :
  • le facteur de pente (paramètre a dans l'équation y=a*x+c.), appelons-le MO, seuls les cas où MO>0 sont intéressants
  • L'écart-type de la régression linéaire, appelons-le S, nous nous intéressons à ceux qui sont aussi proches de zéro que possible.
Dans le fichier de sortie, nous obtenons un tableau à deux dimensions sur lequel nous recherchons ces régions.
 
Rosh:
En fait, il y a deux paramètres à prendre en compte :
.
  • le coefficient de pente (paramètre a de l'équation y=a*x+c.), appelé MO , seuls les cas où MO>0
  • l'écart-type de la régression linéaire, appelé S , ceux qui sont aussi proches de zéro que possible sont intéressants
  • .

Dans la sortie, nous obtenons un tableau à deux dimensions que nous utilisons pour rechercher ces zones.

Pas très clair. Pourriez-vous afficher un exemple plus détaillé ?
Nous disposons d'une série de valeurs par paires de a et de S pour chacun des cycles d'optimisation. Nous pouvons tracer ces points sur le graphique en prenant les axes du graphique à deux dimensions comme données a et S. Je suppose que nous obtiendrons une zone d'échantillons étalée (ou simplement une courbure curviligne avec des extrémités). Alors comment obtenir un coefficient égal à 1 si les axes sont très différents ? Comment ça se passe ? Et que pouvons-nous dire exactement de cette courbure des résultats, si ce n'est qu'elle a des extrema ? L'Extrema peut être vu dans les rapports du testeur sans faire de graphique supplémentaire - il suffit d'appuyer sur le bouton pour trier les résultats de l'optimisation.
 
Je n'ai pas parlé d'un facteur de 1. J'ai juste décrit comment je vois les choses - en utilisant une approximation par régression linéaire des résultats du test. Je ne peux que l'illustrer avec la figure de l'article 20. Les tableaux et les indicateurs techniques qui s'y trouvent


 

La figure ne montre que l'étape initiale de votre proposition (obtenir les valeurs de a et S). Autrement dit, la figure montre le résultat d'une seule exécution dans le testeur. Il n'est pas difficile d'obtenir les paramètres a - coefficient de régression linéaire et RMS pour ce graphique. Supposons que nous ayons 1000 graphiques de ce type basés sur les résultats de l'optimisation. En conséquence, nous avons un tableau de valeurs 1000x2, où le premier index est le numéro de manche et le second index les valeurs de a et S respectivement. En outre, comment peut-on faire apparaître les valeurs a et S obtenues sur un graphique bidimensionnel le long des axes, en dehors des extrema qui peuvent être plusieurs ? Je voudrais juste comprendre ce que vous voulez dire ?

 
solandr:
Reshetov:
C'est pourquoi j'ai supposé qu'il fallait un coefficient de REGRESSION linéaire. Plus ce coefficient est proche de 1 en valeur absolue, plus la courbe de rendement est linéaire.
J'aimerais (pour ceux qui ont étudié l'arithmétique à l'école paroissiale) comprendre de quel coefficient de régression linéaire de 1 nous parlons ? L'équation de régression linéaire est l'équation de ligne droite y=a*x+c. Sur l'axe des X, si je comprends bien, se trouvent les nombres de transactions (1, 2,3.....N), sur l'axe des Y, on met le solde dans la monnaie de dépôt (1000USD, 10000USD, 100000USD....., etc.). Quelle formule utilise-t-on pour dire que a=1, ou tend vers lui ? Quel est le principe de normalisation utilisé dans ce cas ?
Désolé, nous parlons du coefficient de corrélation linéaire. Je m'excuse pour cette erreur.
 
Reshetov:
AndyGri:
Super ! Je suis d'accord. La courbe de rendement devrait être droite. Merci pour l'idée. Je veux aussi le faire, mais j'ai peur de ne pas avoir assez d'expérience pour le programmer :(
En fait, la courbe de rendement est une polyligne. C'est pourquoi je pense que nous devrions calculer le coefficient de corrélation linéaire. Plus ce coefficient est proche de 1 en valeur absolue, plus la courbe de rendement est linéaire.

Quant à la façon de la construire, il serait plus facile que je la fasse et la poste. Le principe est universel et ne dépend pas du système de trading, car la courbe est tirée de l'historique des trades. L'algorithme complet est défini dans l'événement deinit() du conseiller expert et les résultats sont écrits dans le fichier csv pendant l'optimisation. Il suffit de prendre ce fichier, de le trier par coefficient de corrélation linéaire, c'est-à-dire de trouver la plus grande valeur (la valeur absolue du coefficient ne peut pas dépasser 1) et de régler le conseiller expert avec les paramètres externes appropriés. Le format csv peut également être trié dans Exel.

J'aimerais beaucoup ! !! :) J'en ai marre d'analyser les résultats d'optimisation avec mes yeux et de les sélectionner par courbe de rendement par le biais de l'Expert Advisor. C'est trop long... C'est déroutant pour toujours...
 
nchnch:


Pour vous donner un exemple... Graphique EA depuis 7 ans... ( profit 10 p) stop 300 mais le profit flotte avec le prix même en cas de perte.... Le rapport entre le profit et la perte est d'environ 25 sur sept ans... c'est peu en principe... mais on peut gagner environ 200 par an.

Les bénéfices sont flottants, comment ça se fait ? Et comment suit-il le prix ? Ils doivent me cacher quelque chose ! :)
Raison: