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

 
Andrey I.R.O.V #:
Bitte sagen Sie mir, wenn jemand weiß, wie man MT4 oder MT5 mit PHP verbinden? Der Handelsroboter sollte auf dem Server arbeiten, Kurse von einem Broker anfordern und Aufträge erstellen/stornieren/überwachen. Der Broker hat nur MT4 und MT5 Terminals, er hat keine API :) Oder bin ich dumm und es passiert gar nicht?

getan werden kann. Alles ist machbar.

Aber es ist garantiert, dass es in php langsamer wird, es ist nicht für solche Zwecke konzipiert.

Und dann die MQL-Syntax ist fast die gleiche, wissen php können Sie mql in einer Woche zu meistern.

 
MakarFX #:
Sie benötigen nicht den gesamten Code, sondern nur OrderSend

es ist also ziemlich einfach

ticket = OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "open buy order", Magic, 0, Blue);

oder

ticket = OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "open Sell order", Magic, 0, Red);


Die Situation ist, dass ich immer noch diese oder jene Operationen durch bool verbinden. Und davon gibt es eine ganze Menge. Ich sagte doch, es ist einfacher für mich, Unnötiges zu entfernen.

 
Alexey Viktorov #:

Einfacher ist es, selbst einen Druck mit den Bedingungen für die Eröffnung eines Auftrags einzufügen. Höchstwahrscheinlich werden die Bedingungen für die Auftragseröffnung gespeichert, nachdem der erste Auftrag eröffnet wurde. Zum Beispiel ist die Anzahl der offenen Aufträge == 0 und nachdem der erste Auftrag eröffnet wurde, hat sich dieser Wert nicht geändert...

Der Sinn Ihrer Vermutung ist klar, wahrscheinlich ist es so, aber wie findet man diese "Rettung" praktisch? Der Code ist riesig.

 
Порт-моне тв #:

es ist also ziemlich einfach

ticket = OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "open buy order", Magic, 0, Blue);

oder

ticket = OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "open Sell order", Magic, 0, Red);


Die Situation ist, dass ich immer noch diese oder jene Operationen durch bool verbinden. Und davon gibt es eine ganze Menge. Ich sage Ihnen, es ist einfacher für mich, Unnötiges zu entfernen.

Nur ein Hinweis: Die Lose müssen ausgerichtet werden. Selbst wenn es sich nur um eine Multiplikation mit einer ganzen Zahl handelt.

 
Maxim Kuznetsov #:

Nur ein Hinweis: Die Lose müssen ausgerichtet werden. Selbst wenn man nur mit einer ganzen Zahl multipliziert

Was ist "Anpassung"? Danke natürlich, aber das ist es nicht, was mich stört.

 
Порт-моне тв #:

Ich verstehe den Kern Ihrer Vermutung, so funktioniert es wahrscheinlich, aber wie findet man praktisch diese "Speicherung"? Der Code ist riesig.

Hier sind die Drucke, die Ihnen helfen, sie zu finden...

 
Alexey Viktorov #:

Die Drucke werden Ihnen helfen, sie zu finden...

Nun, ich kann aus der Historie des Testers ersehen, wo, wann und mit welchen Parametern. Was ist los?

 
Maxim Kuznetsov #:

getan werden kann. Alles ist machbar.

Aber es ist garantiert, dass es in php langsamer wird, es ist nicht für solche Zwecke konzipiert.

Und dann die MQL-Syntax ist fast die gleiche, wissen php können Sie mql in einer Woche zu meistern.

Danke für die Tipps, es ist schon ein bisschen klarer in meinem Kopf, wie und was zu tun ist. Ich kann es auch in MQL machen, solange es ein VPS ist.
 

Leute, kein Grund, überflüssig zu sein. Einfach zwei Aufträge mit dem gleichen Preis, der gleichen Menge und der gleichen Öffnungszeit entfernen, und das war's! Das wird reichen! Im Testgerät ist das von 100000 Aufträgen tatsächlich 4 Mal passiert. Das heißt, es kommt extrem selten vor, aber wegen einer solchen Doublette ist die Strategie weggefallen.

 
Порт-моне тв Öffnungszeit entfernen, und das war's! Das wird reichen! Im Testgerät ist das von 100000 Aufträgen tatsächlich 4 Mal passiert. Das heißt, es kommt sehr selten vor, aber eine solche Verdopplung ist passiert, und die Strategie wurde deshalb aufgegeben.

Wenn Sie dies tun, kommt es zu keiner Verdoppelung.

if(OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "открыт ордер на покупку", Magic, 0, Blue))
   {Print("OpenBuy");}
if(OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "открыт ордер на продажу", Magic, 0, Red))
   {Print("OpenSell");}
Grund der Beschwerde: