bool ExistPositions(int mn, string sy="", int op=-1) {
if (sy=="") sy=Symbol();
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS)) {
if (OrderMagicNumber()!=mn) continue;
if (OrderSymbol()!=sy) continue;
if (OrderType()>1) continue;
if (op<0 || OrderType()==op)
return(True);
}
}
return(False);
}
最初の非購入注文で、アカウントに購入注文が殺到することになります。
ありがとうございました。またもや間違い発見!
ありがとうございました。別のエラーを発見!
うんうん。
が、前作は直っていない。
注文開始を即座にループに入れることはできない。まずオーダーをフルループして、Buyがあるかないかを正確に調べる必要があります。
そして、そのサイクルの後に初めて、「買い」を入れるのです。
うんうん。
が、前作は修正されていなかった。
注文開始をすぐにループに入れることはできない。まず、注文をフルループして、BuyかNoかを正確に調べる必要があります。
そして、その後に初めて、まだなければ買いを入れるのです。
そうですね、プログラムのポスティをやり直さずにそのままパクっただけです。今すぐやる - 5分...
そうですね、プログラムのポスティをやり直さずにそのままパクっただけです。今すぐやる - 5分...
それは今?
この間は何のためにあるのか?
なぜ間が空くのか?
注文がすぐに実行されるわけではありません。次のティックで休止しないと、注文がまだ開かれていない可能性があり、プログラムはそれを開くために別のコマンドを送信します。MT5テスターでは、すでに実行遅延を入力することができます。
今は正しいのでしょうか?
アイテムの有無の検索を別の機能にしてみましたか?
例えば、こんな感じです。
マジック - EAのマジックナンバー(設定で設定、またはEAが自動的に生成)。そして、現在のシンボルによる位置Buyがないことを確認するために、書き込む必要があります。
注 - 単に買い注文を開くコマンドではなく、注文を開くためのすべてのパラメータとサーバーから返されるエラーを処理する完全な機能です。
しかし、テスターとしては、入力されたパラメータが有効な値であるかどうかのチェックはしなくてもいいのですが...。
アイテムの有無の検索を別の機能にしてみましたか?
例えば、こんな感じです。
そして、現在のシンボルによる買いポジションの不在を確認するために、書き込む必要があります。
注 - 単に買い注文を開くコマンドではなく、注文の開始に関するすべてのパラメータとサーバーから返されるエラーを処理する完全な機能です。
しかし、テスターは入力されたパラメータが有効な値であるかどうかをチェックせずに行うことができる......。
最初の投稿で私は関数をあげましたが、kolyangoは それに満足しませんでした。また、マジシャンと一緒に仕事をするのは好きではありません。