エラー番号6 - ページ 6 12345678910111213...32 新しいコメント Forex Trader 2005.08.11 12:53 #51 悪くないが、本質的には同じだ :)<br / translate="no"> SetTraceとは何ですか? おっとっと :)今からCMをやりますので、ご注目ください -http://forexsystems.ru/phpBB/viewtopic.php?t=694&start=45 Forex Trader 2005.08.11 14:06 #52 хэндлов не хватает. システム設定(W'XP)でハンドル数を変更することは可能ですか、またその方法は? Forex Trader 2005.08.11 14:28 #53 もうひとつ、開発者に質問です。 何が正しいのか。 1. for(int nCnt = 0; nCnt < OrdersTotal(); nCnt++) { OrderSelect(nCnt, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == nMagic) { if(CurTime() - OrderOpenTime() >)(nHoursToHold - 1) * 60 * 60) { if(OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, nSlip, Aqua); else if(OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, nSlip, OrangeRed); } } { if(OrderTicket(), OrderLots(), Bid, nSlip, Aqua) 2. for(int nCnt = OrdersTotal() - 1; nCnt >= 0; nCnt--) { OrderSelect(nCnt, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == nMagic) { if(CurTime() - OrderOpenTime() > >)(nHoursToHold - 1) * 60 * 60) { if(OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, nSlip, Aqua); else if(OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, nSlip, OrangeRed); } } { if(OrderTicket(), OrderLots(), Bid, nSlip, Aqua) 3.無関心であること。 4.次のティックでリターンを設定し、次の注文を処理する必要があります。 5.他の方法で行うべきでしょう。 説明しよう。2つの未決済注文があり、両方とも決済する必要があると仮定します。ループ for(int nCnt = 0; nCnt < OrdersTotal(); nCnt++) ゼロ次を終了し、その後、1次がゼロになります。そして、最初の注文を閉じようとして、エラーが発生します。そうだろ? このスレッドで議論されているEAの全てのエラーがこの問題に関係しているとは思いません、例えば、共通のエラーは関係ありません。しかし、もし私が正しければ、a) 注文がロックされた類似の注文、b) エラーが出るために複数のExpert Advisorが必要であることを説明できるかもしれませんね。 Forex Trader 2005.08.11 14:28 #54 хэндлов не хватает. Можно ли изменить число хэндлов в системных установках (W'XP) и как? ハンドルが足りない場合はエラーになりますが、そうでない場合は十分な数のハンドルがあります。 Forex Trader 2005.08.11 14:32 #55 もちろん、2番目の選択肢は正しいのですが、returnの代わりに30秒間Sleep() を入れて、それでおしまいです。 Forex Trader 2005.08.11 14:33 #56 を代入することで、そのようなことができることを付け加えておく。 for(int nCnt = 0; nCnt < OrdersTotal(); nCnt++) で for(int nCnt = OrdersTotal() - 1; nCnt >= 0; nCnt--) エラー139から138になり、4109になりました。 (requote,配列内の文字列が初期化されて いない) 最後の1枚は、まったくコメントがありません...。 Forex Trader 2005.08.11 14:37 #57 もちろん、2つ目のバリエーションは正しいのですが、returnの代わりに30秒間Sleep()を入れて、それでおしまいです。 1分間に10個のExpert Advisorで、それぞれ30秒ずつ...間違っている、そのような生き方は不可能である。 Forex Trader 2005.08.11 14:38 #58 これで終わりかな?12のウィンドウがあり、それぞれ異なる通貨と異なるExpert Advisorを使用していました。そのうち11本で取引を禁止(ライブ取引を許可)しました。私のすべてのエラーは、まだ彼らから来ている。もうひとつ、バグがあります。 Forex Trader 2005.08.11 14:39 #59 Конечно, второй вариант правилен, только вместо return надо ставить Sleep() секунд на 30 и усе. 10人の専門家が1分間のインターバルで、各30秒ずつ...間違っている、これでは生きていけない。 これが生き方であり、やっていることは鉄の強さが試されているのです。 Forex Trader 2005.08.11 14:43 #60 テスト用の新バージョンのEA。何が変わったのか。 1.サイクルを修正しました。 2.マジックの番号はバーの開始時間に私物化されています。このため、私の記憶違いでなければ、開口部に遅れが生じます。つまり、mn 7のEAは、バーが始まってから7秒後にオープンすることになります。サーバーの過負荷、コンピューターのCPU、最大2.5秒の競合を避けることができます、まだどこかにあればいいのですが...。 しかし、残念なことに、エラーは残っています。 ルールは同じで、任意の時間枠(例えば数分)で複数のウィンドウを開き、待つ。 double dStopLoss; int nHoursToHold; datetime timePrev = 0; int nSlip = 5; double dLotSize = 0.1; int nMagic = 0; ////////////////// int init () { timePrev = 0; dStopLoss = 110 * Point; nHoursToHold = 1; if(Symbol() == "EURUSD") nMagic = 1; else if(Symbol() == "EURJPY") nMagic = 2; else if(Symbol() == "USDCHF") nMagic = 3; else if(Symbol() == "GBPUSD") nMagic = 4; else if(Symbol() == "GBPJPY") nMagic = 5; else if(Symbol() == "GBPCHF") nMagic = 6; else if(Symbol() == "USDJPY") nMagic = 7; else if(Symbol() == "AUDUSD") nMagic = 8; else if(Symbol() == "EURGBP") nMagic = 9; else if(Symbol() == "USDCAD") nMagic = 10; else if(Symbol() == "EURCHF") nMagic = 11; else if(Symbol() == "EURAUD") nMagic = 12; timePrev += nMagic; // Open nMagic seconds after the new bar return(0); } // ------ int deinit() { return(0); } // ------ int start() { if(Bars < 5) return(0); // The previous bar just closed bool bIsBarEnd = false; if(timePrev != Time[0] + nMagic) bIsBarEnd = true; timePrev = Time[0] + nMagic; if(!bIsBarEnd) return(0); // ------ int nSignal = GetSignal(); if(nSignal == OP_BUY) Buy(); else if(nSignal == OP_SELL) Sell(); for(int nCnt = OrdersTotal() - 1; nCnt >= 0; nCnt--) { OrderSelect(nCnt, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == nMagic) { if(CurTime() - OrderOpenTime() > (nHoursToHold - 1) * 60 * 60) { if(OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, nSlip, Aqua); else if(OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, nSlip, OrangeRed); } } } return(0); } // ------ void Sell() { if(AccountFreeMargin() < 500) return; dLotSize = GetLotSize(); int nResult = OrderSend(Symbol(), OP_SELL, dLotSize, Bid, nSlip, Bid + dStopLoss, 0, "Friday", nMagic, 0, OrangeRed); if(nResult == -1) { int nError = GetLastError(); Alert(Symbol() + ", " + nError); } } // ------ void Buy() { if(AccountFreeMargin() < 500) return; dLotSize = GetLotSize(); int nResult = OrderSend(Symbol(), OP_BUY, dLotSize, Ask, nSlip, Ask - dStopLoss, 0, "Friday", nMagic, 0, Aqua); if(nResult == -1) { int nError = GetLastError(); Alert(Symbol() + ", " + nError); } } // ------ double GetLotSize() { double dLot = 0.1; return(dLot); } // ------ int GetSignal() { int nSignal; if(MathMod(Hour(), 2) == 0) nSignal = OP_BUY; else nSignal = OP_SELL; return(nSignal); } // ------ 12345678910111213...32 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
おっとっと :)今からCMをやりますので、ご注目ください -http://forexsystems.ru/phpBB/viewtopic.php?t=694&start=45
システム設定(W'XP)でハンドル数を変更することは可能ですか、またその方法は?
何が正しいのか。
1.
2.
3.無関心であること。
4.次のティックでリターンを設定し、次の注文を処理する必要があります。
5.他の方法で行うべきでしょう。
説明しよう。2つの未決済注文があり、両方とも決済する必要があると仮定します。ループ
ゼロ次を終了し、その後、1次がゼロになります。そして、最初の注文を閉じようとして、エラーが発生します。そうだろ?
このスレッドで議論されているEAの全てのエラーがこの問題に関係しているとは思いません、例えば、共通のエラーは関係ありません。しかし、もし私が正しければ、a) 注文がロックされた類似の注文、b) エラーが出るために複数のExpert Advisorが必要であることを説明できるかもしれませんね。
Можно ли изменить число хэндлов в системных установках (W'XP) и как?
ハンドルが足りない場合はエラーになりますが、そうでない場合は十分な数のハンドルがあります。
for(int nCnt = 0; nCnt < OrdersTotal(); nCnt++)
で
for(int nCnt = OrdersTotal() - 1; nCnt >= 0; nCnt--)
エラー139から138になり、4109になりました。
(requote,配列内の文字列が初期化されて いない)
最後の1枚は、まったくコメントがありません...。
1分間に10個のExpert Advisorで、それぞれ30秒ずつ...間違っている、そのような生き方は不可能である。
10人の専門家が1分間のインターバルで、各30秒ずつ...間違っている、これでは生きていけない。
これが生き方であり、やっていることは鉄の強さが試されているのです。
1.サイクルを修正しました。
2.マジックの番号はバーの開始時間に私物化されています。このため、私の記憶違いでなければ、開口部に遅れが生じます。つまり、mn 7のEAは、バーが始まってから7秒後にオープンすることになります。サーバーの過負荷、コンピューターのCPU、最大2.5秒の競合を避けることができます、まだどこかにあればいいのですが...。
しかし、残念なことに、エラーは残っています。
ルールは同じで、任意の時間枠(例えば数分)で複数のウィンドウを開き、待つ。