Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 807

 
borilunad:

Herzlichen Dank! Geprüft durch Comment, es funktioniert! Ich muss die Information über die Verwendung mehrerer TFs im Tester missverstanden haben.
 
Veterros:
Herzlichen Dank! Geprüft durch Comment, es funktioniert! Ich muss die Information über die Verwendung mehrerer TFs im Tester missverstanden haben.
Keineswegs, immer mit Comment im Tester in VisualMode und auf Demo prüfen! Ich teste auf M1 mit offenen Balken. Der Expert Advisor kann jede beliebige TF verwenden, aber es ist wünschenswert, dass alle Charts geöffnet sind, angefangen von M1 bis einschließlich des Charts, aus dem die Daten stammen. Ich habe es bis zu D1, weil ich tägliche Pivot-Linien, Widerstände und Unterstützungen verwende.
 

Hallo! Der beigefügte Indikator zeichnet Fraktale. Sie werden direkt auf den Hoch-/Tiefstwertbalken gezeichnet, so dass ich die Hoch-/Tiefstwertbalken nicht sehen kann. Wie kann ich den Abstand zwischen dem Fraktal und dem Balken einstellen? Ich brauche das Fraktal etwas oberhalb/unterhalb des Balkens.

Wenn es nicht kompliziert ist, kann es einfach sein, es direkt in diesem Indikator zu tun...

Hilfe, bitte!

Dateien:
 
Serhios:

Hallo! Der beigefügte Indikator zeichnet Fraktale. Sie werden direkt auf den Hoch-/Tiefstwertbalken gezeichnet, so dass ich die Hoch-/Tiefstwertbalken nicht sehen kann. Wie kann ich den Abstand zwischen dem Fraktal und dem Balken einstellen? Ich brauche das Fraktal etwas oberhalb/unterhalb des Balkens.

Wenn es nicht kompliziert ist, wird es vielleicht kein Problem sein, es direkt in diesem Indikator zu tun...

Hilfe, bitte!

Offensichtlich sollten wir einen Wert für das obere Fraktal addieren und den gleichen Wert für das untere Fraktal subtrahieren, dann werden die Fraktale vertikal verschoben. Geeignet wäre z.B. der ATR-Wert, wie er im Anhänger steht.
Dateien:
 
evillive:
Offensichtlich müssen wir für das obere Fraktal einen Wert addieren und für das untere Fraktal denselben Wert subtrahieren, damit die Fraktale vertikal verschoben werden. Geeignet wäre z.B. der ATR-Wert, wie er im Anhänger steht.

Danke. Aber ist es wirklich notwendig, den Wert eines anderen Indikators zu verwenden, um dieses Problem zu lösen? Dort steht der Wert des Balkens, an dem das Fraktal gezeichnet wurde. Gibt es keine Funktion, die das Fraktal vertikal in Bezug auf den höchsten/niedrigsten Balkenwert verschiebt?
 
Serhios:

Ich danke Ihnen. Aber ist es wirklich notwendig, den Wert eines anderen Indikators zu verwenden, um dieses Problem zu lösen? Schließlich ist da noch der Wert des Balkens, auf dem das Fraktal gezeichnet wurde. Gibt es nicht eine Funktion, die das Fraktal vertikal in Bezug auf den höchsten/niedrigsten Balkenwert verschiebt?

Sie können einen beliebigen Wert in Pips (Integer) anstelle des Indikatorwertes nehmen, multipliziert mit _Point, es wird ein konstanter Offset um die angegebene Anzahl von Pips. Mit dem Indikator ist es einfacher, da man den Abstand nicht einstellen muss.

Beispiel für das obere Fraktal:

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

Sie können einen beliebigen Wert in Pips (Integer) anstelle des Indikatorwerts nehmen, multipliziert mit _Point, es wird eine konstante Verschiebung um die angegebene Anzahl von Pips. Mit dem Indikator ist es einfacher, da man den Abstand nicht einstellen muss.

Beispiel für das obere Fraktal:

Es ist besser, sie zu skalieren, da die Symbole der Fraktale sonst über die Grenzen des Bildschirms hinauswachsen. Sie können dies tun:

// Определение 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);
}
а можно просто использовать значки фракталов, не закрывающие экстремумы баров, вот так: 

 

Ich verstehe immer noch nicht die Prioritäten und die Reihenfolge der Operationen , z. B,

*
/
%

Multiplikation
Division
Modulo-Division

Von links nach rechts


Was würde der Ausdruck a=b/s*s bedeuten, a=b oder a=b/s^2?

 
evillive:


Was bedeutet der Ausdruck a=b/c*s, a=b oder a=b/c^2?

Wird mit dem Skript überprüft:

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

Ausdruck im Protokoll: a=10.0

PS: und wenn Sie dies tun: a=c*c/b; dann lautet der Ausdruck a=1.6

 
tuner:

Wird mit dem Skript überprüft:

Ausdruck im Protokoll: a=10.0

PS: und wenn Sie dies tun: a=c*c/b; dann wird a=1.6 gedruckt

Nun, ja, ich habe es selbst überprüft, aber im Handbuch über Prioritäten steht, dass Multiplikation Vorrang vor Division hat, also sollte die Multiplikation zuerst durchgeführt werden, wenn die Klammern nicht die Reihenfolge angeben, oder?


In der Praxis kommt zuerst die Division, dann die Multiplikation...

Grund der Beschwerde: