[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 125

 

Es gibt einen solchen Neuberechnungsalgorithmus:

   int ic=IndicatorCounted();
   if(Bars-ic-1>1) {ic=reinit();}
   int limit=Bars-ic-1; //BarsPrev=Bars; // кол-во пересчетов
   if(History!=0 && limit>History) limit=History-1; // кол-во пересчетов по истории

   for(int i=limit; i>=1; i--) // цикл по непосчитанным и предпоследнему барам
     {
      int n;
      int iShift=i+Shift;
      
      if (i==0)
      Input[i]=iClose(Symb, Period(), iShift);
      else
      Input[i]=(iHigh(Symb, Period(), iShift)+iLow(Symb, Period(), iShift))/2;
       }

So wie ich es verstehe, werden alle Takte außer dem letzten gezählt.

Können Sie mir sagen, wie ich den letzten Balken bei i=0 neu berechnen kann (es gibt bereits eine Bedingung dafür in der Schleife)?

 
Vielen Dank für die Antworten)))) Ich ersetzte iClose mit Close [0] und alles funktionierte....obwohl seltsam...))))) danke nochmals)))
 
Lisi4ka330:
Vielen Dank für die Antworten)))) Ich ersetzte iClose mit Close [0] und alles funktionierte....obwohl seltsam...))))) danke nochmals)))
Fürs Protokoll: iClose(NULL, 0, 1) ist Close[1] nicht Close[0]
 
Cmu4:

Es gibt einen solchen Neuberechnungsalgorithmus:

So wie ich es verstehe, werden alle Takte außer dem letzten gezählt.

Können Sie mir sagen, wie ich den letzten Balken bei i=0 neu berechnen kann (es gibt bereits eine Bedingung dafür in der Schleife)?

nein, du schreibst >= 1 (größer oder gleich dem 1. Takt, d.h. du kommst nicht auf 0... Ändern Sie die Bedingung in >=0

SZ


Worum geht es hier?

int iShift=i+Shift;
 
Aleksander:

Nein, man schreibt >= 1 (Größer oder gleich 1 bar, d.h. man kommt nicht auf 0... Ändern Sie die Bedingung in >=0

SZ


Wozu ist das gut?

Richtig, ich habe meine "Experimente" völlig vergessen. Vor einer Weile wurde 0 auf 1 gesetzt, und es ist immer noch da. Ich danke Ihnen!

iShift ist eine Verschiebung, die in extern eingestellt wird.

 
Cmu4:

Richtig, ich habe meine "Experimente" ganz vergessen. Ich habe sie vor einiger Zeit von 0 auf 1 geändert und sie ist immer noch da. Ich danke Ihnen!

iShift ist eine Verschiebung, die in der Extern eingestellt wird.

Ja... aber Sie schreiben, dass Sie sich den 0-Balken ansehen müssen...

dann entfernen

f (i==0)
      Input[i]=iClose(Symb, Period(), iShift);

Ihr Shifter von dort :) - 0 setzen...

f (i==0)
      Input[i]=iClose(Symb, Period(), 0);
 
Ich habe folgende Frage. Ist die Seriennummer von Geschäften im Terminal fest zugeordnet oder ändert sie sich? Wenn ich zum Beispiel drei Geschäfte mit den Nummern 0 - 1 - 2 eröffne und das Geschäft mit der Nummer 1 schließe, bleiben dann die Geschäftsnummern 0 und 2 bestehen oder werden zu 0 und 1?
 
Ja, die Bewegung in der Warteschlange, und nicht nur Transaktionen, grafische Objekte und globale Variablen verhalten sich genauso.
 

Bitte um Hilfe. Können die nachstehenden Bedingungen erfüllt werden???

Wir müssen dafür sorgen, dass der Algorithmus in { } ausgelöst wird, wenn der aktuelle Kurs den MA überschreitet:

if (Bid==iMA(0,0,ma_period,ma_shift,ma_method,PRICE_MEDIAN,0)
{
 ...
}

if (Ask==iMA(0,0,ma_period,ma_shift,ma_method,PRICE_MEDIAN,0)
{
 ...
}
 
orb:

Bitte um Hilfe. Können die nachstehenden Bedingungen erfüllt werden???

Wir müssen dafür sorgen, dass der Algorithmus in { } ausgelöst wird, wenn der aktuelle Kurs den MA überschreitet:


Macht es keinen Unterschied, welchen Weg er kreuzt? Geniale Taktik, denke ich...

Expert Advisors mit MA-Kreuzung und andere Indikatoren in kodobase sind viele, keine Notwendigkeit, das Rad neu zu erfinden ;)

Grund der Beschwerde: