[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 43

 
sergeev:

Deal zu einer bestimmten Zeit


1
Mega4alik 03.08.2011 17:34

Wie schreibe ich einen EA, der ein Geschäft zu einer bestimmten Sekunde öffnet?

Mir fällt nichts anderes ein als "Start", aber es öffnet sich nur, wenn sich der Preis ändert, und das brauche ich in einer Sekunde

Und was ist, wenn es in dieser Sekunde zu einer kurzen Unterbrechung der Verbindung kommt? Und dieses Phänomen ist bei allen Maklern sehr verbreitet.

if(ZeitStunde(Vorzeit)==1 && ZeitMinute(Vorzeit)==1 && ZeitSekunden(Vorzeit)==1)
{
Funktion "Auftrag öffnen
}

prevtime=TimeCurrent();

Sie müssen den gesamten Start wiederholen:


int start()
{
while(!IsStopped())
{

RefreshRates();

alle Operationen

}

}

 
demlin:
...Strg+Alt+M zum Einfügen von Code verwendet, aber es funktioniert nicht. SRC kann es nicht finden, sorry, bitte.
Wie man einen Beitrag erstellt, Programmcode, Bild, Video einfügt
 
 

demlin, d.h. wird die zweite Bedingung in jedem Fall erfüllt sein?



 
if (x2==x1) return(y1);
else
return((y2-y1)/(x2-x1)*(x-x1)+y1);}
 
nuan:

ist der Sinn der Sache - den Wert von
 
demlin Sie versuchen, zuerst einen Wert zurückzugeben
return(y1);
потом сразу другое
return((y2-y1)/(x2-x1)*(x-x1)+y1);
а смысл у1 возвращать
 
nuan:
Sie versuchen, zuerst einen Wert zurückzugeben

y1 wird zurückgegeben, wenn x1=x2 ist, d.h. es gibt nur einen Punkt. Wenn es zwei Punkte gibt und x1 nicht gleich x2 ist, dann ist die Berechnung abgeschlossen.

Die Funktion ist in Ordnung, ich habe sie separat außerhalb der Schleife getestet - sie funktioniert korrekt.

 
nuan:

Was verstehst du nicht? Verwirren Sie den Mann nicht:

double EquationDirect(double x1, double y1, double x2, double y2, double x) 
{
  if (x2==x1) return(y1);              // Если х2 равно х1, то вычислять ничего не нужно, а просто вернуть значение y1
  return((y2-y1)/(x2-x1)*(x-x1)+y1);   // а тут вычисления нужны (х2 не равно х1), вычисляем значение по формуле уравнения прямой и возвращаем его
}

Ist das klarer?

 
demlin:

y1 wird zurückgegeben, wenn x1=x2 ist, d.h. es gibt nur einen Punkt. Wenn es zwei Punkte gibt und x1 nicht gleich x2 ist, dann ist die Berechnung abgeschlossen.

Die Funktion ist in Ordnung, ich habe sie separat außerhalb der Schleife getestet - sie funktioniert korrekt

Geben Sie mir noch einmal das Codefragment des Indikators, in das Sie alles einfügen wollen. Aber... Sie brauchen den Puffer nicht zu vergrößern - Sie müssen den Zeiger auf die Pufferzelle verschieben, in die Sie den Wert setzen wollen.

Grund der Beschwerde: