初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 548 1...541542543544545546547548549550551552553554555...1503 新しいコメント Vitalii Ananev 2016.04.01 10:52 #5471 edutak:最初のバージョンは非常に生存率が高いことが証明されたので、コードは見せたくないんだ。10年間、最適化することなく存続してきた。今度はもう少し複雑にして、利益を出したいと思っています。コードはとてもシンプルです。それでも、ロジックに誤りがあるため、1ティックごとに注文が開設されることがあります。ポジションを開く 前に、すでに開いているかどうかを確認します。 削除済み 2016.04.01 11:00 #5472 Vitalii Ananev: ポジションを開く 前に、すでに開いているかどうかを確認する。 そうだろ?for(int pos=0; pos<OrdersTotal(); pos++) { OrderSelect(pos,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magik) kolpos++; } 削除済み 2016.04.01 11:03 #5473 閉店前はこんな感じです。 if(OrdersTotal()!=0) if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) if(OrderType()==OP_BUY) Vitalii Ananev 2016.04.01 11:12 #5474 edutak: そうだろ? for(int pos=OrdersTotal()-1; pos>=0; pos--) { if(!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magik) kolpos++; }こんな感じです。関数にしたほうがいい。int CountOrder(string Smb,int Magik) { int Total = OrdersTotal(); if (Total==0) return(0); int kolpos = 0; for(int pos=Total-1; pos>=0; pos--) { if(!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) continue; if(OrderSymbol()==Smb && OrderMagicNumber()==Magik) kolpos++; } return(kolpos); } Vitalii Ananev 2016.04.01 11:19 #5475 edutak:閉店前はこんな感じです。 閉じる前にマジコンやシンボルのチェックがないんですね。他のEAのトレードや手動で開いたトレードをクローズすることができます。 削除済み 2016.04.01 11:28 #5476 Vitalii Ananev: こんな感じです。いいえ、問題は解決していません。このユニットにはありません。私のオプションとあなたのオプションの違いを説明してもらえますか? Vitalii Ananev 2016.04.01 11:35 #5477 edutak:いいえ、問題は解決していません。このユニットにはありません。私のオプションとあなたのオプションの違いを説明してもらえますか?それなら、何か間違ったことをしていることになります。私のはもっと良いですよ :)...これで注文を逃すことはありません。あなたのバージョンでは、その瞬間にどこかのポジションがクローズされたり、注文が削除されたりした場合、残りのいくつかをスキップすることができます。 削除済み 2016.04.01 11:45 #5478 Vitalii Ananev:だから、あなたは何か間違ったことをしている、あなたのコードを処理します。私のはもっと良いですよ :)...これで注文を逃すことはありません。あなたのバージョンでは、その時点でいくつかのポジションがクローズされたり、注文が削除されたりした場合、残りのいくつかをスキップすることができます。グローバル変数 として宣言したのですが、エラーになります。int CountOrder; Vitalii Ananev 2016.04.01 11:49 #5479 edutak:グローバル変数 として宣言したのですが、エラーになります。私があなたに書いたものは、機能です。ここでは、その使い方の一例をご紹介します。int Count = CountOrder(Symbol(),12345); if (Count==0) { //можно открывать } 削除済み 2016.04.01 11:59 #5480 Vitalii Ananev:私があなたに書いたものは、機能です。ここでは、その使い方の一例をご紹介します。 コンフュージョン 1...541542543544545546547548549550551552553554555...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
最初のバージョンは非常に生存率が高いことが証明されたので、コードは見せたくないんだ。10年間、最適化することなく存続してきた。今度はもう少し複雑にして、利益を出したいと思っています。
コードはとてもシンプルです。
それでも、ロジックに誤りがあるため、1ティックごとに注文が開設されることがあります。
ポジションを開く 前に、すでに開いているかどうかを確認する。
閉店前はこんな感じです。
そうだろ?
こんな感じです。
関数にしたほうがいい。
閉店前はこんな感じです。
こんな感じです。
いいえ、問題は解決していません。このユニットにはありません。
私のオプションとあなたのオプションの違いを説明してもらえますか?
いいえ、問題は解決していません。このユニットにはありません。
私のオプションとあなたのオプションの違いを説明してもらえますか?
それなら、何か間違ったことをしていることになります。
私のはもっと良いですよ :)
...
これで注文を逃すことはありません。あなたのバージョンでは、その瞬間にどこかのポジションがクローズされたり、注文が削除されたりした場合、残りのいくつかをスキップすることができます。
だから、あなたは何か間違ったことをしている、あなたのコードを処理します。
私のはもっと良いですよ :)
...
これで注文を逃すことはありません。あなたのバージョンでは、その時点でいくつかのポジションがクローズされたり、注文が削除されたりした場合、残りのいくつかをスキップすることができます。
グローバル変数 として宣言したのですが、エラーになります。
int CountOrder;
グローバル変数 として宣言したのですが、エラーになります。
私があなたに書いたものは、機能です。
ここでは、その使い方の一例をご紹介します。
私があなたに書いたものは、機能です。
ここでは、その使い方の一例をご紹介します。