エラー、バグ、質問 - ページ 1804 1...179717981799180018011802180318041805180618071808180918101811...3185 新しいコメント Artyom Trishkin 2017.02.14 20:02 #18031 このトピックに関係のないコメントは、「MQL4に関する初心者の質問、アルゴリズムやコードに関するヘルプや議論」に移動しました。 Artyom Trishkin 2017.02.14 20:03 #18032 fxsaber: スリープは、シンボルがマーケットウォッチにないときのみ必要です。指標前(および指標中)のMarket Watchにあるすべてのシンボルについては、スリップは必要ありません。 なるほど。 fxsaber 2017.02.14 20:33 #18033 1531 - Metaquotes-Demoのブレーキは消えていない。要求と応答Request.action = TRADE_ACTION_DEAL (1) Request.magic = 0 Request.order = 0 Request.symbol = #KO Request.volume = 1.0 Request.price = 40.31 Request.stoplimit = 0.0 Request.sl = 0.0 Request.tp = 0.0 Request.deviation = 100 Request.type = ORDER_TYPE_BUY (0) Request.type_filling = ORDER_FILLING_RETURN (2) Request.type_time = ORDER_TIME_GTC (0) Request.expiration = 1970.01.01 00:00:00 Request.comment = My Position Request.position = 0 Request.position_by = 0 Result.retcode = 10009 Result.deal = 117613087 Result.order = 133997293 Result.volume = 1.0 Result.price = 40.31 Result.bid = 40.28 Result.ask = 40.31 Result.comment = Request executed 345.781 + 26.356 ms Result.request_id = 5712 Result.retcode_external = 0OrderSendに 345msかかり、対応する注文と取引が履歴に残るまで26msかかりました。つまり、今まで見たこともないような非常に遅い同期を実現しているのです。標準ログ2017.02.14 22:26:46.767 Trades '5122740': prices for #KO 1.002017.02.14 22:26:46.852 Trades '5122740': accepted prices for #KO 1.002017.02.14 22:26:46.852 Trades '5122740': answer prices for #KO 1.00 40.28 / 40.31 in 86.046 ms (0.190 ms on server)2017.02.14 22:26:46.852 Trades '5122740': request buy 1.00 #KO at 40.31 2017.02.14 22:26:47.107 Trades '5122740': accepted request buy 1.00 #KO at 40.31 2017.02.14 22:26:47.107 Trades '5122740': deal #117613087 buy 1.00 #KO at 40.31 done (based on order #133997293)2017.02.14 22:26:47.107 Trades '5122740': order #133997293 buy 1.00 / 1.00 #KO at 40.31 done in 345.709 ms (3.022 ms on server)新ログは1531になりました!この場合、何がどうなっているのか、説明してください。ZZYのログは減速後ほぼ直後。2017.02.14 22:26:47.433 Trades '5122740': prices for #KFT 1.002017.02.14 22:26:47.503 Trades '5122740': accepted prices for #KFT 1.002017.02.14 22:26:47.506 Trades '5122740': answer prices for #KFT 1.00 49.17 / 49.20 in 70.980 ms (4.166 ms on server)2017.02.14 22:26:47.506 Trades '5122740': request buy 1.00 #KFT at 49.20 2017.02.14 22:26:47.583 Trades '5122740': accepted request buy 1.00 #KFT at 49.20 2017.02.14 22:26:47.583 Trades '5122740': deal #117613092 buy 1.00 #KFT at 49.20 done (based on order #133997299)2017.02.14 22:26:47.583 Trades '5122740': order #133997299 buy 1.00 / 1.00 #KFT at 49.20 done in 149.304 ms (3.015 ms on server)これらはRequestedキャラクターなので、マーケットオーダーは他より遅くなります。 Errors, bugs, questions mql5言語の特徴、微妙なニュアンスとテクニック Questions from Beginners MQL5 fxsaber 2017.02.14 21:14 #18034 TRADE_ACTION_REMOVEの ブレーキ。Request.action = TRADE_ACTION_REMOVE (8) Request.magic = 0 Request.order = 134003202 Request.symbol = Request.volume = 0.0 Request.price = 0.0 Request.stoplimit = 0.0 Request.sl = 0.0 Request.tp = 0.0 Request.deviation = 0 Request.type = ORDER_TYPE_BUY (0) Request.type_filling = ORDER_FILLING_FOK (0) Request.type_time = ORDER_TIME_GTC (0) Request.expiration = 1970.01.01 00:00:00 Request.comment = Request.position = 0 Request.position_by = 0 Result.retcode = 10009 Result.deal = 0 Result.order = 134003202 Result.volume = 0.0 Result.price = 0.0 Result.bid = 0.0 Result.ask = 0.0 Result.comment = Request executed 290.089 + 0.005 ms Result.request_id = 10078 Result.retcode_external = 0FL 0 23:02:46.797 Trades '5122740': buy limit 1.00 Si-3.17 at 56288 GG 0 23:02:46.849 Trades '5122740': accepted buy limit 1.00 Si-3.17 at 56288 PR 0 23:02:46.852 Trades '5122740': order #134003202 buy limit 1.00 / 1.00 Si-3.17 at market done in 54.423 ms (0.342 ms on server) PR 0 23:02:46.854 Trades '5122740': cancel order #134003202 buy limit 1.00 Si-3.17 at 56288 LL 0 23:02:47.142 Trades '5122740': accepted cancel order #134003202 buy limit 1.00 Si-3.17 at 56288 CE 0 23:02:47.144 Trades '5122740': cancel #134003202 buy limit 1.00 Si-3.17 at market done in 290.050 ms (1.400 ms on server) HH 端末からログブックを見ても、この線は一切出てきませんでした。ファイルから直接取り出す必要があった。 Errors, bugs, questions mql5言語の特徴、微妙なニュアンスとテクニック Features of the mql5 fxsaber 2017.02.14 21:25 #18035 エラー [価格なし] オンザスポット2017.02.14 23:18:41.442 '5122740': failed instant buy 1.00 EURPLN at 4.30632 (deviation: 100) [No prices]値段がないとはどういうことだ!過去ログに値段まであるのか!?クエリ2017.02.14 23:18:41.442 Request.action = TRADE_ACTION_DEAL (1)2017.02.14 23:18:41.442 Request.magic = 02017.02.14 23:18:41.442 Request.order = 02017.02.14 23:18:41.442 Request.symbol = EURPLN2017.02.14 23:18:41.442 Request.volume = 1.02017.02.14 23:18:41.442 Request.price = 4.306322017.02.14 23:18:41.442 Request.stoplimit = 0.02017.02.14 23:18:41.442 Request.sl = 0.02017.02.14 23:18:41.442 Request.tp = 0.02017.02.14 23:18:41.442 Request.deviation = 1002017.02.14 23:18:41.442 Request.type = ORDER_TYPE_BUY (0)2017.02.14 23:18:41.442 Request.type_filling = ORDER_FILLING_RETURN (2)2017.02.14 23:18:41.442 Request.type_time = ORDER_TIME_GTC (0)2017.02.14 23:18:41.442 Request.expiration = 1970.01.01 00:00:002017.02.14 23:18:41.442 Request.comment = My Position2017.02.14 23:18:41.442 Request.position = 02017.02.14 23:18:41.442 Request.position_by = 02017.02.14 23:18:41.442 Result.retcode = 100212017.02.14 23:18:41.442 Result.deal = 02017.02.14 23:18:41.442 Result.order = 02017.02.14 23:18:41.442 Result.volume = 0.02017.02.14 23:18:41.442 Result.price = 0.02017.02.14 23:18:41.442 Result.bid = 0.02017.02.14 23:18:41.442 Result.ask = 0.02017.02.14 23:18:41.442 Result.comment = No prices 0.028 + 0.000 ms2017.02.14 23:18:41.442 Result.request_id = 02017.02.14 23:18:41.442 Result.retcode_external = 02017.02.14 23:18:41.442 2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_BID) = 4.301512017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_ASK) = 4.30632 Errors, bugs, questions Questions from Beginners MQL5 MetaEditor build 1490 Andrey Dik 2017.02.14 21:48 #18036 fxsaber: エラー [価格なし] オンザスポット2017.02.14 23:18:41.442 '5122740': failed instant buy 1.00 EURPLN at 4.30632 (deviation: 100) [No prices]ログでも価格がないなんて!? 最近、リアルアカウントで同じエラーが出ました。注文を出そうとしたが、サーバーで実行されなかった。 現在、ある有名企業のテクニカルサポートとL.A.でやり取りしています。今、某有名企業L社のテクニカルサポートとチャットしているのですが(やりとりは秘密なので呼びません)、彼らの説明では、MT4(彼らはMT4を持っています)からFIXで送信された注文も、彼らのトレードサーバーでの執行時間は 同じで、1-6ms程度だそうです。そこで、MT4から取引する場合、注文を出してから返事が来るまで約40~60msかかるので、40~50msとはどの程度の時間なのかを聞いてみました。ネットワーク遅延を調べるように、彼らは寛容に肩をすくめ、私がPing1-2msと伝えると、また肩をすくめるのです。結論は、MT4/5のサーバー部分が遅いということです。今、新しいログがそれを示しています。時間がFIXのように「きれい」にならないのはわかるが、せめて同じ順番であるべきだ。 fxsaber 2017.02.14 22:06 #18037 Andrey Dik: SZY、今、L.A.で有名な会社の技術サポートと話をしているんだ。(なぜか電話で問い合わせると、トレードサーバーでの約定 時間は、FIXで送られてくるMT4(同社はMT4)から出る注文と同じで、1~6ms程度と説明される。そこで、MT4から取引する場合、注文を出してから返事が来るまで約40~60msかかるので、40~50msとはどの程度の時間なのかを聞いてみました。ネットワーク遅延を調べるように、彼らは寛容に肩をすくめ、私がPing1-2msと伝えると、また肩をすくめるのです。結論は、MT4/5のサーバー部分が遅いということです。今、新しいログがそれを示しています。時間がFIXのように「きれい」にならないのはわかるが、せめて同じ順番であるべきだ。IN L...このとき、「注文をシステムに取り込んで、それを送り返すまでの実行時間は、ごくわずかだ」ということを念頭に置いていた。MT4サーバーから、またはFIXや他のAPIを通じて注文を取得することができます。MT4サーバー自体は、内部処理に数十msを費やしており、実行とは一切関係がありません。昔々、MT4の最小時間は150msでした。40~60になったということで、何か本気で手を入れたようです。しかし、MT5の方が明らかに速い。これで、サーバーがどれくらいの時間稼動したのか、ログで確認できるようになりました。あとは、主な時間が何に費やされているかを把握することです。 Vladimir Karputov 2017.02.15 04:56 #18038 このトピックに関係のないコメントは、「CopyClose なぜエラーが 発生するのか」に移動しました。". A100 2017.02.15 06:55 #18039 コンパイルエラー: f()にアクセスできない //2typedef void (*fn)();#import "Test.ex5" void f(); //1#importvoid f() {} //2void OnStart(){ fn g1 = Test::f; //нормально fn g2 = f; //Error: 'f' - cannot resolve function address} 削除済み 2017.02.15 07:03 #18040 @Slawa さん、はっきりさせてください、OnCalculate()関数の外でインジケータバッファを書き込むことに何か制約があるのでしょうか?OnTimer()、OnBookEvent()、OnChartEvent()関数でバッファを書き込む場合、すべて正しく書き込まれるのでしょうか。 1...179717981799180018011802180318041805180618071808180918101811...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
スリープは、シンボルがマーケットウォッチにないときのみ必要です。指標前(および指標中)のMarket Watchにあるすべてのシンボルについては、スリップは必要ありません。
1531 - Metaquotes-Demoのブレーキは消えていない。
要求と応答
Request.magic = 0
Request.order = 0
Request.symbol = #KO
Request.volume = 1.0
Request.price = 40.31
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY (0)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment = My Position
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 117613087
Result.order = 133997293
Result.volume = 1.0
Result.price = 40.31
Result.bid = 40.28
Result.ask = 40.31
Result.comment = Request executed 345.781 + 26.356 ms
Result.request_id = 5712
Result.retcode_external = 0
OrderSendに 345msかかり、対応する注文と取引が履歴に残るまで26msかかりました。つまり、今まで見たこともないような非常に遅い同期を実現しているのです。
標準ログ
2017.02.14 22:26:46.852 Trades '5122740': accepted prices for #KO 1.00
2017.02.14 22:26:46.852 Trades '5122740': answer prices for #KO 1.00 40.28 / 40.31 in 86.046 ms (0.190 ms on server)
2017.02.14 22:26:46.852 Trades '5122740': request buy 1.00 #KO at 40.31
2017.02.14 22:26:47.107 Trades '5122740': accepted request buy 1.00 #KO at 40.31
2017.02.14 22:26:47.107 Trades '5122740': deal #117613087 buy 1.00 #KO at 40.31 done (based on order #133997293)
2017.02.14 22:26:47.107 Trades '5122740': order #133997293 buy 1.00 / 1.00 #KO at 40.31 done in 345.709 ms (3.022 ms on server)
新ログは1531になりました!この場合、何がどうなっているのか、説明してください。
ZZYのログは減速後ほぼ直後。
2017.02.14 22:26:47.503 Trades '5122740': accepted prices for #KFT 1.00
2017.02.14 22:26:47.506 Trades '5122740': answer prices for #KFT 1.00 49.17 / 49.20 in 70.980 ms (4.166 ms on server)
2017.02.14 22:26:47.506 Trades '5122740': request buy 1.00 #KFT at 49.20
2017.02.14 22:26:47.583 Trades '5122740': accepted request buy 1.00 #KFT at 49.20
2017.02.14 22:26:47.583 Trades '5122740': deal #117613092 buy 1.00 #KFT at 49.20 done (based on order #133997299)
2017.02.14 22:26:47.583 Trades '5122740': order #133997299 buy 1.00 / 1.00 #KFT at 49.20 done in 149.304 ms (3.015 ms on server)
これらはRequestedキャラクターなので、マーケットオーダーは他より遅くなります。
TRADE_ACTION_REMOVEの ブレーキ。
Request.magic = 0
Request.order = 134003202
Request.symbol =
Request.volume = 0.0
Request.price = 0.0
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 0
Request.type = ORDER_TYPE_BUY (0)
Request.type_filling = ORDER_FILLING_FOK (0)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment =
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 134003202
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 290.089 + 0.005 ms
Result.request_id = 10078
Result.retcode_external = 0
GG 0 23:02:46.849 Trades '5122740': accepted buy limit 1.00 Si-3.17 at 56288
PR 0 23:02:46.852 Trades '5122740': order #134003202 buy limit 1.00 / 1.00 Si-3.17 at market done in 54.423 ms (0.342 ms on server)
PR 0 23:02:46.854 Trades '5122740': cancel order #134003202 buy limit 1.00 Si-3.17 at 56288
LL 0 23:02:47.142 Trades '5122740': accepted cancel order #134003202 buy limit 1.00 Si-3.17 at 56288
CE 0 23:02:47.144 Trades '5122740': cancel #134003202 buy limit 1.00 Si-3.17 at market done in 290.050 ms (1.400 ms on server)
値段がないとはどういうことだ!過去ログに値段まであるのか!?
クエリ
2017.02.14 23:18:41.442 Request.magic = 0
2017.02.14 23:18:41.442 Request.order = 0
2017.02.14 23:18:41.442 Request.symbol = EURPLN
2017.02.14 23:18:41.442 Request.volume = 1.0
2017.02.14 23:18:41.442 Request.price = 4.30632
2017.02.14 23:18:41.442 Request.stoplimit = 0.0
2017.02.14 23:18:41.442 Request.sl = 0.0
2017.02.14 23:18:41.442 Request.tp = 0.0
2017.02.14 23:18:41.442 Request.deviation = 100
2017.02.14 23:18:41.442 Request.type = ORDER_TYPE_BUY (0)
2017.02.14 23:18:41.442 Request.type_filling = ORDER_FILLING_RETURN (2)
2017.02.14 23:18:41.442 Request.type_time = ORDER_TIME_GTC (0)
2017.02.14 23:18:41.442 Request.expiration = 1970.01.01 00:00:00
2017.02.14 23:18:41.442 Request.comment = My Position
2017.02.14 23:18:41.442 Request.position = 0
2017.02.14 23:18:41.442 Request.position_by = 0
2017.02.14 23:18:41.442 Result.retcode = 10021
2017.02.14 23:18:41.442 Result.deal = 0
2017.02.14 23:18:41.442 Result.order = 0
2017.02.14 23:18:41.442 Result.volume = 0.0
2017.02.14 23:18:41.442 Result.price = 0.0
2017.02.14 23:18:41.442 Result.bid = 0.0
2017.02.14 23:18:41.442 Result.ask = 0.0
2017.02.14 23:18:41.442 Result.comment = No prices 0.028 + 0.000 ms
2017.02.14 23:18:41.442 Result.request_id = 0
2017.02.14 23:18:41.442 Result.retcode_external = 0
2017.02.14 23:18:41.442
2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_BID) = 4.30151
2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_ASK) = 4.30632
エラー [価格なし] オンザスポット
ログでも価格がないなんて!?
現在、ある有名企業のテクニカルサポートとL.A.でやり取りしています。今、某有名企業L社のテクニカルサポートとチャットしているのですが(やりとりは秘密なので呼びません)、彼らの説明では、MT4(彼らはMT4を持っています)からFIXで送信された注文も、彼らのトレードサーバーでの執行時間は 同じで、1-6ms程度だそうです。そこで、MT4から取引する場合、注文を出してから返事が来るまで約40~60msかかるので、40~50msとはどの程度の時間なのかを聞いてみました。ネットワーク遅延を調べるように、彼らは寛容に肩をすくめ、私がPing1-2msと伝えると、また肩をすくめるのです。結論は、MT4/5のサーバー部分が遅いということです。今、新しいログがそれを示しています。時間がFIXのように「きれい」にならないのはわかるが、せめて同じ順番であるべきだ。
SZY、今、L.A.で有名な会社の技術サポートと話をしているんだ。(なぜか電話で問い合わせると、トレードサーバーでの約定 時間は、FIXで送られてくるMT4(同社はMT4)から出る注文と同じで、1~6ms程度と説明される。そこで、MT4から取引する場合、注文を出してから返事が来るまで約40~60msかかるので、40~50msとはどの程度の時間なのかを聞いてみました。ネットワーク遅延を調べるように、彼らは寛容に肩をすくめ、私がPing1-2msと伝えると、また肩をすくめるのです。結論は、MT4/5のサーバー部分が遅いということです。今、新しいログがそれを示しています。時間がFIXのように「きれい」にならないのはわかるが、せめて同じ順番であるべきだ。
IN L...このとき、「注文をシステムに取り込んで、それを送り返すまでの実行時間は、ごくわずかだ」ということを念頭に置いていた。MT4サーバーから、またはFIXや他のAPIを通じて注文を取得することができます。MT4サーバー自体は、内部処理に数十msを費やしており、実行とは一切関係がありません。
昔々、MT4の最小時間は150msでした。40~60になったということで、何か本気で手を入れたようです。しかし、MT5の方が明らかに速い。これで、サーバーがどれくらいの時間稼動したのか、ログで確認できるようになりました。あとは、主な時間が何に費やされているかを把握することです。
コンパイルエラー: f()にアクセスできない //2
#import "Test.ex5"
void f(); //1
#import
void f() {} //2
void OnStart()
{
fn g1 = Test::f; //нормально
fn g2 = f; //Error: 'f' - cannot resolve function address
}