Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 807

 
borilunad:

Merci beaucoup ! Vérifié par Commentaire, ça marche ! J'ai dû mal comprendre l'information sur l'utilisation de plusieurs TF dans le testeur.
 
Veterros:
Merci beaucoup ! Vérifié par Commentaire, ça marche ! J'ai dû mal comprendre l'information sur l'utilisation de plusieurs TF dans le testeur.
Pas du tout, vérifiez toujours avec Commentaire dans le testeur en VisualMode et sur la démo ! Je teste sur M1 avec des barres ouvertes, le Conseiller Expert peut utiliser n'importe quel TF, mais il est souhaitable d'avoir tous les graphiques ouverts, à partir de M1 jusqu'à celui d'où proviennent les données. Je l'ai jusqu'à D1, car j'utilise les lignes de pivot, les résistances et les supports quotidiens.
 

Bonjour, l'indicateur ci-joint dessine des fractales. Il les dessine directement sur les barres hautes et basses et je ne peux donc pas voir les barres hautes et basses. Comment puis-je ajuster la distance entre la fractale et la barre ? J'ai besoin que la fractale soit légèrement au-dessus/en dessous de la barre.

Si ce n'est pas compliqué, il peut être facile de le faire directement dans cet indicateur...

À l'aide, s'il vous plaît !

Dossiers :
 
Serhios:

Bonjour ! L'indicateur ci-joint dessine des fractales. Il les dessine directement sur les barres hautes et basses et je ne peux donc pas voir les barres hautes et basses. Comment puis-je ajuster la distance entre la fractale et la barre ? J'ai besoin que la fractale soit légèrement au-dessus/en dessous de la barre.

Si ce n'est pas compliqué, peut-être que ce ne sera pas un problème de le faire directement dans cet indicateur...

À l'aide, s'il vous plaît !

De toute évidence, nous devrions ajouter une certaine valeur pour la fractale supérieure et soustraire la même valeur pour la fractale inférieure, les fractales seront alors décalées verticalement. La valeur ATR, comme dans la remorque, conviendrait par exemple.
Dossiers :
 
evillive:
De toute évidence, nous devons ajouter une certaine valeur pour la fractale du haut et soustraire la même valeur pour la fractale du bas, puis les fractales seront décalées verticalement. La valeur ATR, comme dans la remorque, conviendrait par exemple.

Merci. Mais, est-il vraiment nécessaire d'utiliser la valeur d'un autre indicateur pour résoudre ce problème ? Il s'agit de la valeur de la barre à laquelle la fractale a été dessinée. N'y a-t-il pas une fonction qui déplace la fractale verticalement par rapport à la valeur haute/basse de la barre ?
 
Serhios:

Merci. Mais, est-il vraiment nécessaire d'utiliser la valeur d'un autre indicateur pour résoudre ce problème ? Après tout, il y a la valeur de la barre sur laquelle la fractale a été dessinée. N'existe-t-il pas une fonction qui décale la fractale verticalement par rapport à la valeur haute/basse de la barre ?

Vous pouvez prendre n'importe quelle valeur en pips (entier) à la place de la valeur de l'indicateur, multipliée par _Point, ce sera un décalage constant du nombre de pips donné. C'est plus facile avec l'indicateur, il n'y a pas besoin de régler la distance.

Exemple pour la fractale supérieure:

Ext1[i+center] = cur + 30*_Point;
 
evillive:

Vous pouvez prendre n'importe quelle valeur en pips (entier) à la place de la valeur de l'indicateur, multipliée par _Point, ce sera un décalage constant du nombre de pips donné. C'est plus facile avec l'indicateur, il n'y a pas besoin de régler la distance.

Exemple pour la fractale supérieure :

Il est préférable de mettre à l'échelle, sinon les icônes des fractales se glisseront en dehors des limites de l'écran. Vous pouvez le faire :

// Определение LastBar по расположению StopLine на графике
bool fNewStopLine(){
   bool New;
   int StopBar, Error;
   double Shift;
   datetime StopLine;
   if( ObjectFind("StopLine")==0 ){                // Есть стоп-линия
      StopLine=ObjectGet("StopLine",OBJPROP_TIME1);// Время стоп-линии
      StopBar=iBarShift(NULL,0,StopLine);          // Бар стоп-линии
      LastBar=StopBar+1;                           // Бар окончания построения
      if( StopBar<=БарОкончания ){                 //    правее или на последнем баре
         LastBar=БарОкончания;                     // Перенести на нулевой бар
         StopBar=LastBar-1;
         StopLine=Time[StopBar];
         if( !ObjectMove("StopLine",0,StopLine,0) ){
            if( !РежимОтладки ) PlaySound("alert.wav");
            Print("***   StopLine - объект не перемещен, ошибка "+GetLastError());
      }  }
      if( StopLine!=OldStopLine ){                 // Новая стоп-линия
         ReInit();                                 // Повторная инициализация
         ClearScreen();                            // Очистить экран
         Shift=0.01*(WindowPriceMax()-WindowPriceMin())*СдвигИндикатораТиков;
         Error=fArrow("TickIndicator","",0,StopBar // Сформировать индикатор тика
                     ,WindowPriceMin()+Shift,0,0,0,0
                     ,ЗнакИндикатораТиков,ЦветИндикатораТиков,РазмерИндикатораТиков);
         OldStopLine=StopLine;                     // Стоп-линия обработана
         New=true;                                 // Выполнить построение заново
      }
      else{                                        // Нет новой стоп-линии
         New=false;                                // Построение заново не выполнять
   }  }
   else{                                           // Нет стоп-линии
      New=false;                                   // Построение заново не выполнять
      Error=fObjectDelete("TickIndicator");        // Удалить индикатор тика
   }
   return(New);
}
а можно просто использовать значки фракталов, не закрывающие экстремумы баров, вот так: 

 

Je ne comprends toujours pas les priorités et l'ordre des opérations , par ex,

*
/
%

Multiplication
Division
Division modulo

De gauche à droite


A quoi correspondrait l'expression a=b/s*s, a=b ou a=b/s^2 ?

 
evillive:


A quoi sera égale l'expression a=b/c*s, a=b ou a=b/c^2 ?

Vérifié avec le script :

   double a;
   double b=10.0;
   double c=4.0; 
   a=b/c*c;
   Print("a=",a);

Imprimer dans le journal : a=10.0

PS : et si vous faites ça : a=c*c/b ; alors l'impression sera a=1.6

 
tuner:

Vérifié avec le script :

Imprimer dans le journal : a=10.0

PS : et si vous faites ça : a=c*c/b ; alors l'impression sera a=1.6

Eh bien, oui, je l'ai vérifié moi-même, mais dans le manuel sur les priorités, il est dit que la multiplication a la priorité sur la division, donc la multiplication devrait être faite en premier, si les parenthèses ne précisent pas l'ordre, non ?


En pratique, la division vient en premier, puis la multiplication...