[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 84

 
Roman.:


Désolé, je n'avais pas remarqué... :-)))

J'ai vérifié plusieurs fois - aucune erreur, tout est strictement conforme aux formules.

Apparemment, il est nécessaire de diviser le produit en plusieurs parties, puis de les comparer... Lire la suite - ici.

J'y suis allé. Intéressant. J'ai une idée. Je vais écrire dans le fil de discussion sur le sujet.

 
MaxZ:

Avez-vous copié l'ensemble du code ou seulement ce qui se trouvait dans la fonction start() ? C'est important !

Vous vous trompez ! :)) Par exemple, le zig-zag n'a pas tous les éléments du tampon remplis. De même, il n'est pas nécessaire de remplir tous les éléments du tampon avec des icônes.


La copie semble être terminée...

Étrange ! Si j'écrivais un code comme celui-ci :

tampon[1]=ouvert[1] ;

tampon[3]=ouvert[3] ;

rien ne se passe sur le graphique

 
wolf05632:


Je l'ai copié entièrement...

Étrange ! Si j'écrivais un code comme celui-ci :

tampon[1]=ouvert[1] ;

tampon[3]=ouvert[3] ;

rien ne se passe sur le graphique


Vous devez examiner tout le code dans ce cas.
 
wolf05632:


La copie semble être terminée...

Étrange ! Si j'écrivais un code comme celui-ci :

tampon[1]=ouvert[1] ;

tampon[3]=ouvert[3] ;

rien ne se passe sur le graphique

Dans ce cas, vous devez modifier

SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии

à

SetIndexStyle (0, DRAW_SECTION);

Sinon, les lignes seront tracées à moitié, ou les lignes sauteront de zéro ou vers le haut sur le graphique et reviendront à zéro ou vers le haut à nouveau (selon la valeur que vous donnez aux éléments sautés dans le tampon) ! :D

Mon code a donc fonctionné pour vous après tout ?

 

Merci ! Je vais réessayer... Oui ! Ça marche, merci ! Je ne comprends pas très bien le sens de cette ligne :

if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
      return(0);
 
wolf05632:

Merci ! Je vais réessayer... Oui ! Ça marche, merci ! Je ne comprends pas bien le sens de cette ligne :

if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
      return(0);

Laissez-moi vous expliquer.

Nous appliquons l'indicateur à un graphique. D'abord il exécute la fonction init(), elle est exécutée.

Ensuite, la fonction start() est exécutée. Comme aucune des barres n'a encore été calculée, la fonction renvoie zéro à la variable Counted_bars.

IndicatorCounted(); // Количество просчитанных баров

retournera zéro.

Cela signifie que la condition

if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
      return(0);

ne sera pas respectée, et l'indicateur calculera toutes les barres du symbole auquel il a été appliqué.

Après le calcul, l'exécution de la fonction start() sera terminée et l'indicateur attendra l'arrivée d'un nouveau tick.

Lorsqu'un nouveau tick arrive, la fonction start() est exécutée à nouveau. Dans la variable Counted_bars, la fonction

IndicatorCounted(); // Количество просчитанных баров

retournera le nombre de barres comptées.

Cela signifie que la condition

if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
      return(0);

peut être déjà remplie, à savoir que cette condition sera remplie lorsque nous n'avons pas besoin d'une barre et que nous voulons la sauter dans le calcul de la fonction start().

 

Bonsoir. J'ai deux questions :

1) Je voudrais savoir si quelqu'un sur ce forum développe une stratégie basée sur l'indicateur Ishimoku et utilise un cadre temporel inférieur à une heure, par exemple 5 ou 15 minutes ?

2. Terekhov A. Ishimoku Indicator.djvu book contient le chapitre " Ishimoku Indicator and Japanese Candlesticks " où il est écrit que l'indicateur doit confirmer les configurations des chandeliers. Donc, ces configurations de chandeliers doivent être présentes lorsque l'indicateur donne un signal ou il peut y avoir quelques barres entre ces deux événements ? C'est-à-dire le croisement de tenkan et kinjun et au même moment il devrait y avoir un "marteau" ou ce n'est pas obligatoire ?

 

Bonjour à tous, je suis un débutant et j'ai une question - si j'ouvre un ordre selon ce schéma

extern bool Buy = true ;

externe double PriceBuy = 0 ;

int start()
{
if (Buy)
{OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point) ;
PriceBuy = ??????????????????;}

return ;
}
Que dois-je indiquer sous les points d'interrogation afin d'affecter à la variable PriceBuy la valeur du prix d'achat de la commande ? Le but est d'attribuer cette valeur une fois et elle ne changera pas au fur et à mesure de l'avancement du programme.

Et une dernière question - Comment modifier par programme le stoploss d'un ordre déjà ouvert ?



 
OTPOK:

Bonjour à tous, je suis un débutant et j'ai une question - si j'ouvre un ordre selon ce schéma

extern bool Buy = true ;

externe double PriceBuy = 0 ;

int start()
{
si (Acheter)
{OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point) ;
PriceBuy = ??????????????????;}

retour ;
}
Que dois-je indiquer sous les points d'interrogation pour affecter à la variable PriceBuy la valeur du prix d'achat de la commande ? Le but est d'attribuer cette valeur une fois et elle ne changera pas au fur et à mesure de l'avancement du programme.

Une autre question : comment modifier par programme le stoploss d'un ordre ouvert ?




extern bool Buy = true;
extern double PriceBuy = 0; 
int start() 
{
   if(Buy) 
   {
     int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point);
     if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
        PriceBuy=OrderOpenPrice();
   }
   return(0); 
}
 
OTPOK:


Que devons-nous préciser sous les points d'interrogation afin d'affecter la variable priceBuy à la valeur du prix d'achat de la commande ? Le but est d'attribuer cette valeur une fois et elle ne changera pas au fur et à mesure de l'avancement du programme.

Et encore une chose - Comment modifier par programme le stoploss d'un ordre déjà ouvert ?




Bon après-midi. Je comprends que vous n'avez jamais attribué de valeurs aux variables. C'est très facile à faire.

PriceBuy=Ask

Et vous devez modifier le stoploss à l'aide de la fonction OrderModifity().

Utilisez l'aide du MetaEditor.

Au revoir.