[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 227

 
oyshen >> :

Wie kann ich die letzten 2 bereits geschlossenen Geschäfte (aus der Liste der Kontohistorie) auswählen?

Sie sollte in etwa so aussehen

Wie schreibe ich den richtigen Parameter für die Auswahl?

Die letzten beiden Aufträge haben die Nummern OrdersHistoryTotal()-1 und OrdersHistoryTotal()-2.


Hier ist ein Skript zum Testen

int start()
{
   int i, accTotal=OrdersHistoryTotal();
   for( i=0; i< accTotal; i++)
   {
     if(OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)==false)
       {
        Alert("Ошибка при доступе к исторической базе (",GetLastError(),")");
        break;
       }
     Alert( i,":",TimeToStr(OrderCloseTime()));  
   }
}

>> Viel Glück!

 
alsu >> :

der Code ist recht grob.

Siehe: i=Bars-Period1+1 bei der ersten Iteration der Schleife, wir erhalten k=i+Period1-1=Bars-Period1+1+Period1-1=Bars und dann Close[k], was bedeutet, dass wir bereits aus dem Array heraus sind.

Richtig: i=Bars-Periode1-1

..................

Gibt es eine Möglichkeit, das Maximum (Minimum) des Verhältnisses close[i]/close[i+1] zu finden, ohne Arrays zu verwenden? Ich danke Ihnen!

 
Mr-Franklyn >> :

Gibt es eine Möglichkeit, das Maximum (Minimum) der close[i]/close[i+1]-Beziehung zu finden, ohne Arrays zu verwenden? Danke!

die Frage ist, wo zu schreiben, was das Maximum gesucht wird. dies ist in der Regel ein Array genannt:) ArrayMax(in)imum ist optimal

 
alsu >> :

die Frage ist, wo zu schreiben, was das Maximum gesucht wird. dies ist in der Regel ein Array genannt:) ArrayMax(in)imum -optimal

Und wenn Sie es in einen Puffer schreiben?

 
Mr-Franklyn >> :

Gibt es eine Möglichkeit, das Maximum (Minimum) des Verhältnisses close[i]/close[i+1] zu finden, ohne Arrays zu verwenden? Ich danke Ihnen!

Wenn ich die Frage richtig verstanden habe. Sie können nicht mit close[i] experimentieren, sondern so:

макс= iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH, Cbar,0));
мин= iLow (NULL,0,iLowest (NULL,0,MODE_LOW, Cbar,0));  

wobei Cbar, -Anzahl der letzten Takte, unter denen ein Extremwert gesucht wird

 
rid >> :

Wenn ich die Frage richtig verstanden habe. Es ist möglich, nicht mit engen, aber so zu experimentieren:


wobei Cbar die Anzahl der letzten Takte ist, unter denen nach dem Extremwert gesucht wird

Es ist der absolute Wert des Verhältnisses Prace[i]/Price[i+1], der mich interessiert.

 
Mr-Franklyn >> :

Was ist, wenn Sie es in einen Puffer legen?

Ist ein Puffer nicht ein Array?

 
alsu >> :

Ist ein Puffer nicht ein Array?

Ja, aber wenn ich Buffer[i]=close[i]/close[i+1] schreibe und dann die Funktion iHighest verwende, funktioniert nichts!!!!

 
Mr-Franklyn >> :

Ja, aber wenn ich Buffer[i]=close[i]/close[i+1] schreibe und dann die Funktion iHighest verwende, passiert nichts!!!!

weil iHighest nur mit Zeitreihen arbeitet. Für andere Arrays analog zu ArrayMaximum

 
double Buffer[];

int init()
{
   SetIndexBuffer(0, Buffer);
}

int start()
{
for( i= start; i>=0; i--)
{
   Buffer[ i]=Close[ i]/Close[ i+1];
   double max= Buffer[ArrayMaximum( Buffer, period, i)];
   double min= Buffer[ArrayMinimum( Buffer, period, i)];
   double stddev=iStdDevOnArray( Buffer, period,8,0,MODE_EMA, i);
//TODO
}
///TODO
}