[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 687

 
ОГРОМНОЕ СПАСИБО!!!!
 
ToLik_SRGV:

Boris, ce n'est pas difficile du tout, voici une fonction simple qui met en œuvre le principe de la martingale : ...

Une solution élégante, mais j'ajouterais une instruction : 1. Ne pas utiliser lorsque l'on négocie plusieurs instruments en même temps. 2. Pour désactiver l'Expert Advisor avant le retrait et pour la période d'accumulation des swaps.

 
ToLik_SRGV:

Boris, ce n'est pas difficile du tout, voici une fonction simple qui met en œuvre le principe de la martingale :

Passez le volume initial(double lot) et le pas(double x) comme paramètres.
Insérez la méthode directement dans OrderSend au lieu du paramètre volume.

Exemple d'appel de fonction :


Serait-il préférable d'utiliser AccountEquity() au lieu de AccountBalance() ? ?? Pourquoi un EA qui envoie une ligne d'équilibre dans le ciel tout en drainant les fonds investis ? IMHO
 
artmedia70:
Serait-il préférable d'utiliser AccountEquity() au lieu de AccountBalance() ? ?? Pourquoi un EA qui envoie une ligne d'équilibre dans le ciel tout en drainant les fonds investis ? IMHO
C'est vrai, - j'ai complètement oublié : ... 3. N'utilisez pas de verrous.
 
tara:

C'est une bonne solution, mais j'ajouterais une instruction : 1. ne pas utiliser lorsque l'on négocie plusieurs instruments en même temps. 2. Désactiver l'Expert Advisor avant le retrait et pour la période d'accumulation du swap.


Merci.
Cette fonctionnalité est principalement destinée au testeur, car dans le cadre d'un trading réel, il est préférable de ne pas utiliser martin, imho bien sûr.

Concernant 1.
Martin, comme vous le savez, peut sévèrement surcharger l'équilibre, donc d'utiliser sur un compte plusieurs conseillers ou un sur différents instruments en utilisant le système de martingale dans son travail, peut très mauvais, et surtout se terminera rapidement ... Donc, il ne s'agit pas de déterminer la perte de trades précédents, cette unité peut facilement être modifié si désiré, le point est le principe de la manipulation de tout martin, il a seul besoin de ressources équilibre autant que possible.

En ce qui concerne 2.
Il découle de la première, lors de l'exploitation d'un martin il est préférable de ne pas garder plus d'une position ouverte dans le compte, l'appel de la fonction devrait se produire à l'ouverture de la position suivante, de sorte que les échanges de la position fermée précédente ne devrait pas affecter radicalement l'opération.

J'ai exposé mon attitude à l'égard du système de martingale dès le début, donc pour un testeur, cette fonction est plus que suffisante.

 
artmedia70:
Peut-être serait-il préférable d'utiliser AccountEquity() au lieu de AccountBalance() ? ??...

Non, Artem, AccountBalance () renvoie le montant d'argent sur le compte sans prendre en compte les positions ouvertes, et il n'est pas important qu'il soit en bénéfice ou perte flottante, alors que AccountEquity() renvoie le solde avec bénéfice ou perte flottante, il s'avère que par exemple une position est en perte flottante, et Martin double immédiatement le lot ?
Comme je l'ai dit, il est préférable d'appeler la fonction lorsqu'il n'y a pas d'autres positions ouvertes, et à ce stade, AccountEquity() et AccountBalance() renvoient les mêmes chiffres.

Pourquoi un EA qui envoie une ligne d'équilibre vers le ciel tout en drainant les fonds investis ?

Comment l'imaginez-vous ? La ligne de solde par AccountBalance() est calculée sur la base des positions fermées, c'est-à-dire avec un profit ou une perte fixe, comment peut-elle diminuer les fonds investis dans le drawdown ? Alors, qu'est-ce que AccountEquity() a à voir avec cela, si le martin est correctement compté avec des positions fixes ? Prenons la même fonction de Kim, elle recherche la dernière position FERMEE dans l'historique.

Pourquoi un EA qui...

C'est condamné de toute façon.

 
eugggy:
Quelqu'un connaît-il un indicateur qui renvoie plusieurs derniers extrema du ZigZag ?

Pourquoi avez-vous besoin d'un indicateur ? Voici une fonction pour vous :

//+------------------------------------------------------------------+
double getZigZag(int ex = 1, int ExtDepth=12, int ExtDeviation=5, int ExtBackstep=3){
   double date;
   int step = 1;
   for(int shift = 0; shift <= Bars-1; shift++){
      date = iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, shift);
      if(date != 0){
         if(step == ex)return(date);else step++;
      }
   }
}
//+------------------------------------------------------------------+

Le paramètre ex est le nombre d'extrémum en zigzag, en comptant de droite à gauche, à partir de 1. Les autres paramètres sont des paramètres standard de zigzag.

Un exemple d'utilisation de la fonction :
Retourner les 3 dernières extrémités du zigzag.

//+------------------------------------------------------------------+
int start(){
   Alert("ZigZag point #1", getZigZag(1));
   Alert("ZigZag point #2", getZigZag(2));
   Alert("ZigZag point #3", getZigZag(3));
}
//+------------------------------------------------------------------+
 
ToLik_SRGV:

Non, Artem, AccountBalance () renvoie le montant d'argent sur le compte sans prendre en compte les positions ouvertes, et il importe peu qu'il soit en bénéfice ou en perte flottante, alors que AccountEquity() renvoie le solde avec bénéfice ou perte flottante, il s'avère que par exemple une position est en perte flottante, et Martin double immédiatement le lot ?
Comme je l'ai dit, il est préférable d'appeler cette fonction lorsqu'il n'y a pas d'autres positions ouvertes, et à ce stade, AccountEquity() et AccountBalance() renvoient les mêmes chiffres.

Comment l'imaginez-vous ? La ligne de solde par AccountBalance() est considérée comme des positions déjà fermées, c'est-à-dire avec un profit ou une perte fixe, comment peut-elle diminuer les fonds investis dans le drawdown ? Alors, qu'est-ce que AccountEquity() a à voir avec cela, si le martin est correctement compté avec des positions fixes ? Prenez la fonction de Kim, elle recherche la dernière position CLOSED dans l'historique.

Elle est condamnée de toute façon.


Je suis d'accord, Anatoly... :) Tout ceci est vrai (selon mes modestes connaissances) par rapport à un seul ordre sur un marché, ou à un ordre qui a déjà été clôturé avec un bénéfice ou avec une perte... Si vous avez clôturé avec un bénéfice, c'est bon, on continue ; si vous avez une perte, on double le lot et on va chercher la grenade... et ensuite c'est une question de chance - si c'est glacé... on se met à deux et on crie encore plus fort "Pour la mère patrie..." Si on a de la chance, on essuie la sueur de notre front et on descend dans le lot original...

Et si nous avons quelques positions ouvertes sur le marché ? Que devons-nous faire ? Pour les positions rentables, nous travaillons avec le lot initial, mais que voulez-vous faire avec les pertes ? Cela fait apparaître le concept de perte avec le doublement du lot, et nous commençons à tourner bêtement autour de la perte avec le lot pour récupérer l'équité du drawdown... IMHO, c'est la chose la plus stupide (je l'ai déjà fait... :))

Je suis arrivé à la conclusion qu'il est préférable de fermer toutes les positions par équité dans les limites du profit total défini dans les paramètres. Mieux encore, il (ce profit total) devrait être flottant, c'est-à-dire ajusté à la situation actuelle du marché... ainsi que des cibles flottantes similaires.

Le fait de tester sur différents intervalles de temps de l'histoire des périodes de cinq minutes séparément pendant trois ou quatre ans et en totalité pour toute la période permet de conclure qu'elle n'est pas déraisonnable et contient un grain rationnel... Au moins, il produit un profit stable de 60% chaque mois (je garde modestement le silence sur les retraits de deux ou trois mois sur les actions/2)).

Le fait que les martinis sont meilleurs pour boire, et non pour trader, est une chose que tout trader qui s'y intéresse devrait mieux connaître. Vous aurez beau dire aux gens que le râteau fait mal au front - jusqu'à ce qu'ils le vérifient - ils ne le croiront pas... Et c'est une bonne chose qu'ils le croient la première fois... Sinon, ils commenceraient à chercher des erreurs dans le code, en croyant sacrément au Saint Graal...

Donc tout est IMHO.

 
artmedia70:

Je suis d'accord, Anatoly... :) Tout ceci est vrai (selon mes modestes connaissances) par rapport à un seul ordre sur le marché, ou à un ordre qui a déjà clôturé à profit ou à perte... Si vous avez clôturé avec un bénéfice, c'est bon, on continue ; si vous avez une perte, on double le lot et on attaque les portes au cri de "Pour Staline !!!"... et ensuite c'est une question de chance - si c'est glacé... on se met à deux et on crie encore plus fort "Pour la Mère Patrie..." Si on a de la chance, on essuie la sueur de nos fronts et on descend dans le lot original...

C'est un exemple de Martin classique, pour lequel cette méthode a été écrite.

Mais que faire si nous avons plusieurs positions ouvertes sur le marché ? Que devons-nous faire ? Pour les positions rentables, nous travaillons avec le lot initial, mais pour les lots perdants, que devons-nous faire ? Cela fait apparaître le concept de la perte avec le doublement du lot, et nous commençons à danser bêtement autour de la perte avec le lot pour sortir l'équité du drawdown, au moins à zéro.... IMHO, c'est la chose la plus stupide (j'ai essayé... :))

Je suis tout à fait d'accord avec vous, le break n'est pas la meilleure idée du début, et ma relation avec lui est la même qu'avec la martin, le break avec une martin perd généralement toute signification. Comme il ne s'agit pas d'une perte à part entière (pas égale en volume), vous ne pouvez pas la conserver longtemps sur le marché, cela n'a pas de sens de la placer, il est plus facile de la "retourner", par exemple mon courtier n'autorise pas les lots perdants.

J'en suis arrivé à la conclusion qu'il serait préférable de clôturer toutes les positions par capitaux propres dans les limites d'un bénéfice global spécifié dans les paramètres, ou mieux encore (ce bénéfice global) serait flottant, c'est-à-dire ajusté à la situation actuelle du marché... ...plus des cibles flottantes similaires.

Le minimum n'est pas une mauvaise idée de prendre le forex dans son ensemble, plutôt que de s'accrocher à une seule position, tant que l'équilibre peut soutenir cette philosophie de trading. :)))

L'essentiel est que l'équilibre résiste à cette philosophie du trading. Vous aurez beau dire aux gens que le râteau leur fait mal au front, ils ne vous croiront pas tant qu'ils ne l'auront pas vérifié... Et c'est une bonne chose qu'ils le croient la première fois... Sinon, ils commenceront à chercher des erreurs dans le code, en croyant au Saint Graal...

Encore une fois, il est difficile de ne pas être d'accord avec vous, personnellement j'en ai eu assez du testeur :))))
 
ToLik_SRGV:

Au minimum, ce n'est pas une mauvaise idée de prendre le forex dans son ensemble, plutôt que de s'accrocher à une seule position, pour autant que l'équilibre puisse supporter cette philosophie de trading. :)))

En observant de nombreux tests à différents intervalles de périodes de test, l'équilibre se dirige intelligemment vers le ciel (pour les investisseurs, c'est miraculeux), mais l'argent erre dans tous les sens, ce qui fait parfois penser à un durcissement des règles d'entrée sur le marché...