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

 
Aliaksandr Kryvanos:

Hallo zusammen, ich habe eine Frage: Ist es möglich, die Parameter des Indikators im laufenden Betrieb zu ändern, ohne das Einstellungsfenster zu öffnen?

https://www.mql5.com/ru/forum/213718#comment_5624828

Можно ли поменять входные параметры автоматически?
Можно ли поменять входные параметры автоматически?
  • 2017.08.17
  • www.mql5.com
Хочу сделать универсального солдата, который позволил бы, менять входные параметры на ходу, + чтобы советник переинициализовался Информации, по пов...
 
Сергей:

so habe ich es geschrieben... Ich verstehe nicht, warum die JPY-Paare nicht korrekt angezeigt werden... Versuchen Sie, im Terminal ein beliebiges Paar ohne jpy und dann ein Paar mit jpy anzuhängen, die Ergebnisse sind unterschiedlich...

Ich habe es gefunden - die Paare mit jpy haben einen anderen Punktwert. Ich habe MarketInfo("SYMBOL",MODE_POINT)) genommen und die Schriftart, ihre Größe und Farbe geändert. Ein weiterer Fehler wurde behoben


Dateien:
 
STARIJ:
Gefunden, was falsch ist - Paare mit jpy der Punkt-Wert ist anders. Ich habe MarketInfo("SYMBOL",MODE_POINT)) genommen und die Schriftart, ihre Größe und Farbe geändert. Ein weiterer Fehler wurde behoben



Ich könnte noch das Timing hinzufügen, denn es ist nicht immer der Fall, dass ein Tick auf allen Charts zur gleichen Zeit erscheint, und wenn Sie die Balken wechseln, erhalten Sie die falschen Daten...

Ich habe in etwa das gleiche System, und im wirklichen Leben habe ich Diskrepanzen bei den Ergebnissen festgestellt.

Ich habe es auf diese Weise gelöst.

    BarShift_AUDUSD = iBarShift("AUDUSD",0,Time[1],true); if(BarShift_AUDUSD <= 0) return;
    BarShift_NZDUSD = iBarShift("NZDUSD",0,Time[1],true); if(BarShift_NZDUSD <= 0) return;
    BarShift_USDCAD = iBarShift("USDCAD",0,Time[1],true); if(BarShift_USDCAD <= 0) return;
    BarShift_USDJPY = iBarShift("USDJPY",0,Time[1],true); if(BarShift_USDJPY <= 0) return;

    vol = iMA("AUDUSD",0,13,0,MODE_SMA,PRICE_CLOSE,BarShift_AUDUSD);
    vo2 = iMA("NZDUSD",0,13,0,MODE_SMA,PRICE_CLOSE,BarShift_NZDUSD);
    vo3 = iMA("USDCAD",0,13,0,MODE_SMA,PRICE_CLOSE,BarShift_USDCAD);
    vo4 = iMA("USDJPY",0,13,0,MODE_SMA,PRICE_CLOSE,BarShift_USDJPY);

synchronisiert er alle Messwerte der anderen Charts auf dem offenen Chart - das heißt, bis ein neuer Balken auf allen Charts beginnt...

 
elmucon:
Ich könnte noch das Timing hinzufügen, denn es ist nicht immer der Fall, dass ein Tick auf allen Charts zur gleichen Zeit erscheint, und wenn Sie die Balken wechseln, erhalten Sie die falschen Daten...
Ich habe in etwa das gleiche System, und im wirklichen Leben habe ich Diskrepanzen bei den Ergebnissen festgestellt.
Ich habe es auf diese Weise gelöst.
Es synchronisiert alle Messwerte anderer Charts auf dem offenen Chart - das heißt, bis ein neuer Balken auf allen Charts beginnt...

Sehen Sie sich den veröffentlichten Code genau an. Im Allgemeinen bestand die Aufgabe einfach darin, Fehler zu beseitigen, um Sergei zu einem großen Gewinn zu verhelfen.

 


Können Sie mir sagen, warum der Wert des iCustom-Indikators immer 0 ist? Auch auf den Spitzen. Dies ist der Fall, wenn Sie die Werte im Indikator erhalten. Dann wie im EA ohne Probleme. Der zweite Puffer im Indikator ohne Probleme.


//--------------------------------------------------------------------
#property indicator_separate_window    // Индик. рисуется в основном окне
#property indicator_buffers 2       // Количество буферов
#property  indicator_color1 Blue     // Цвет первой линии
#property  indicator_color2 Red      // Цвет второй линии
double zz; 
double Buf_0[],Buf_1[];             // Объявление массивов (под буферы индикатора)
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
   SetIndexBuffer(1,Buf_1);         // Назначение массива буферу
   SetIndexStyle (1,DRAW_LINE,STYLE_DOT,1);// Стиль линии
   return;                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
  
   int i,                           // Индекс бара
       Counted_bars;                // Количество просчитанных баров 
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      zz=iCustom(NULL,0,"Zig_Zag",15,5,5,0,i);
      Buf_0[i]= zz;                 // Значение 0 буфера на i-ом баре
      Buf_1[i]=Low[i];              // Значение 1 буфера на i-ом баре
      i--;                          // Расчёт индекса следующего бара
     }
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии start()
  }
//--------------------------------------------------------------------
 
Александр:

Bitte sagen Sie mir, warum der Wert des iCustom Indikators immer gleich 0 ist. Auch auf den Spitzen. Es ist, wenn ich Werte in den Indikator erhalte. Dann gibt es im Expert Advisor kein Problem damit. Der zweite Puffer im Indikator ohne Probleme.

Sehen Sie, ob das beigefügte Skript Ihnen helfen kann. Die Zickzacklinie ist überall Null, außer an den Scheitelpunkten. iCustom - Funktion zum Berechnen des benutzerdefinierten Indikators

Dateien:
 
STARIJ:

Sehen Sie, ob das beigefügte Skript Ihnen helfen kann. Die Zickzacklinie ist überall Null, außer an den Scheitelpunkten. iCustom - Funktion zur Berechnung eines benutzerdefinierten Indikators

Ich habe ausdrücklich gesagt: - "Auch auf Scheitelpunkten". D.h. iCustom sollte Werte auf den Oberseiten anzeigen. Im Expert Advisor wird genau das getan. Aber er tut es nicht mit einem Indikator. Und warum?

 
Александр:

Ich habe ausdrücklich gesagt: - "Auch auf den Spitzen". D.h. iCustom sollte Werte auf den Oberseiten anzeigen. Das ist es, was der Expert Advisor tut. Aber er tut es nicht im Indikator. Und warum?

Sehen Sie sich das beigefügte Skript an - vielleicht finden Sie dort eine Antwort auf Ihre Frage. Im Allgemeinen können Sie mit Hilfe von Skripten prüfen, herausfinden, klären ...
 
STARIJ:
Sehen Sie sich das hier gepostete Skript an - vielleicht finden Sie die Antwort auf Ihre Frage. Im Allgemeinen können Sie die Skripte verwenden, um zu prüfen, herauszufinden, zu klären ...
OK
 
Александр OK

Skripte lernen, Skripte schreiben ist eine gute Möglichkeit, eine Sprache zu lernen und nach Fehlern zu suchen