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

 
evillive:
Versuchen Sie
Ich danke Ihnen.
 
evillive:
Nein, er hat dann darüber nachgedacht und entschieden, dass 140,15 oder 140,35 auch ein hoher Preis ist und vielleicht gebraucht wird. Der Kunde hat sich noch nicht entschieden, was er braucht, einfach ))))

artmedia70:
Na ja... Wenn er sich endlich entschieden hat, was er will, soll er anfangen zu denken ...


Guten Tag!

Die Herren sind sehr höflich, wenn man den Titel dieses Themas bedenkt.

Ich habe angefangen zu denken. Und ich habe erkannt, dass das, was Sie mir geraten haben, das Problem nicht löst.

Es gibt keinen Kunden))), ich schreibe für mich selbst. Die Aufgabe bestand im Wesentlichen darin, den Beraterpreis nach dem Komma zu erklären, bei dem die Aktion durchgeführt wird.

Der Preis kann XXX.01 oder XXX.34 sein - das spielt keine Rolle. XXX.00 habe ich als Beispiel angeführt.

Es stellte sich heraus, dass es ganz einfach war.

int start()                                   // Спец. функция start
  {
//----
   double Price, Level, Level_2;                 // Текущая цена и уровень для расчета
   Price=Bid;                                    // Запрашиваем цену
   Level=MathFloor(Bid);                         // Задаем уровень XXX.00
   Level_2 = MathFloor(Bid)+50*Point;            // Задаем уровень ХХХ.50
                              
//----
   if (Price==Level)                                      // Если цена на уровне ХХХ.00
     {
      Comment("Курс был равен  заданному уровню ", Level);    // Сообщение трейдеру
     }
     
   if (Price==Level_2)                                    // Если цена на уровне ХХХ.50
     {
      Comment("Курс был равен  заданному уровню ", Level_2);   // Сообщение трейдеру
     }
   
   return;// Выход из start()

"Level2" = 50 kann in externe Variablen übernommen werden und ein beliebiges Level setzen, das im Moment von Interesse ist.

Die Frage ist damit vom Tisch.

P.S. Das Beispiel bezieht sich auf Yen-Paare (zwei Dezimalstellen). Für 4 Ziffern sollte es ein wenig anders geschrieben werden (!Anfänger, bei Interesse einen Profi fragen)) ).

Ich schreibe nur sehr selten in Foren. Der Wunsch, Gewohnheiten zu ändern, ist nicht aufgekommen.


Ich wünsche Ihnen allen einen guten Tag und viel Glück.

 
Beeinflussen Warnungen und Ausdrucke im Code die Optimierungszeit?
D.h. weiß die Optimierung, wie sie umgangen werden können, oder muss dies auf Benutzerebene geschehen?
 
chief2000:
Beeinflussen Warnungen und Ausdrucke im Code die Optimierungszeit?
D.h. weiß die Optimierung, wie sie umgangen werden können, oder muss dies auf Benutzerebene geschehen?


Auswirkung, insbesondere wenn Sie das Ergebnis einer zeitintensiven Berechnung ausgeben. Fügen Sie besser eine IsOptimization()-Prüfung vor den Warnmeldungen ein.
 
evillive:

Das ist der Fall, vor allem, wenn Sie das Ergebnis einer zeitaufwändigen Berechnung ausgeben. Es ist besser, die Prüfung IsOptimization() vor den Warnmeldungen einzufügen.

Ich meinte die Befehle Alert und Print selbst und nicht die Berechnungen für die Ausgabe. Sie sind während der Optimierung nicht von Nutzen, aber können sie vom Optimierer automatisch deaktiviert werden oder nicht? (Jede zusätzliche Prüfung wirkt sich auch auf die Geschwindigkeit der Optimierung aus).
 
chief2000:

Ich bezog mich nicht auf die Ausgabeberechnungen, sondern auf die Befehle Alert und Print selbst. Sie sind während der Optimierung nicht von Nutzen, aber werden sie vom Optimierer automatisch deaktiviert oder nicht? (jede zusätzliche Prüfung wirkt sich auch auf die Geschwindigkeit der Optimierung aus)


Sowohl Alert, Print als auch Check haben eine Auswirkung. Aber die Kontrolle ist weniger zeitaufwändig.
 
evillive:

Sowohl die Ausschreibung als auch der Druck und die Kontrolle sind davon betroffen. Aber die Kontrolle ist weniger zeitaufwändig.

Soweit ich weiß, werden Warnung und Druck im Optimierungsmodus (nicht beim Testen) vom Tester einfach übersprungen, so dass sie keine Auswirkungen haben... MarketInfo hat einen viel größeren Einfluss auf die Geschwindigkeit, es kann den Prozess wirklich verlangsamen. Es hilft wirklich if(IsTesting()) und if(IsOptimization()); zum Beispiel, wenn das Programm ständig überwacht die aktuelle Ausbreitung, ist es nicht in der Tester notwendig.

 
alsu:

Soweit ich weiß, werden Warnung und Druck im Optimierungsmodus (nicht beim Testen) vom Tester einfach übersprungen, so dass sie keine Auswirkungen haben... MarketInfo hat einen viel größeren Einfluss auf die Geschwindigkeit, es kann den Prozess wirklich verlangsamen. Es hilft hier wirklich if(IsTesting()) und if(IsOptimization()); zum Beispiel, wenn das Programm ständig die aktuelle Ausbreitung kontrolliert, gibt es keine Notwendigkeit in Tester.


Wenn dies nicht behoben wird, können die Kommentare das MT wirklich verlangsamen.
Über MarketInfo - meinen Sie den Befehl selbst? Und zum Beispiel die Verwendung von Bid/Ask (in seiner reinen Form, für das aktuelle Symbol)?
 
chief2000:

Wenn dies nicht behoben wird, können Kommentare MT wirklich ausbremsen.
Bezüglich MarketInfo - beziehen Sie sich direkt auf den Befehl selbst? Und zum Beispiel mit Bid/Ask (in seiner reinen Form, für das aktuelle Symbol)?

Im Testgerät funktioniert MarketInfo() nicht, und Bid und Ask sind langsam und verzerrt. Auf Anraten von Xrust erhalte ich sie also von iClose(NULL,0,0):

  if(IsOptimization() || IsTesting() || IsVisualMode())
  {
    Spread = 21; 
    spr = NormalizeDouble(Spread*Point,Digits);
    bid = NormalizeDouble(iClose(Symbol(),0,0),Digits);
    ask = NormalizeDouble(iClose(Symbol(),0,0)+spr,Digits);
  }
  else
  {
    Spread = MarketInfo(Symbol(),MODE_SPREAD);
    spr = NormalizeDouble(Spread*Point,Digits);
    bid = MarketInfo(Symbol(),MODE_BID);
    ask = MarketInfo(Symbol(),MODE_ASK);
  }
 
borilunad:

Im Testgerät funktioniert MarketInfo() nicht, und Bid und Ask sind langsam und verzerrt. Deshalb hole ich sie auf Anraten von Xrust aus iClose(NULL,0,0):


Krücken, imho.