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

 
Svinozavr >>:
Вам удобней это будет отдельным индикатором сделать. Сначала, в цикле пересчета заполняете инд. буфер значениями индикатора, а затем по этим значениям считаете сигнальную МА.

Вот пример расчета МА по RSI (ф-я старт):

Oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh! Je ne l'ai pas vu tout de suite ! Juste ce que le docteur a ordonné. Merci. Vous avez des profits sans fin ! :) :):)
 

artmedia70, Nous allons passer en revue toutes les commandes et faire la somme de leurs bénéfices. Si le bénéfice résultant est supérieur à zéro ou supérieur à une valeur prédéfinie, nous clôturerons toutes les positions.

double SummProfit(){
  double Profit=0;
 for(int i=OrdersTotal()-1;i>=0;i--){
   if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
     Print("Ошибка № ",GetLastError()," при выборе ордера № ",i);
   }
   else {
     Profit=Profit+OrderProfit();
  }
 }
  return(Profit);
}

Essayez le code pour fermer toutes les commandes vous-même.

Conseil : Pour une boucle dans laquelle tous les ordres seront fermés, vous devez inverser la direction de l'énumération des ordres - exactement comme je l'ai fait dans le code ci-dessus. A savoir, nous devrions passer du dernier ordre au premier. Si nous changeons de direction, tous les ordres ne seront pas fermés dans la boucle. Par exemple, la commande placée en premier dans la liste sera fermée et, par conséquent, une autre la remplacera. Et comme le compteur de la boucle est incrémenté de un, un autre ordre de cette ligne sera sauté.

 

J'ai une question : le testeur MT4 prend-il en compte les swaps ? Il n'y a aucune mention de swaps dans le fichier journal du testeur.

 
chief2000 >>:

Возник вопрос - учитывает ли тестер МТ4 свопы? В лог-файле тестера нет ни единого упоминания о свопах.

Remplacement de commande()

 
sergeev >>:

OrderSwap()

Il n'y a actuellement aucun moyen d'ajouter cette commande pour les tests.

- Cela peut-il être considéré comme une confirmation que MT4 prend en compte les swaps lors des tests et de l'optimisation ?

 
Je pense que oui, car il calcule et renvoie des valeurs. et donc (probabilité de 99% :) est comptabilisé dans le bilan.
 
sergeev >>:
думаю да, так как она вычисляется и возвращает значения. а следовательно (вероятность 99% :) учитывается на балансе

Merci !

 

Comment dessiner correctement un cercle avec le rayon de la dernière pause ZigZag.

Le calcul du rayon se fera comme ceci, mais je ne sais pas comment dessiner un cercle dans MT.

 double y3, y2, y1, zz;// экстремумы Зиг-Зага
 int    x3, x2, x1, sh;// номера баров
  y3=0;y2=0;y1=0;                                             // экстремумы Зиг-Зага
  sh=ShiftBars;                                               // номера баров
  // Берём три экстремума Зиг-Зага
  while (y3==0) {
    zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
    if (zz!=0 && zz!=EMPTY_VALUE) {
      if      (y1==0) { x1=sh; y1=zz; }
      else if (y2==0) { x2=sh; y2=zz; }
      else if (y3==0) { x3=sh; y3=zz; }
    }
    sh++;
  }
  double R=MathSqrt(MathPow(MathAbs(y1-y2),2)+MathPow((x2-x1),2));// радиус последнего перелома
 
sasha2x >>:

Расчет радиуса будет такой,а как сделать чтобы на рисовался круг в МТ не знаю.


https://www.mql5.com/ru/articles/1503/page2
 

Comment puis-je faire des lignes d'indicateurs au lieu d'objets ?

Cela semble être la formule où (x0,y0)est le centre du rayon.

Dans le système de coordonnées cartésiennes, le cercle n'est pas le graphe d'une fonction, mais il peut être décrit comme l'union des graphes des deux fonctions suivantes :