Das EOP für Schulkinder. - Seite 9

 
Dmitry Fedoseev:

Wenn der Indikator von links nach rechts berechnet wird, sollten wir uns, wenn ein Ereignis eingetreten ist, z.B. ein Fraktal gebildet hat, den Index des Balkens mit diesem Ereignis merken (um ihn für etwas anderes zu verwenden). Wenn die Indizierung von rechts nach links erfolgt, muss man n=Bars-i berechnen und sich n merken, und dann umgekehrt: i=Bars-n. Wenn Sie aber von links nach rechts indizieren, sollten Sie sich den Index merken und ihn verwenden, er wird sich nicht ändern. Da dies bei mehr oder weniger komplizierten Indikatoren immer erforderlich ist, ist die Indexierung von links nach rechts eine große Hilfe für die Entwickler von Indikatoren.

Ja, ich habe einmal angefangen, einen Indikator in mql4 zu schreiben, ich habe 1/3 davon geschrieben, ein weiteres 1/3 basierte auf den Ergebnissen des ersten und der dritte Teil auf den Werten des zweiten Drittels. Ich stand vor einem großen Problem, als ich den Balken mit dem benötigten Wert berechnete. Aber der Kunde ist verschwunden, und ich habe ihn nicht fertig geschrieben. Und bei der Indizierung auf der rechten Seite bleibt die Taktnummer unverändert, es genügt, die Taktnummer in das Hilfsarray zu schreiben und nur dieses Array muss ausgeführt werden, um den zweiten und dritten Teil zu konstruieren...

 
Dmitry Fedoseev:

Wenn der Indikator von links nach rechts berechnet wird, dann müssen Sie, wenn etwas passiert, z.B. ein Fraktal gebildet wird, den Index des Balkens mit diesem Ereignis speichern (um ihn für etwas anderes zu verwenden). Wenn die Indizierung von rechts nach links erfolgt, sollte man n=Bars-i berechnen und sich n merken, und dann umgekehrt: i=Bars-n. Wenn Sie aber von links nach rechts indizieren, sollten Sie den Index einfach speichern und verwenden, er wird sich nicht ändern. Da dies bei mehr oder weniger komplizierten Indikatoren immer erforderlich ist, ist die Indexierung von links nach rechts eine große Hilfe für die Entwickler von Indikatoren.

Wie wäre es damit. Und dann lädt das Terminal den Verlauf herunter und was dann?
 
Ihor Herasko:

Hier ist ein Beispiel.

Vielen Dank, aber

  1. Leider sind es alle Vieren.
  2. Ich möchte ein klares Beispiel für die Verbindung eines solchen Indikators ohne iCustom )))
 
Vladimir Simakov:
Oh, Mann. Und dann lädt das Terminal den Verlauf herunter und was dann?

Das ist keine große Sache. Vergessen Sie einfach den Vier-Wege-Ansatz

   int counted_bars=IndicatorCounted();
   int i,r,limit;

   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
         limit = Bars-counted_bars;
         if (ArrayRange(working,0) != Bars) ArrayResize(working,Bars);

   //
   //
   //
   //
   //
        
   for(i=limit, r=Bars-i-1; i >= 0; i--,r++)

Und das geht so.

if(rates_total-prev_calculated > 1)
 {
  // Если это первый запуск или подгрузилась история пересчитаем весь индикатор.
 }
if(rates_total-prev_calculated >= 0)
 {
  // Пересчитаем только последнее изменение.
 }
 
#include <Indicators/Indicators.mqh>

CiADX adx;

int OnInit()
  {

   if(!adx.Create(Symbol(),Period(),14)){
      return(INIT_FAILED);
   }

   OnTick(); // это только для этого примера, чтобы на выходных сработало

   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
   double buf[];
   
   if(adx.GetData(0,1,0,buf)==-1){
      return;
   }

   Comment(buf[0]);
   
  }
 
Vladimir Simakov:
Oh, ja. Und dann hat das Terminal den Verlauf heruntergeladen und was?

Woher kommen Sie und warum sind Sie hier? Haben Sie einen einzigen Indikator für MT4 oder MT5 geschrieben? Zumindest sollten Sie die Grundlagen der Erstellung von Indikatoren für MetaTrader kennen.

 
Dmitry Fedoseev:

Denn sie haben nie komplexe, aber schnelle Indikatoren geschrieben, sonst wäre die Links-nach-Rechts-Indizierung eine sehr wichtige Lösung gewesen.

Wenn Sie einen schnellen Indikator für einen EA benötigen, ist es besser, den Berechnungsteil direkt in den EA zu integrieren.

 
Alexey Volchanskiy:

Wenn Sie einen schnellen Indikator für den EA benötigen, ist es günstiger, den Berechnungsteil direkt in den EA einzufügen.

Das gibt's doch nicht... Erzählen Sie Ihren Freundinnen davon, um der Brutalität willen.

 
Dmitry Fedoseev:

Woher kommen Sie und warum sind Sie hier? Haben Sie einen einzigen Indikator für MT4 oder MT5 geschrieben? Sie sollten zumindest die Grundlagen der Erstellung von Indikatoren für MetaTrader kennen.

Dimitri ist wütend, er hat noch keinen Kater gehabt)))

 
Ichhabe es ein wenig korrigiert. GetData() sollte auf Ungleichheit -1 geprüft werden.
Grund der Beschwerde: