MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1709

 
Andrey I.R.O.V #:
MT4やMT5をPHPで接続する方法をご存知の方がいらっしゃいましたら、教えてください。取引ロボットは、サーバー上で動作し、ブローカーに見積もりを要求し、注文を作成/キャンセル/監視する必要があります。ブローカーはMT4とMT5のターミナルしか持っておらず、APIは持っていない :)それとも、私がバカだから全く起きないのでしょうか?

ができる。何でもできる。

しかし、phpでは遅くなることが保証されており、そのような目的のために設計されたものではありません。

それから、MQLの構文もほとんど同じで、PHPを知っていれば、1週間でMQLをマスターすることができます。

 
MakarFX #:
すべてのコードが必要なわけではなく、OrderSendだけが必要です。

ということで、ごくごく単純に

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

または

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


状況は、私はまだboolを介してそれらまたはそれらの操作を接続しています。そして、その数は多い。だから、不要なものを排除したほうが楽だって言ったじゃないですか。

 
Alexey Viktorov #:

自分で注文を開くための条件を書いたPrintを挿入する方が簡単です。ほとんどの場合、最初の注文が開かれた後に、注文の開始条件が保存されます。例えば、未決済注文数==0、最初の注文を出した後、この値は変化していない...とします。

推測の意味は理解できた、おそらくこうなるのだろうけど、現実的にこの「救い」を見つけるにはどうしたらいいのか。コードが膨大になる。

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

ということで、ごくごく単純に

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

または

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


状況は、私はまだboolを介してそれらまたはそれらの操作を接続しています。そして、その数は多い。不要なものを排除する方が楽だと言っているんです。

ただ、注意点として、ロットは必ず揃えてください。整数との掛け算だけでも

 
Maxim Kuznetsov #:

ただ、ロットは揃える必要があります。整数倍するだけでも

アライメントとは?もちろん、ありがとうございます。でも、私が悩んでいるのはそんなことではありません。

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

あなたの推測の大筋はわかりました。おそらくそういうことなのでしょうが、実際、この「保存」を見つけるにはどうしたらいいのでしょう。コードが膨大になる。

ここでは、そのプリントをご紹介します...

 
Alexey Viktorov #:

プリントで探すと...。

まあ、テスターの履歴を見れば、いつ、どこで、どんなパラメータを使っているかはわかるんですけどね。どうしたんですか?

 
Maxim Kuznetsov #:

ができる。何でもできる。

しかし、phpでは遅くなることが保証されており、そのような目的のために設計されたものではありません。

それから、MQLの構文もほとんど同じで、PHPを知っていれば、1週間でMQLをマスターすることができます。

ヒントをありがとうございます。どうすればいいのか、何をすればいいのか、すでに頭の中で少しクリアになっています。VPS上であれば、MQLでも可能です
 

みんな、冗長にならないようにね。同じ価格、ロット、開始時刻の 2つの注文を削除するのと同じです。それで十分でしょう!テスターでは、10万件の注文のうち、本当に4回発生しました。つまり、極めて稀に起こることなのだが、そんなダブレットが1つあったために、戦略が遠ざかってしまったのだ。

 
Порт-моне тв 開始時刻の 2つの注文を削除するのと同じです。それで十分でしょう!テスターでは、10万件の注文のうち、本当に4回発生しました。つまり、ごくまれにしか起こらないのだが、そんなダブルが1回起こり、そのために戦略が遠ざかってしまったのだ。

こうすれば、ダブリはありません。

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");}