Le marché a toujours tort - page 3

 

Je n'ai pas encore utilisé l'Expert Advisor, mais j'utilise un code similaire pour calculer l'équité.

if (AccountEquity() > beginEquity) {
      if (IsTesting()) {
         beginPrice = Bid;
         magicnumber++;
         beginEquity = AccountEquity();
      } else {
         Alert("Please refresh beginPrice, beginEuqity and change magicnumber");
      }

Je suggère d'assimiler la variable à la balance pendant l'initialisation comme deuxième option

int init()
  {
//----
   if (IsTesting()) {
      beginEquity = AccountBalance();
   }
   return(0);
  }

Dans ce cas, il ne sera pas nécessaire de vérifier l'équité avant d'exécuter l'EA,

static double beginEquity = 200000;

Parce que son équité est égale au solde avant le démarrage du Conseiller Expert !

Vyacheslav.


 
Winner:
Reshetov:
Si vous le voulez, vous pouvez le faire. Sinon, les fonds seront réinvestis.
Et quel est le risque de ne pas perdre un dépôt, si le conseiller ouvre des positions pour l'ensemble du dépôto ????
.
Dès que le testeur MT commencera à prendre en charge le multi-trading, il sera possible d'obtenir une estimation empirique de la probabilité de perdre sur les données historiques.

Pour l'instant, le testeur ne peut qu'évaluer empiriquement le risque sur des paires uniques.

Une estimation analytique du risque pour cette tactique n'a pas encore été établie.
 
Reshetov:
Timbo:
YuraZ:
Une très bonne stratégie,
...
l'autre problème est que les retraits sont effectués après un ou deux ans
J'ai lu un livre sur le forex, les actions, etc. Il s'agissait en particulier des employés de divers fonds qui augmentent apparemment l'argent des déposants et qui sont considérés comme des professionnels et presque des célestes. Il y a donc eu une réflexion sur le fait qu'ils sont les mêmes personnes que n'importe qui d'autre, ni meilleures ni pires, et qu'ils ne font pas moins souvent des erreurs. Le "dépôt" est tellement important qu'il permet de ne pas subir de baisse.
Si vous n'êtes pas si pressé de retirer de l'argent et que le montant du dépôt est énorme, le choix de l'ouverture ne fait pas de différence : tôt ou tard, vous serez dans le rouge.
Si vous ouvrez une position d'achat à un maximum historique ou une position de vente à un minimum historique, le profit attendra le prochain extremum historique. Il y a une différence entre entrer et sortir du marché, et elle est significative.

Pour éviter de telles situations, il serait préférable d'ajouter une simple analyse de la situation et d'éviter de se préoccuper outre mesure de choisir une période d'une journée.
 

Merci pour votre réponse, respecté M. Reshetov. Pour ma part, j'ai déjà compris que ces chaînes sont des mesures de sécurité, un peu comme {try...catch} dans d'autres langues. En particulier, dans le test, je n'ai jamais vraiment utilisé la fonction Closeby.

Il semble que j'ai créé quelque chose pour le test. Bien que je ne puisse toujours pas exclure les erreurs, j'ai pensé vous montrer quelque chose sur lequel j'ai travaillé. Je prévois de le faire sur Finlist (je m'y sens plus à l'aise), mais comme Yuri est sur ce forum, je vais probablement commencer ici.

En général, ce que vous verrez ici vous aidera à comprendre comment les signaux de l'EA sont générés.

Jusqu'à présent, j'ai ajouté une version 1.1 de l'algorithme EA. Yuri me donne sans cesse de nouvelles versions et je dois les creuser comme un escargot. Il semble être le même que la version 1.1 mais sellprofit a >0.001 au lieu de 0.01.

Le test se déroule selon mon plan, alors ne soyez pas désolés. Cela signifie que ma dépo pour l'instant est de 1000 $ et que j'ai donc un nombre limité de paires en service. Pour l'instant, je n'utilise qu'un seul groupe EUR. Je limite le test à 24 heures. Mon programme est flexible et je peux bien sûr fixer une durée de 2 ou 10 jours. Mais pour l'instant, je ne me soucie pas de cela, ce qui est important c'est une compréhension générale de l'algorithme. D'autant plus qu'il faut encore beaucoup de temps pour le calculer. Le jour du test est un calcul d'une demi-heure, c'est à cause du tableau d'affichage (voir ci-dessous). C'est très long, mais j'envoie en fait toutes les affectations de variables au tableau et tout ça. J'envie même le test MQL - à quelle vitesse ils font tout fonctionner. Bien sûr, tout est fait de manière plus professionnelle, mais vous ne verrez pas tout là-bas. Mais pour moi, c'est un grain à la fois - mais j'ai une vision claire.

Quelques explications. Mes devis sont spécialement préparés - cela signifie qu'ils ont des trous et ainsi de suite. Un tel traitement prend du temps dans la mesure où je ne veux pas charger de nouvelles données et où je dispose de la plage de cotations historiques du 01/01/05 au 16/09/06. Le test se situe donc dans ces limites et cela me suffit pour l'instant. Oui, les cotations sont forexclub, minute et prises de forextester.

Je fournis 3 tableaux où vous pouvez voir tous les développements :

1) _history - c'est similaire à "Account history" dans mql, mais seulement les ordres ouverts et fermés sont localisés ensemble, le signe de séparation est le champ [flag]. Tout y est clair. Champ id_operation : si "1", c'est BUY/.

2) _ressources : le solde total, les capitaux propres et le profit par les ordres ouverts au moment actuel pour toutes les paires de devises concernées. Tout devrait être clair ici aussi, sauf le champ [ID] - il s'agit de mon identifiant de date interne. Je peux vous expliquer plus en détail, si vous avez des questions, mais en général, la date à laquelle elle correspond peut être vue dans le troisième tableau _view, où tout est détaillé, et dans _resources le total de chaque minute est affiché.

3) _View - tout est très détaillé, pour chaque paire de devises il y a un historique différent de l'évolution des transactions. Le champ [Actual_price] est la clôture d'un devis minute. Bid, Ask - j'obtiens +-spread (le spread est tiré d'Alpari, mais comme tout est dans des tableaux, je peux le corriger, mais je ne vois pas trop le sens, de toute façon tout est approximatif). Et la lecture des données est très simple - la première version de l'EA, et le numéro de ligne sera un pointeur, et à quel endroit a été l'affectation dans la variable (par exemple, le champ [money_54] correspond à la 54e ligne de l'EA, où l'argent est recalculé. Si "0", cela signifie qu'il n'y a pas eu de calcul à cet endroit, car il n'y avait pas de conditions correspondantes) . Vérifiez le champ commentaire, les opérations y sont documentées et correspondent à l'historique dans la table _history. Oui, un malentendu possible. Le champ Itog_profit est le profit total pour le moment des ordres ouverts pour la paire de devises donnée. Le champ sellprofit ou buyprofit peut être différent car il ne contient que les données du dernier ordre de vente ou d'achat ouvert. Donc dans la boucle <for> pour la liste des ordres ouverts. Le reste devrait être clair, à moins que vous ne trouviez mes erreurs.

Je viens juste de commencer à l'examiner moi-même. Au début, j'étais satisfait du test. J'ai testé quatre fois le premier jour disponible (je ne regarde même pas encore le graphique) avec 2 symboles EURUSD+ EURCHF et j'ai fait un calcul sur un jour et j'ai eu de bons résultats - de 15 à 150 pips. Mais ensuite je suis arrivé au jour où le total de la journée s'est terminé avec -80 pips. Une fois de plus, j'interromps le test et ce n'est pas correct. Apparemment, si le test continue, le résultat sera différent. Mais pour l'instant, je vois les choses de cette façon.

Cette version du test est une sorte de scalping et Yuri dit correctement que son EA est tout à fait différent et le dépôt ne devrait pas être petit parce que le processus technologique du fonctionnement de l'EA est violé lorsque le dépôt est petit, eh bien, la moyenne ne va pas comme prévu parce qu'il n'y a pas assez de fonds et la lutte pour la "survivabilité" mai résultat pas très positif.

Une fois de plus, je dirai que j'admire autant que moi l'Expert Advisor de Yuri. Très intéressant et original. Mais voyez par vous-même - c'est à la fois beau et dangereux, du moins la version 1.


Sincèrement, Fed

Oui, encore une fois : Depo $1000, Bl=1000, BeginPrice - prix actuel à la date du calcul. Le but de ce test est de comprendre comment les signaux sont générés.

Premier test - 15/03/05 10:00 au 16/03/05 10:00

Cette journée était "digne d'intérêt", mais comme nous regardons la génération de signaux (qui s'en soucie), c'est du pareil au même pour le moment.

D'abord pour 2 paires EURUSD et EURCHF



 
Maintenant, les mêmes paramètres d'entrée, mais un seul EURUSD est pris.
Dossiers :
 

Maintenant 2 paires EURUSD et EURCHF, depo 1000, bl 1000, c 15/03/05 00:00 au 16/03/05 00:00. C'est-à-dire une heure légèrement modifiée, BeginPrice=actuel.

Dossiers :
 
Bien et 1 paire EURUSD, depo 1000, bl 1000, du 15/03/05 00:00 au 16/03/05 00:00.




Eh bien, pour l'instant, je vais arrêter de remplir mql avec mes créations. Peut-être que ce n'est pas intéressant, peut-être qu'à ce stade quelqu'un trouvera mon erreur. Mais je peux montrer le changement de calcul en fonction de Bl et BeginPrice <> actuel

Sincèrement, Fed
Dossiers :
 
FION:
Reshetov:
Timbo:
YuraZ:
Une très bonne stratégie,
...
l'autre problème est que les retraits sont effectués après un ou deux ans
J'ai lu un livre sur le forex, les actions, etc. Il s'agissait en particulier des employés de divers fonds qui augmentent apparemment l'argent des déposants et qui sont considérés comme des professionnels et presque des célestes. Il y a donc eu une réflexion sur le fait qu'ils sont les mêmes personnes que n'importe qui d'autre, ni meilleures ni pires, et qu'ils ne font pas moins souvent des erreurs. Le "dépôt" est tellement important qu'il permet de ne pas subir de baisse.
En d'autres termes, si vous n'êtes pas si pressé de retirer et que la taille du dépôt est immense, peu importe le sens dans lequel vous ouvrez - tôt ou tard, vous serez dans le noir.
Si vous ouvrez une position longue sur le maximum historique et vendez sur le minimum historique, le profit attendra le prochain extremum historique. Reshetov : Il y a une différence pour entrer et sortir du marché, et elle est significative.

Pour éviter que cela ne se produise, il serait bon d'ajouter une simple tehanalyse et de choisir une période d'un jour pour ne pas en faire trop.
Je n'ai tout simplement pas lu le livre attentivement. Et ce livre indique clairement que les "professionnels" tradent strictement par contre-tendance et le plus souvent par la méthode de la moyenne. C'est pourquoi il n'y a aucun moyen pour eux d'acheter au plus haut niveau local et de vendre au plus bas niveau local.
 
Fed:

Merci pour votre réponse, respecté M. Reshetov. J'ai déjà réalisé moi-même que ces lignes sont des précautions de sécurité, quelque chose comme {try...catch} dans d'autres langues. En particulier, lors du test, je n'ai jamais vraiment utilisé la fonction Closeby.

C'est vraiment dommage que MQL ne soit pas orienté objet. Les gestionnaires de situations exceptionnelles et les gestionnaires d'événements faits maison simplifient grandement la vie des programmeurs, car de nombreux bogues peuvent être corrigés à l'avance. Et bien qu'il n'y ait pas de POO, nous devons essayer de prévoir divers outrages au niveau algorithmique, et le code n'est pas trop casher.
 
Paha:
Bonjour !
Je plaisante.
Comme l'a dit Mathemat, "l'analyse de surface", c'est très bien ! Pas une seule valeur négative. Mais je n'ai pas compris (peut-être ai-je mal compris) : je n'éteins pas le joueur et ne ferme pas le terminal. L'alerte s'affichera-t-elle dans ces conditions ou l'EA s'exécutera-t-il tout seul comme il se doit ? Que se passera-t-il si je me déconnecte d'Internet pendant un court moment et que je rétablis la connexion ? Sans aucune déconnexion de ma part ?
Pour moi, la question est très importante car je suis absent de l'ordinateur pendant au moins 18 heures par jour (sommeil, travail, etc.) et si pendant ce temps la déconnexion se produit, ou si je ne peux pas entrer de nouvelles données. ..... eh bien, pas vraiment bien.
Par ailleurs, si j'ai bien compris : si vous allumez la came ou le terminal, il suffit d'entrer les valeurs actuelles et tout se passera comme d'habitude, c'est-à-dire que vous reconnecterez l'EA ?
De même, si l'alerte est affichée, mais que nous ne faisons rien, l'EA continue-t-il à trader selon les anciens paramètres ou attend-il que les nouveaux soient saisis ?
Si possible, veuillez donner plus de détails sur ces points !!!!.
Merci pour une autre raison de me creuser un peu les méninges ! (dans le bon sens du terme).
Sincèrement ! !!!
Une déconnexion à court terme d'Internet n'affecte en rien les tactiques du conseiller expert.

En général, vous pouvez vous passer des allergies et passer au semi-handheld, surtout s'il n'y a pas de possibilité de surveiller les Expert Advisors. Le principe est de commencer une nouvelle partie (c'est-à-dire un nouveau magik et un nouveau beginPrice pour tous les EA) lorsque le niveau d'équité dépasse le précédent.

C'est-à-dire que lorsqu'il y a une opportunité, il faut regarder l'équité. Si elle a dépassé le niveau précédent, alors :
  1. Empêcher tous les EAs de fonctionner.
  2. Nous clôturons les positions opposées pour tous les symboles en utilisant des "ordres de clôture chevauchés" afin de ne pas perdre sur le spread.
  3. Augmentez les sorciers de 1 et fixez leur beginPrice à l'enchère actuelle, c'est-à-dire commencez une nouvelle partie.
  4. Rappelez-vous le niveau d'équité actuel. Par exemple, écrivez-le sur une feuille de papier ou dans un dossier.
  5. Démarrez les EAs avec les nouveaux paramètres.
  6. Va au boulot, aux affaires ou aux nanas.
  7. Lorsque l'occasion se présente de réexaminer l'équité et de modifier les paramètres, nous l'examinons et si le niveau précédent est dépassé, nous passons au point 1. S'il n'est pas encore dépassé, nous passons au point 5.