[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 756

 
ToLik_SRGV:

Ilya, je vais regarder, mais je ne comprends pas bien pourquoi les tableaux ont le type chaîne ?

c'est une variante qui fonctionne pour le moment :)

En fait, je voudrais clarifier les choses :

Existe-t-il une "structure" similaire en mql comme en c.

Je dois stocker dans le tableau donné les données de différents types - date + heure de formation de l'extremum, ainsi que la valeur de l'extremum lui-même...

En conséquence, je voulais clarifier - existe-t-il une fonction standard pour convertir une chaîne de caractères en date+heure... ou comment contourner cette situation ?

 

Prends cette ZZ et ne t'en fais pas.

Dossiers :
zigzag2_r_.mq4  10 kb
 
Morzh09:

Je m'excuse de me répéter, mais j'aimerais vraiment comprendre...


Ce qui m'a immédiatement frappé, c'est que votre tableau Number_of_extremum[] n'est initialisé nulle part, respectivement, il n'a pas de cellules pour stocker les données, et vous essayez d'y écrire min/max (bien sûr, cela finit toujours par 0). Je suggère cette option - changer dynamiquement la taille du tableau en fonction de la variable K :

        
   }
   
//====================================================  

   ArrayResize(Number_of_extremum, k);
   
   for (int u=0;u<k;u++)//
   {
      if (StrToDouble(TimeSave1[u+1][1])<=StrToDouble(TimeSave1[u][1]))
      {
         Number_of_extremum[u]=1;// значит под номером u - нашли min
      }
      else
      if (StrToDouble(TimeSave1[u+1][1])>=StrToDouble(TimeSave1[u][1]))
      {
         Number_of_extremum[u]=2;// значит под номером u - нашли max
      }
   }
   
//====================================================   

Cela semble fonctionner, bien que je pense que quelque part dans la logique il y a encore un bug, parfois les nombres commencent à sortir de la séquence, mais peut-il y avoir deux maximums consécutifs ?

 
ToLik_SRGV:

Que vouliez-vous atteindre à la fin ?

Si j'ai bien calculé :
1000*60*(240+1)*1000 = 14 460 000 secondes.

Voulez-vous que le testeur fasse une pause à chaque tic pendant 167 jours ?

A propos de la pause, je l'ai dit il y a quelques pages.

Merci, c'est à peu près ça - Sleep ne fonctionne pas dans le testeur. Ce délai incroyablement long, je l'ai fixé pour vérifier si le sommeil fonctionne.
 

Salut. Il existe une stratégie d'arbitrage, est-elle parfaite ? En d'autres termes, est-il irréel de perdre sur ce produit ou le prix n'atteint-il pas toujours le bon niveau ?

Merci.

 
Swetten:

Quel est le nombre maximum de fenêtres dans MT4 ?

J'avais besoin d'ouvrir 3x19 fenêtres, mais il y en a 54 (je pense) et c'est tout.

C'est-à-dire que la fenêtre est dessinée, mais elle a une capture d'écran des fenêtres précédentes (qui sont en arrière-plan).

Et c'est tout.

Ça arrive quand il n'y a pas assez de mémoire vidéo...
 

Veuillez me conseiller sur le code à ajouter au conseiller expert, afin qu'il s'arrête au seuil de rentabilité après un profit d'au moins 20 pips et qu'il ne bouge plus.

Je vous serai très reconnaissant de vos commentaires.

 

Chers collègues, pouvez-vous me dire s'il existe un indicateur qui consiste en trois lignes horizontales parallèles, c'est-à-dire une sorte de canal. Par exemple, si vous prenez une ligne horizontale, que vous la placez à un certain niveau, et qu'à partir de cette ligne, après un certain nombre (donné) de points, vous tracez les autres lignes parallèlement à celle-ci. Merci d'avance.

 

Dans le testeur, le conseiller expert ouvre 5 ordres pendant la période sélectionnée.

Si nous modifions l'ordre OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0,"", 0,0,Blue) ; en remplaçant 10 par 15, alors 4 ordres sur 5 seront ouverts, et si nous remplaçons 10 par 20, alors seulement 3 seront ouverts. En même temps,

uniquement les ordres perdants qui sont fermés par un Stop Loss. Vous ne voyez pas de messages d'erreur. Quelle en est la raison, s'il vous plaît ?

Et le sentiment est qu'il n'entre même pas dans cette branche.

if (OrdersTotal()!=0) {
   if (OrderType()==OP_BUY && stochMain0<stochSIGNAL0) CLOSEORDER("Buy");     
   if (OrderType()==OP_SELL && stochMain0>stochSIGNAL0) CLOSEORDER("Sell");  
}
else {
   double MA0 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,0);   
   double MA1 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,Shift);   
   double MA2 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,Shift*2); 
   if (MA0>MA1-razn1 && MA1>MA2-razn1 && MA0<Ask)    
      if(stochMain0>stochSIGNAL0 && stochMain_1>stochSIGNAL_1 && stochMain_4<stochSIGNAL_4) {
         //OPENORDER ("Buy");
         OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0,"", 0,0,Blue);
      }
   else if (MA0+razn1<MA1 && MA1+razn1<MA2 && MA0>Bid)     
      if(stochMain0<stochSIGNAL0 && stochMain_1<stochSIGNAL_1 && stochMain_4>stochSIGNAL_4)  //   
         {OPENORDER ("Sell");  }
}     
Dossiers :
stoch_1.mq4  7 kb
 
profitinvesting:

Veuillez indiquer quel code doit être ajouté au conseiller expert pour qu'il s'arrête au seuil de rentabilité après un profit d'au moins 20 pips et qu'il ne bouge plus.

Je vous serai très reconnaissant de vos commentaires.

Avez-vous besoin du profit total de toutes les positions ouvertes ou voulez-vous mettre un stop sur chacune d'elles lorsqu'elles atteignent 20 points de profit ?