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

 

Alp:

Ich entschuldige mich für die dumme Frage, aber trotzdem.

Ich kann es nicht verstehen. Nehmen wir an, ich kaufe (d.h. mache ein Kaufgeschäft) für $1.000.000 oder einen anderen Betrag von EURUSD, so dass das Diagramm merklich springt.

Und die Frage ist, wohin wird es nach einem solchen Deal gehen - nach oben oder nach unten (ein einziger Sprung von meinem Deal)? Ich denke, sie wird steigen. Denke ich richtig?

Dimka-novitsek:

Ja, das sehe ich auch so. Denn nehmen wir an, Sie haben den Euro gekauft, und es ist weniger davon auf dem Markt, weil ein Teil davon in Ihrem Schließfach bleibt. Das bedeutet, dass der Marktpreis für sie steigen wird!

Dann wird es noch unklarer. Sagen wir, ich kaufe EUR für 1 000 000 (1k) Dollar (Broker multipliziert dies mit 100 und als Ergebnis das Geschäft ist für 100k) Chart springt 100 Punkte nach oben und sofort verkaufen sie und ich bin auf der Plus-Seite für 10 000 Dollar gut dort Kommission Broker und Spread als Ergebnis 6000$ netto in meiner Tasche. (Nun, es ist klar, dass er nach dem Verkauf wieder um 100 Punkte fallen wird.) Das ist Unsinn!!!! Vielleicht fällt es doch noch auf den Boden? Andernfalls würden sehr große Akteure Milliarden verdienen, die im Grunde nichts tun.

 
Roman.:

Leute, könnt ihr diese Frage beantworten?

Hier ist ein Skript zur Ermittlung der maximalen Größe des Zick-Zack-Spiels von crenfx - siehe hier:

Ich werfe es auf den Chart des Instruments auf M5 - es funktioniert gut mit dem Standard-Zeitrahmen

es ist die maximale Tiefe der Historie für das Symbol im Alpari-Büro, wenn es mit F2 geladen wird - ich habe es überprüft, d.h. es sieht aus wie der Inhalt der Registerkarte "Experten" des Client-Terminals - es scheint zu stimmen:

Wenn ich das gleiche Skriptdesign in meinem EA für das gleiche Zeitintervall auf dem gleichen M5-Chart verwende, wird es nicht korrekt gezählt, d.h..

berechnet er ganz andere (kleinere als im Skript) Zahlen oder 0. Worin kann der Fehler bestehen oder kann es sich um eine Art von historischer Inkonsistenz handeln? Ich danke Ihnen.

D.h., ich starte im Tester mit owl nach der geschätzten Zeit für das Finden eines Failsafe, theoretisch ist alles normal und die Zahlen am Ende des Skripts und owl sollten gleich sein... Worin könnte der Fehler liegen?


Überprüfen Sie die Anzahl der Balken im Prüfgerät. Beim Start sollte es 1000 sein, wenn es natürlich vorhanden ist
 
Vinin:

Überprüfen Sie die Anzahl der Balken im Prüfgerät. Beim Start sollte es 1000 sein, wenn es natürlich vorhanden ist.

Wie kann dies überprüft werden?
 
Print("Bars=", Bars);
 
Vinin:
Print("Bars=", Bars);

Ich hab's. Danke. Ich werde es überprüfen.
 
Meine Herren, könnten Sie mir ein Beispiel für die Funktion geben, die eine offene Position zum Breakeven bewegt (Arbeit auf Tick), mein Expert Advisor hat ein Schleppnetz, der Beginn dieses Schleppnetzes ist erst nach der Funktion des Rollover zu kaufen. Ich möchte diesen Artikel als Beispiel für einen solchen EA verwenden.
 

Bitte sagen Sie mir, warum in diesem Code die externe Variable Lots111 ihren Wert ständig erhöht, mit einer unbekannten Zahl multipliziert und zu 4354354664450000000000000000 wird.

Die Variable Lots111 wird außer in diesem Codefragment nirgendwo anders verwendet. Lots111 ist gleich 0,01, während die Variable dcou gleich 2-3 ist. Um genau zu sein, habe ich festgestellt, dass sie mit jedem neuen Balken zunimmt; ich kann nicht verstehen, warum. Wie ist es möglich, dass eine externe Variable, die nirgendwo anders verwendet wird, ihren Wert beibehält und bei jedem Balken steigt, höchstwahrscheinlich multipliziert mit 2.

double fGetLots(int a_cmd_0) {
   int dcou;
   dcou = AccountBalance()/2000;
   Lots111 = Lots111*dcou;
   int i11;
   int orders;
   
   for(i11=0;i11<OrdersTotal();i11++)
     {
     if(OrderSelect(i11,SELECT_BY_POS,MODE_TRADES) == true)
       {
       if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
         {
         orders++;
         }
       }
     }
   static double Lots2;
   
   if(orders == 0)
     {
     Lots2 = Lots111;
     }
   Comment(Lots111,"\n",Lots2,"\n",orders,"\n",dcou);
   double l_lots_4;
   int l_datetime_12;
   switch (gi_256) {
   case 0:
      l_lots_4 = Lots2;
      break;
   case 1:
      l_lots_4 = NormalizeDouble(Lots2 * MathPow(MultiLotsFactor, gi_360), gd_240);
      break;
   case 2:
      l_datetime_12 = 0;
      l_lots_4 = Lots2;
      for (int l_pos_20 = OrdersHistoryTotal() - 1; l_pos_20 >= 0; l_pos_20--) {
         if (OrderSelect(l_pos_20, SELECT_BY_POS, MODE_HISTORY)) {
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
               if (l_datetime_12 < OrderCloseTime()) {
                  l_datetime_12 = OrderCloseTime();
                  if (OrderProfit() < 0.0) l_lots_4 = NormalizeDouble(OrderLots() * MultiLotsFactor, gd_240);
                  else l_lots_4 = Lots2;
               }
            }
         } else return (-3);
      }
   }
   if (AccountFreeMarginCheck(Symbol(), a_cmd_0, l_lots_4) <= 0.0) return (-1);
   if (GetLastError() == 134/* NOT_ENOUGH_MONEY */) return (-2);
   return (l_lots_4);
}
 
sss2019:

Bitte sagen Sie mir, warum in diesem Code die externe Variable Lots111 ihren Wert ständig erhöht, mit einer unbekannten Zahl multipliziert und zu 4354354664450000000000000000 wird.

Die Variable Lots111 wird außer in diesem Codefragment nirgendwo anders verwendet. Ich habe Lots111 gleich 0,01 und die Variable dcou gleich 2-3.

Versuchen Sie manchmal, die Variablen zu initialisieren. Manchmal hilft das. Vor allem, wenn sie standardmäßig verwendet werden. Das heißt, der Wert ist nicht genau definiert, und sie werden multipliziert, durch sie geteilt. Auf die gleiche Weise können Sie auch die Division durch Null verdienen
 
Vinin:
Versuchen Sie manchmal, die Variablen zu initialisieren. Manchmal hilft das. Vor allem, wenn sie standardmäßig verwendet werden. Das heißt, der Wert ist nicht genau definiert, und sie werden multipliziert, durch sie geteilt. Auf die gleiche Weise können Sie auch die Division durch Null verdienen


Können Sie dies näher erläutern? Ich glaube, ich habe es geschafft. Ich habe alle Variablen auf ihre ursprünglichen Werte zurückgesetzt, aber das Problem bleibt bestehen.
 
sss2019:

Dies ist zu tun, bitte erklären Sie genauer. Ich glaube, ich habe es geschafft. Ich habe alle Variablen auf ihre ursprünglichen Werte zurückgesetzt, aber das Problem bleibt bestehen.

Du hast Code aus einem EA herausgerissen (ihn vorher gehackt), aber das ist nicht wichtig (zumindest hast du versucht, ihn zu verstehen). Aber Sie hätten auf seiner Grundlage eine eigene Website erstellen sollen, die Sie leicht hätten finden können. Und dann hätten Sie keine Probleme mehr gehabt. Arbeiten Sie mit Ihrem Kopf.
Grund der Beschwerde: