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

 

Hallo zusammen.

Um die Strategie auf H1 zu testen, benötige ich den Schlusskurs des Vortages.

Im Indikator schreibe ich folgendes (nach der Deklaration von "CloseLine" in OnInit()) :


int OnCalculate(const int rates_total, const int prev_calculated,

const datetime &time[], const double &open[],

const double &high[], const double &low[],

const double &close[], const long &tick_volume[],

const long &Volumen[], const int &Streuung[])

{

Close_Day=iClose("EURUSD",PERIOD_D1,1);

ObjectSet("CloseLine",OBJPROP_PRICE1,Close_Day);

return(rates_total);

}

Infolgedessen wird der Preis von Tag TF nicht geändert und die Zeile wird nicht neu angeordnet.

Bitte um Hilfe.

Dankeschön

 

Hallo, hier ist eine Frage zu einem Vierer, geschrieben auf einem Fünfer. Wer weiß, wie er mir sagen soll...

Schreiben und Lesen von Ticks durch einen Indikator.

https://www.mql5.com/ru/forum/6343/page400#comment_1768141

Angefangen auf der vorherigen Seite - iMAOnArray ist nicht zu schlagen.

 
Pokrov:
Hallo zusammen, ist es besser, einen Zyklus für alle Zwecke oder mehrere Zyklen in Blöcken zu verwenden? Ist es eine Frage der EA-Leistung oder gibt es keinen Unterschied?

Der Zyklus ist am schnellsten, und innerhalb des Zyklus können Sie Blöcke bilden, z.B. Blockanalyse von Pending Orders, Blockanalyse von Market Orders, Blockbewegung von B/O.

for(int i=OrdersTotal()-1; i>=0; i--)
   {
      if(!OrderSelect(i,SELECT_BY_POS)) 
      {
         Print("OrderSelect( ",i," ) - Error #",GetLastError());
         continue;
      }
      if(OrderSymbol() != SymbolsArray[symNo])          continue;
      if(OrderMagicNumber() != Expert_ID) continue;
      if(OrderType()>3){  } //StopOrder
      if(OrderType()<2){  } //MarketOrder
   }
 
Rattnik:

Hallo zusammen.

Um die Strategie auf H1 zu testen, benötige ich den Schlusskurs des Vortages.

Im Indikator schreibe ich folgendes (nach der Deklaration von "CloseLine" in OnInit()) :


int OnCalculate(const int rates_total, const int prev_calculated,

const datetime &time[], const double &open[],

const double &high[], const double &low[],

const double &close[], const long &tick_volume[],

const long &Volumen[], const int &Streuung[])

{

Close_Day=iClose("EURUSD",PERIOD_D1,1);

ObjectSet("CloseLine",OBJPROP_PRICE1,Close_Day);

return(rates_total);

}

Infolgedessen wird der Preis von Tag TF nicht geändert und die Zeile wird nicht neu angeordnet.

Bitte um Hilfe.

Dankeschön

Sind Sie sicher, dass es sinnvoll ist, die Klausel von gestern bei jedem Tick herauszufinden? Vielleicht ist es besser, herauszufinden, ob sich der Wert geändert hat, und nur dann, ObjectSet aufzurufen und zu behandeln, wenn es fehlgeschlagen ist?
 
Guten Abend, wenn jemand hat einen Indikator, der die Anzahl der Ticks in einer Kerze berechnet, ist, dass in den Zahlen über oder unter den Kerzen. kann nicht finden, wie ein Indikator überall
 
roma1984:
Guten Abend, haben Sie einen Indikator, der die Anzahl der Ticks in einem Candlestick berechnet, insbesondere in Zahlen über oder unter dem Candlestick?
Der Indikator zeigt nicht die Anzahl der Ticks in einer Kerze an, sondern nur die Anzahl der Ziffern, die Sie sehen können, wenn Sie Strg+D drücken und mit dem Mauszeiger über die Kerze fahren.
 
danik:
In MT4 gibt es Volumina. Sie sind nicht von der Börse, sie sind Tick-Volumina, d.h. sie zeigen die Anzahl der Ticks in einer Kerze an. Allerdings gibt es keine Zahlen, Sie können die Zahlen sehen, indem Sie Strg+D drücken und mit der Maus über die Kerze fahren.
Danke für den Tipp, aber das ist ein bisschen umständlich
 
tatianati:

Hallo, bitte um Hilfe.

Suche nach Gleichheit, Tiefstwert des ersten Balkens mit einem Höchstpreis für 20 Balken ab dem 5.

Ich habe den Pfeil auf den ersten Balken gesetzt.

Versuchen Sie so:

Das macht die Sache nicht besser.

Wie wäre es damit?

if(MathAbs(iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,K_Bars,i+5))-lowr) < n*Point) //примерно равно)))

Die Variablen sollten ebenfalls initialisiert werden.

 
tatianati:

Sie brauchen genau E, es ist ein Bereich - ungefähr

Ich frage mich, ob ich für den Indikator vom 5. Takt bis zum 20.

Die Suche ist korrekt, aber die Reichweite ist es nicht. Besser ist es, den Modulus der Differenz mit einer bestimmten Zahl zu vergleichen.

Das ist ungefähr richtig:

if(MathAbs(iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,K_Bars,i+5))-lowr) < n*Point) // разница меньше п пунктов
 
Und wenn die Nulllinie nirgendwo beteiligt ist, ist es sinnvoll, die Schleife bei 1 zu beginnen, dann braucht man nicht [i+1] zu schreiben.
Grund der Beschwerde: