"ダミー "からの質問 - ページ 216 1...209210211212213214215216217218219220221222223...277 新しいコメント 削除済み 2012.12.05 12:54 #2151 2 Yedelkin、私はエキスパートアドバイザーがちょうど眠ってしまい、動作を停止することをあなたに伝えました。起こすには端末を再起動するしかなく、うまくいきました。2 sergeevさん、MQL5では、時計が止まると、眠ってしまったということになります。 Yedelkin 2012.12.05 12:55 #2152 Yedelkin: ...そして、明示的な遅延イベント 処理の最も単純な例として、再び無限ループに思考が戻ってくる。 ここで質問なのですが、トレードのリクエストを送るのに、どのような機能をお使いでしょうか? G001 : 2 Yedelkin, Expert Advisorは単に眠ってしまって動かなくなると言ったんだ。しかも端末の再読み込みでしか起きないし、動くし。 とりあえず「動かなくなった」ように見える現象も含めて、すべてのものには理由と説明が必要なのです。 --- 2012.12.05 13:06 #2153 G001:2 Yedelkin、私はエキスパートアドバイザーがちょうど眠ってしまい、動作しなくなることをあなたに伝えました。起こすには端末を再起動するしかなく、うまくいきました。2 sergeevさん、MQL5では、時計が止まると、眠ってしまったということになります。 どのMQLイベント(EAのどの関数)で「眠ったときに捕まえる」のですか? 削除済み 2012.12.05 13:06 #2154 Yedelkin: これは質問なのですが、トレードのリクエストを送る のに、どのような機能を使用していますか?今のところ「動かなくなった」と思われる現象も含めて、すべてのことに理由と説明があるはずだ。//+------------------------------------------------------------------+ //| Open Orders | //+------------------------------------------------------------------+ // Perform analysis and open orders on new candle/bar if((TradeNewBar != true)||(IsNewBar() == true)) { //----- Open BUY_STOP if(TrendDetection() == BULL && TotalBullStopOrders() < 1 && TotalBullPositions() < 1) { request.action = TRADE_ACTION_PENDING; request.magic = Magic; request.symbol = Symbol(); request.volume = Volume(); request.price=NormalizeDouble(Ask+OrderDrive*_Point,_Digits); request.sl = NormalizeDouble(request.price - StopLoss*_Point,_Digits); request.tp = NormalizeDouble(request.price + TakeProfit*_Point,_Digits); request.type=ORDER_TYPE_BUY_STOP; request.type_filling=ORDER_FILLING_RETURN; request.comment=Coments; int ResBull = -1; while(ResBull < 1) { if(OrderCheck(request,check)) { ResBull = OrderSend(request,result); } if((MQL5InfoInteger(MQL5_TESTING)||MQL5InfoInteger(MQL5_OPTIMIZATION)))break; } Print("BuyStop Order Set "); if(UseSound == true){PlaySound(OrderSound);} Print(ResultRetcodeDescription(result.retcode)); } //----- Open SELL_STOP if(TrendDetection() == BEAR && TotalBearStopOrders() < 1 && TotalBearPositions() < 1) { request.action = TRADE_ACTION_PENDING; request.magic = Magic; request.symbol = Symbol(); request.volume = Volume(); request.price=NormalizeDouble(Bid-OrderDrive*_Point,_Digits); request.sl = NormalizeDouble(request.price + StopLoss*_Point,_Digits); request.tp = NormalizeDouble(request.price - TakeProfit*_Point,_Digits); request.type=ORDER_TYPE_SELL_STOP; request.type_filling=ORDER_FILLING_RETURN; request.comment=Coments; int ResBear = -1; while(ResBear < 1) { if(OrderCheck(request,check)) { ResBear = OrderSend(request,result); } if((MQL5InfoInteger(MQL5_TESTING)||MQL5InfoInteger(MQL5_OPTIMIZATION)))break; } Print("SellStop Order Set "); if(UseSound == true){PlaySound(OrderSound);} Print(ResultRetcodeDescription(result.retcode)); } } 削除済み 2012.12.05 13:09 #2155 sergeev: どのMQLイベント(EAのどの関数)で「スリープ時にキャッチ」しているのですか?すみません、何をおっしゃりたいのかよくわからないのですが...。:(クロックはvoid OnTick() の直後です。void OnTick() { Comment("Local Time: "+TimeToString(TimeLocal(),TIME_MINUTES|TIME_SECONDS)); Yedelkin 2012.12.05 13:14 #2156 sergeev: どのMQLイベント(EAのどの関数)で「眠ったときに捕まえる」のですか? はい、Expert Advisorが「眠った」ことを視覚的に検出します。チャート上の コメントにある時間と自分の時間を比較します。イベントは一切使用しません。 Nikita Zubarov 2012.12.05 13:15 #2157 EAの条件について、どなたか教えてください。ポジションをクローズした 後、すぐに反対側のポジションで同じポジションをオープンするEAを作りたい。例えば、売りと買いの2つのポジションしか開いていない場合。そのうちの1つがクローズされ、例えばTPまたはSLで買い、EAに買いポジションと新しい売りポジションを再開してほしい。売りのポジションが2つ、買いのポジションが1つあります。誰か、閉じたポジションを反対で開くような計算式を思いつきますように。とか、他の方法とか...知ってることは全部試したんだけど((((;゚Д゚))))うまくいかない :,,(笑 ファイル: SellBuY.mq4 3 kb 削除済み 2012.12.05 13:19 #2158 Yedelkin: そう、エキスパートが "眠った "ことを視覚的に検知するのです。チャート上のコメントの 時刻と、そのコンピュータの時刻を比較します。イベントは一切使用しません。 そうですね。EAが動作しなくなった時に、プログラムで調べる方法はないのか、というのが私の要望でした。 Yedelkin 2012.12.05 13:20 #2159 G001: ResBear = OrderSend(request,result); 了解です。OrderSend() 関数を使用します。NewTick() 関数による OnTick() イベント処理の 遅れは、OrderSend() 関数がこの応答を待つ必要があるため、サーバーからの応答がないことが原因である可能性があるバージョンです。もし興味があれば、サーバーからの応答を待たないOrderSend() 関数の代わりに、その非同期コピーを使ってみて ください。Expert Advisorが動作しなくなるのでは? 削除済み 2012.12.05 13:26 #2160 Yedelkin: 了解です。OrderSend() 関数を使用しています。このバージョンは、OrderSend()関数がこの応答を待つ必要があるため、サーバーの無応答が原因で遅延が発生する可能性があります。もし興味があれば、サーバーからの応答を待たないOrderSend() 関数の代わりに、その非同期コピーを使ってみて ください。このケースにもぶら下がるのでしょうか? ありがとうございます。非同期版も考えたのですが、ブローカーが取引を考慮してくれないのかわかりません。でも、やってみます。 1...209210211212213214215216217218219220221222223...277 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
2 sergeevさん、MQL5では、時計が止まると、眠ってしまったということになります。
ここで質問なのですが、トレードのリクエストを送るのに、どのような機能をお使いでしょうか?
とりあえず「動かなくなった」ように見える現象も含めて、すべてのものには理由と説明が必要なのです。
2 sergeevさん、MQL5では、時計が止まると、眠ってしまったということになります。
これは質問なのですが、トレードのリクエストを送る のに、どのような機能を使用していますか?
今のところ「動かなくなった」と思われる現象も含めて、すべてのことに理由と説明があるはずだ。
どのMQLイベント(EAのどの関数)で「スリープ時にキャッチ」しているのですか?
すみません、何をおっしゃりたいのかよくわからないのですが...。:(
クロックはvoid OnTick() の直後です。
どのMQLイベント(EAのどの関数)で「眠ったときに捕まえる」のですか?
EAの条件について、どなたか教えてください。
ポジションをクローズした 後、すぐに反対側のポジションで同じポジションをオープンするEAを作りたい。
例えば、売りと買いの2つのポジションしか開いていない場合。そのうちの1つがクローズされ、例えばTPまたはSLで買い、EAに買いポジションと新しい売りポジションを再開してほしい。
売りのポジションが2つ、買いのポジションが1つあります。
誰か、閉じたポジションを反対で開くような計算式を思いつきますように。
とか、他の方法とか...知ってることは全部試したんだけど((((;゚Д゚))))うまくいかない :,,(笑
そう、エキスパートが "眠った "ことを視覚的に検知するのです。チャート上のコメントの 時刻と、そのコンピュータの時刻を比較します。イベントは一切使用しません。
G001: ResBear = OrderSend(request,result);
了解です。OrderSend() 関数を使用しています。このバージョンは、OrderSend()関数がこの応答を待つ必要があるため、サーバーの無応答が原因で遅延が発生する可能性があります。もし興味があれば、サーバーからの応答を待たないOrderSend() 関数の代わりに、その非同期コピーを使ってみて ください。このケースにもぶら下がるのでしょうか?