Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 834

 
Vladimir Pastushak:


Das ist falsch, und die anderen Beispiele sind es auch.

Wenn Sie einen Stopp bei 1,2356 setzen und beim neuen Tick wieder einen Stopp bei 1,2356 setzen, erhalten Sie Fehler 1

Dies ist aus dem ersten Block. Ich habe sie geändert, aber der Fehler blieb. Diese Bedingung mit einem Stopp wurde eingeführt, damit der EA keine unnötigen Überholvorgänge vornimmt. Und bei einem neuen Tick wird der EA nicht wieder denselben Stop setzen - denn nach dieser Bedingung prüfe ich andere Bedingungen, zum Beispiel, ob der Stop gleich dem Wert ist, den ich setzen möchte.

 
Alexandr Sokolov:

Dies ist aus dem ersten Block. Ich habe sie geändert, aber der Fehler bleibt. Ich habe diese Bedingung mit einem Stopp versehen, um zu verhindern, dass der EA unnötige Durchläufe macht. Und bei einem neuen Tick setzt der EA nicht wieder denselben Stop - denn nach dieser Bedingung werden die anderen geprüft, zum Beispiel, ob der Stop gleich dem zu setzenden Wert ist

OrderStopLoss()

Alle Bestellung...... () muss normalisiert werden

 
Vladimir Pastushak:

Alle Bestellung...... () muss normalisiert werden.

Das habe ich getan - und es hat auch nicht geholfen. Zur gleichen Zeit, wie zuvor habe ich nicht diesen Fehler in der Tester, und MQL irgendwie findet es

 
Wo soll die Textdatei gespeichert werden, damit sie von einem anderen Terminal aus gelesen werden kann?
 
yiduwi:
Welcher Pfad sollte zum Speichern einer Textdatei verwendet werden, damit sie von einem anderen Terminal aus gelesen werden kann?

ENUM_TERMINAL_INFO_STRING

Kennung

Beschreibung

Art der Immobilie

TERMINAL_SPRACHE

Terminal-Sprache

String

TERMINAL_UNTERNEHMEN

Name des Unternehmens

String

TERMINAL_NAME

Name des Terminals

String

TERMINAL_PATH

Der Ordner, in dem das Terminal ausgeführt wird

String

TERMINAL_DATA_PATH

Ordner, in dem die Terminaldaten gespeichert sind

String

TERMINAL_COMMONDATA_PATH

Gemeinsamer Ordner aller auf dem Computer installiertenClient-Terminals

String


Документация по MQL5: Проверка состояния / TerminalInfoString
Документация по MQL5: Проверка состояния / TerminalInfoString
  • www.mql5.com
Проверка состояния / TerminalInfoString - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
 
Artyom Trishkin:

Ich danke Ihnen.

 
Seric29:
Wer kann helfen, das Problem zu lösen https://www.mql5.com/ru/forum/160683/page833#comment_11584454?

Machen Sie ein Eins-zu-Eins-Beispiel aus dem Artikelhttps://www.mql5.com/ru/articles/18

die Codes aus dem Artikel funktionieren 100% in mt4, ich habe es im Januar dieses Jahres überprüft

Oder Sie haben ein Projekt für eine 64-Bit-DLL kompiliert, das MT4-Terminal ist 32-Bit, Sie müssen das Projekt für eine 32-Bit-DLL konfigurieren und kompilieren.

Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
  • www.mql5.com
Так уж сложилось, что сейчас мало кто из разработчиков помнит, как написать простую DLL библиотеку и в чем особенности связывания разнородных систем. Я постараюсь за 10 минут на примерах показать весь процесс создания простых DLL библиотек и раскрою некоторые технические детали нашей реализации связывания. Демонстрация будет на примере Visual...
 

Hallo, liebe Forumsnutzer.

Können Sie bitte erklären, in welchen Fällen der Code richtig und in welchen nicht richtig geschrieben ist und warum (siehe unten)?

for (z=OrdersTotal()-1; z>=0; z --)
    {
      OrderSelect (z, SELECT_BY_POS);
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderMagicNumber()!=MAGIC) continue;
      if(OrderType()==OP_BUY)  CloseBUY();
    }
for(int i=OrdersTotal()-1;i>=0;i--)
            {
            if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
            {
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
             {
             if(OrderType()==OP_BUY)  CloseBUY();
             }
            }
            }

Wenn möglich, mit mehr Details. Ich danke Ihnen.

 
novichok2018:

Hallo, liebe Forumsnutzer.

Können Sie bitte erklären, in welchen Fällen der Code richtig und in welchen nicht richtig geschrieben ist und warum (siehe unten)?

Wenn möglich, mit mehr Details. Ich danke Ihnen.

Sogar der Compiler wird Sie im ersten Fall darauf hinweisen,dass "das Ergebnis von OrderSelect geprüft werden muss" ;-)

Wenn Sie für die erste if (!OrderSelect(...)) fortsetzen; die Optionen sind identisch.

Im ersten Fall ist der Code visuell linear, im zweiten Fall sieht er wie eine Treppe aus. Ich bevorzuge die erste Variante, sie ist einfacher zu lesen und im Allgemeinen ist das Auftreten von tiefen logischen Tabs {{{{ }}}} ein Hinweis darauf, dass es Zeit ist, etwas zu ändern :-)