[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 23

 
Sergey2011:

Je ne comprends pas comment être en 15 minutes, par lesquelles fonctionne le temps, pour organiser une boucle à travers les jours.

J'espère que la question est claire.

Merci pour votre aide


Consultez l'aide de iBarShift et/ou vous pouvez travailler directement avec les barres quotidiennes comme ceci : iOpen(Symbol(),PERIOD_D1,1) - ouverture du jour précédent, etc.
 
Ereke:
Un autre Smartypants !
Vous n'avez pas idée à quel point vous avez raison dans votre caractérisation de ce forum ! Il est à espérer que vous tirerez également les bonnes conclusions sur vous-même et sur la qualité de vos enquêtes, puisque vous êtes entré dans un tel environnement.
 
granit77:
Vous n'avez pas idée à quel point vous avez raison dans votre caractérisation de ce forum ! J'espère que vous tirerez également les bonnes conclusions sur vous-même et sur la qualité de vos enquêtes, puisque vous êtes entré dans un tel environnement.
+10 :)
 
granit77:
Vous n'avez pas idée à quel point vous avez raison dans votre caractérisation de ce forum ! J'espère que vous tirerez également les bonnes conclusions sur vous-même et sur la qualité de vos enquêtes, puisque vous êtes entré dans un tel environnement.

artmedia70

MERCI !..................... J'ai déjà été aidé !

 
artmedia70: Victor l'a bien dit - un coup dans l'air...
Cela me rappelle une anecdote...
Deux Tchouktches sont perdus dans les bois...
-Tirer en l'air, peut-être que quelqu'un entendra et aidera...
Quelques minutes plus tard...
-Tirez encore un peu.
-Je ne peux pas, je n'ai plus de flèches...
 
volshebnik:
Le prix de clôture peut être bien supérieur à la fractale (si la fractale est ascendante) et le bénéfice potentiel est alors perdu. Je vérifie la rupture du prix à chaque tick.


Je suis d'accord, vous pouvez le faire, comme l'ordre d'achat s'ouvre sur le ask, vous pouvez le comparer avec le ask...

if (Ask > upfractal) { DO IT }

À la question - pourquoi toutes vos conditions d'entrée ne sont-elles pas déclenchées, je vais vous expliquer à nouveau en détail - c'est à cause d'un calcul fractal incorrect...

Pour calculer correctement la valeur de la dernière fractale, vous devez utiliser cette construction en utilisant une variable auxiliaire...

 fractal_h = iFractals(Symbol(),PERIOD_H1, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD_H1, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD_H1, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD_H1, MODE_LOWER, 3); 

Dans votre code, il n'y en a pas et la fractale est apparue, oui, vous avez bien mémorisé sa valeur. Vous l'avez écrit correctement - pas sur la 3ème barre, mais sur la 2ème, quand on connaît sa valeur sur la 0ème barre déjà, que se passe-t-il ensuite .... Si le prix ne franchit pas la valeur de la dernière fractale sur la barre suivante, et que, par exemple, par "petits pas", sur chaque barre suivante, il se déplace vers sa pénétration sans former une fractale régulière (ce qui arrive généralement), alors votre situation est ... votre valeur fractale calculée est remise à "0" par elle-même... et il n'est pas nécessaire de le mettre à zéro en plus comme vous le faites dans votre code (je ne citerai pas où vous le savez)... Et c'est pourquoi upfractal !=0 n' apparaît que sur la barre suivante après celle calculée (où se trouvait la dernière fractale) ...

C'est pourquoi ils se souviennent et gardent la valeur de la dernière fractale lors de la formation des barres suivantes, simplement en entrant une variable auxiliaire, essayez d'effectuer ces changements dans votre code et voyez que les transactions sont effectuées juste au moment de la percée de la dernière fractale et cela ne fait aucune différence combien de barres plus tard cette percée se produit, si vous ne comprenez toujours pas, entrez l'impression au lieu de votre alerte et regardez comment la variable upfractal change avec chaque nouvelle barre et vous comprendrez tout - elle se remet à "0" à la nouvelle barre formée, et la fractale est percée, disons, à la 8ème barre - c'est tout, sa valeur est égale à zéro depuis longtemps.

C'est comme ça avec toi :


  
            
                upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3);
                Alert("upfractal вначале = ",upfractal);
if (Двверх==true && upfractal !=0 && Bid > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) // Условие открытия ордера при пробитии фрактала вверх

C'est comme ça que ça devrait être :

 fractal_h = iFractals(Symbol(),PERIOD_H1, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD_H1, MODE_UPPER, 3);
 if (Двверх==true && Ask > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) 
   

"Roman, pourquoi ? Ce n'est pas la même chose ? Par exemple, si MA_8<MA_2 est identique à (MA_8-MA_2)<0 ?"

C'est la même chose, mais pour un fonctionnement dans le monde réel et une fiabilité à 100 %, sans risque de "pépins" éventuels, la deuxième option est nécessaire.

P.S. Au lieu des alertes, utilisez les impressions et suivez les valeurs des variables résultantes au fil du temps dans le testeur dans le journal de l'EA pour analyser le fonctionnement "correct" de votre hibou.

 
Roman.:


Je suis d'accord, vous pouvez le faire, comme l'ordre d'achat s'ouvre sur le ask, vous pouvez comparer avec le ask....

if (Ask > upfractal) { DO IT }

Visuellement, j'analyse le graphique pour la pénétration d'une fractale et je recherche les dépendances par le prix visible, c'est-à-dire l'offre. C'est pourquoi je considère une rupture fractale comme une offre (et upfractal donne également une offre, pas une demande).
 
Exemple :
  datetime some_time=D'2004.03.21 12:00' ; int shift=iBarShift("EUROUSD",PERIOD_M1,some_time) ; Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift) ;

J'ai regardé l'aide, je ne comprends pas (je ne comprends pas) comment spécifier dans la variable "some_time" en 15 minutes, que j'ai besoin du jour précédent, c'est-à-dire si aujourd'hui est le 25 janvier. 2011 comment puis-je définir le 24, 23, 22, etc. janvier pour la recherche.

Merci si vous pouvez m'expliquer.

 
volshebnik:
J'analyse visuellement le graphique pour la pénétration d'une fractale et je recherche les dépendances par le prix visible, c'est-à-dire l'offre. C'est pourquoi je considère une rupture fractale comme une offre (et upfractal donne également une offre, pas une demande).


vous pouvez le faire de cette façon aussi, ce n'est pas important :-))))

Vous avez compris maintenant ?

 
Roman.:


Je suis d'accord, vous pouvez le faire de cette façon, comme l'ordre d'achat s'ouvre sur le ask, vous pouvez le comparer avec le ask....

A la question - pourquoi toutes les conditions d'entrée ne sont-elles pas déclenchées, j'explique à nouveau en détail - c'est parce que la fractale n'est pas calculée correctement...

Pour un calcul correct de la valeur de la dernière fractale, il est nécessaire d'utiliser une telle construction avec l'utilisation d'une variable auxiliaire...

Dans votre code, il n'y en a pas et la fractale est apparue, oui, vous avez bien mémorisé sa valeur. Vous l'avez écrit correctement - pas sur la 3ème barre, mais sur la 2ème, quand on connaît sa valeur sur la 0ème barre déjà, que se passe-t-il ensuite .... Si le prix ne franchit pas la valeur de la dernière fractale sur la barre suivante, et, disons, "à petits pas", sur chaque barre suivante, se déplace vers sa pénétration sans former une fractale régulière (ce qui se produit généralement), alors votre situation est ... votre valeur fractale calculée est remise à "0" par elle-même... et il n'y a pas besoin de le mettre à zéro en plus comme vous le faites dans votre code (je ne citerai pas où vous le savez)... Et c'est pourquoi upfractal !=0 uniquement sur la barre suivante après celle calculée (où se trouvait la dernière fractale).

L'ordre est ouvert par asc, puis il peut être comparé à asc. C'est pourquoi ils se souviennent et gardent la valeur de la dernière fractale lorsque les barres suivantes sont formées juste en entrant une variable auxiliaire, essayez de corriger ces changements dans votre code et voyez que les transactions sont faites juste à la percée de la dernière fractale et peu importe combien de barres plus tard cette percée se produit,

Oui, Roman, merci beaucoup. J'ai ajouté un paramètre auxiliaire pour la définition des fractales, maintenant toutes les transactions sont ouvertes.