EAが複数のペアで実行されない、助けが必要 - ページ 4 12345 新しいコメント Keith Watford 2016.12.14 02:45 #31 whroeder1 2016.12.14 03:35|74.162.37.113禁止 #5 EN Keith Watford: オープンオーダーをループして、EAのマジックナンバーとチャートシンボルを持つトレードだけをカウントする。 その通りで、最後の投稿は そうではありません。 Keith Watford 2016.12.14 02:48 #32 他のトピックは、このトピックと同じ内容でしたので、削除しました。削除する前にWHRoederさんのコメントをコピーしてここに貼り付けました Matt_Townsend 2016.12.14 02:55 #33 Keith Watford: 他のトピックは、このトピックと同じ内容でしたので、削除しました。WHRoederのコメントをコピーして、ここに貼り付けてから削除しました。 ループはcloseorderの時と同じようなフレームにすればいいのでしょうか、またその場合、プログラムは注文をカウントアップまたはダウンさせればいいのでしょうか? Keith Watford 2016.12.14 05:36 #34 int buy_count=0; int sell_count=0; for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { buy_count++; } if(OrderType()==OP_SELL) { sell_count++; } } }というようなもの。私は特別な理由がない限り、いつもカウントダウンしています。 William Roeder 2016.12.14 13:43 #35 これで、MNとシンボルでフィルタリングするOrderSelect ループができました。さて、どのMNで取引を開始するの でしょ うか? Matt_Townsend 2016.12.15 05:05 #36 Matt_Townsend: ループはcloseorderと同じようなもので、注文をカウントアップ、ダウンさせるべきでしょうか? 注文のクローズ機能とオーダーエンド 機能の両方にループ機能を持たせていますが、まだ独立した取引はできていません。ストラテジーテスターで見る限り、設定したパラメータで取引を開始し終了していますが、ライブデモの複数のチャートでは動作しません。 Keith Watford 2016.12.15 05:56 #37 Matt_Townsend: ということで、現在オーダークローズ関数とオーダーエンド関数の 両方にループ関数をつけているのですが、まだ単独で取引してくれません。ライブデモでは複数のチャートで動作しませんが、ストラテジーテスターで見る限り、設定したパラメータで取引開始、終了しているのは変わりません。EAごとにマジックナンバーが違うのでしょうか?今使っているループを表示してください。 Matt_Townsend 2016.12.15 14:32 #38 Keith Watford:EAごとにマジックナンバーが違うのでしょうか?今使っているループを表示してください。for(int i=OrdersTotal();i<=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) break; if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue; //--- Check for buy order if(fastma > slowma) { if(OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",MagicNumber,0,Blue)) Print("Buy order opened :", OrderOpenPrice()); else Print("Order failed to open : ", GetLastError()); return(0); } //--- Check for sell order if(fastma < slowma) { if(OrderSend(Symbol(),OP_SELL,Lots,Bid,10,0,0,"",MagicNumber,0,Red)) Print("Order opened : ", OrderOpenPrice()); else Print("Order failed to open : ", GetLastError()); return(0); } break; } オーダーエンドループはこちら MNを外部intとして持っているので、EAを置くチャートごとに変えることができるのと同様に。 EA will not run My script does not [Archive!] Any rookie question, William Roeder 2016.12.15 15:01 #39 まず、あなたは if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) これは正しいです。しかし、あなたは持っています ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",0,0,Blue); どちらが正しいのでしょうか?そして、あなたは私の質問を無視しました。その後、あなたは静かに 送信を変更し if(OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",MagicNumber,0,Blue)) これは今、正しいです。しかし、あなたは静かに 選択ループを壊した。 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) break; if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue; どっちが違うんだ。 複数の注文がある場合(1つのEA複数のチャート、複数のEA、手動取引)にはポジションループで閉じる/削除/修正するときは、必ず カウントダウンする必要があります。常にカウントダウンする習慣を身につけましょう。ループと注文のクローズ・削除 - MQL4フォーラム と OrderSelectを 確認してください。関数の戻り値とは何ですか? どのように使用するのですか?-MQL4 フォーラムとMQL4プログラムにおけるよくあるエラーとその回避方法 - MQL4関連 記事 Predefined Variables (Bid/Ask) やOrderClosePrice() を使用する場合は、スリープ後や複数のサーバー呼び出しの間にRefreshRates を 使用する必要があります。 エキスパートアドバイザー - 雑多な質問 OrderSelect関数に関する質問 EA will not run Matt_Townsend 2016.12.15 15:14 #40 whroeder1:まず、あなたは if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) であり、これは正しい。しかし、あなたは ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",0,0,Blue); であり、そうではありませんでした。次にあなたは静かに 送信を変更します if(OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",MagicNumber,0,Blue)) どちらが正しいかそして、セレクトループを解除します。 if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue; どっちが違うんだ では、ループの中にContinueやBreakを一切入れない方がいいのでしょうか? 12345 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
他のトピックは、このトピックと同じ内容でしたので、削除しました。WHRoederのコメントをコピーして、ここに貼り付けてから削除しました。
int buy_count=0;
int sell_count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
buy_count++;
}
if(OrderType()==OP_SELL)
{
sell_count++;
}
}
}
というようなもの。
私は特別な理由がない限り、いつもカウントダウンしています。
ループはcloseorderと同じようなもので、注文をカウントアップ、ダウンさせるべきでしょうか?
ということで、現在オーダークローズ関数とオーダーエンド関数の 両方にループ関数をつけているのですが、まだ単独で取引してくれません。ライブデモでは複数のチャートで動作しませんが、ストラテジーテスターで見る限り、設定したパラメータで取引開始、終了しているのは変わりません。
EAごとにマジックナンバーが違うのでしょうか?
今使っているループを表示してください。
EAごとにマジックナンバーが違うのでしょうか?
今使っているループを表示してください。
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) break;
if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue;
//--- Check for buy order
if(fastma > slowma)
{
if(OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",MagicNumber,0,Blue))
Print("Buy order opened :", OrderOpenPrice());
else
Print("Order failed to open : ", GetLastError());
return(0);
}
//--- Check for sell order
if(fastma < slowma)
{
if(OrderSend(Symbol(),OP_SELL,Lots,Bid,10,0,0,"",MagicNumber,0,Red))
Print("Order opened : ", OrderOpenPrice());
else
Print("Order failed to open : ", GetLastError());
return(0);
}
break;
}
オーダーエンドループはこちら
MNを外部intとして持っているので、EAを置くチャートごとに変えることができるのと同様に。if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue;
複数の注文がある場合(1つのEA複数のチャート、複数のEA、手動取引)には