エラー、バグ、質問 - ページ 2209 1...220222032204220522062207220822092210221122122213221422152216...3185 新しいコメント Konstantin 2018.05.14 05:29 #22081 Slava:そして、あなたの例は、純粋に理論的なものだからです。純粋に学生のためのものです。まともなプログラマーなら、こんなものを製品にすることはない。 ポストフィックスとプリフィックスのインクリメントと デクリメントは、まずループの中で実際に使われます。そして、それらはインクリメントとデクリメントと呼ばれています 以下はその例です。 и もし、プリフィックスとポストフィックスの演算が同じように機能すると主張するならば、手に旗、首に太鼓を立ててください。 プリフィックスインクリメントの場合、最後の反復処理で初期化されていないNULL配列要素と配列範囲外エラーが発生します。あなたの高邁な精神では理解できないのかもしれない、もう一度質問を繰り返す。 а при чем тут array[++i]=i и array[i++]=i, как я могу сравнить то, чего не было в беседе... ハイライトされたものは見づらいですか? さて本題ですが、なぜ会話に登場する例では、mqlの結果が== 12で、手打ちになったかどうかは関係なく、後置演算と前置演算に差がある場合、結果が== 13になるはずです しかし、上記の私の質問は、コンパイル時の言語の曖昧さが十分であると信じるに足る理由を与えるものであり、ブランチの誰かに飛びかかる前に、これらのUBに対処してください。 ところで、ヘルプはすでにいじられているようですね )) Slava 2018.05.14 05:48 #22082 Konstantin:あなたの高邁な精神では理解できないのかもしれませんね、もう一度質問を繰り返します。 ハイライト部分がわからない? さて本題ですが、なぜ会話に登場する例では、mqlの結果が== 12で、手打ちになったかどうかは関係なく、後置演算と前置演算に違いがあれば、結果は== 13になるはずなのですが......。 しかし、上記の私の質問は、コンパイル時の言語の曖昧さが十分であると信じるに足る理由を与えるものであり、ブランチの誰かに飛びかかる前に、これらのUBに対処してください。 ちなみに、ヘルプはかき回したような感じです)。鼻息荒くしないでください。 結果は13でなければならないと誰が言った?ここでも、副作用のある結果は、最適化に大きく左右されます。このような式に最適化を適用しない場合でも、変数の値の変化、つまり使用直後や式の計算後の変化が実装として登場します。どの実装が正しいのでしょうか? UBを扱うつもりはない、それは未定義だ、とはっきり書いているのです。 ヘルプはどこにコピーされたのですか?1月18日付けMetaEditor build 1755のMQL5リファレンスを開いてみました。同じことが書かれています 重要な お知らせint i=5; int k = i++ + ++i;上記の式をあるプログラミング環境から別のプログラミング環境に移行する際(例えば、Borland C++からMQL5へ)、計算上の問題が発生する場合があります。一般に、計算の順番はコンパイラの実装に依存する。実際には、ポストデクリメントを実装する方法は2つあります。ポストデクリメント(ポストインクリメント)は、式全体を計算した後に変数に適用さ れる。ポストデクリメント(ポストインクリメント)は、操作の直後に変数に適用さ れる。現在、MQL5では、1つ目の減分後の計算方法が実装されています。しかし、この特性を知っていても、実験的に使用することはお勧めできません。 あなたの最初の発言は、postfixとprefixの操作に違いはない、というものでした。ないですか? Konstantin 2018.05.14 06:10 #22083 Slava:ノリノリではダメです。 結果は13でなければならないと誰が言った?ここでも、副作用のある結果は、最適化に大きく左右されます。このような式に最適化を施さなくても、使った直後や計算後に変数の値が変わるという実装が登場するのです。どの実装が正しいのでしょうか? UBを扱うつもりはない、だから未定義なのであって、「そんなことはするな」と明示的に言っているのです。 参考までにどこに行ったのですか?1月18日付けMetaEditor build 1755のMQL5リファレンスを開いてみました。同じことが書いてある 重要な お知らせint i=5; int k = i++ + ++i;上記の式をあるプログラミング環境から別のプログラミング環境に移行する際(例えば、Borland C++からMQL5へ)、計算上の問題が発生する場合があります。一般に、計算の順番はコンパイラの実装に依存する。実際には、ポストデクリメントを実装する方法は2つあります。ポストデクリメント(ポストインクリメント)は、式全体を計算した後に変数に適用さ れる。ポストデクリメント(ポストインクリメント)は、操作の直後に変数に適用さ れる。現在、MQL5では、1つ目の減分後の計算方法が実装されています。しかし、この特性を知っていても、実験的に使用することはお勧めできません。 あなたの最初の発言は、postfixとprefixの操作に違いはない、というものでした。そうでしょう? 私は生意気ではありません、あなたが対話を始めた場所に注意してください、すなわち、私は私が知らなかったコードを実行しなければならなかった - スーパー というのも、私が(2年ほど前に)mqlでpostfixとprefixの操作を扱っていたとき、明らかにこの資料を今は覚えていないのです。 ということで、この話題は終了し、この違いを紹介し、うまくいったのですが、変更することを警告する必要があります。 削除済み 2018.05.14 22:52 #22084 . ... Rick D. ... .: アカウントタイプRETAIL_HEDGINGの一部ポジションのクローズについて アドバイスをお願いします。例えば、Expert Advisorでポジションの半分を決済すると、より少ないロットの新規注文が自動的にオープンされるはずです。では、どの時点で新しい注文が端末に入ることが保証されるのでしょうか?PositionClosePartialの直後に表示される必要はなく、OnTradeのどこかでキャッチする必要があるという理解で合っていますか? 私自身の質問に答えてみよう。PositionClosePartialを呼び出すと、決済された注文のチケットがCTrade::ResultOrder()に戻り、ポジションチケットはそのままですが、ポジション自体のロットは小さくなります。ここで、PositionClosePartialの呼び出しにより、1回の取引でポジションの減少と注文履歴の変更が同期的に行われると結論付けてみましょう。 Aleksey Vyazmikin 2018.05.15 09:51 #22085 あれは一体何なんだ? 2018.05.15 12:50:04.594 Pred_Find (GBPUSD,M1) Access violation at 0x000000013F1C4945 read to 0xFFFFFFFFFFFFFFFF 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48A0 48895 C2418 mov [rsp+0x18], rbx 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48A5 48897 C2420 mov [rsp+0x20], rdi 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48AA 4156 push r14 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48AC 4883 EC20 sub rsp, 0x20 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48B0 488 BDA mov rbx, rdx 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48B3 4 C8BF1 mov r14, rcx 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48B6 4883 FA20 cmp rdx, 0x20 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48BA 7307 jae 0x13f1c48c3 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48BC BB20000000 mov ebx, 0x20 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48C1 EB13 jmp 0x13f1c48d6 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48C3 488 BCB mov rcx, rbx 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48C6 83 E107 and ecx, 0x7 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48C9 740 B jz 0x13f1c48d6 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48CB B808000000 mov eax, 0x8 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48D0 482 BC1 sub rax, rcx 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48D3 4803 D8 add rbx, rax 2018.05.15 12:50:04.661 Pred_Find (GBPUSD,M1) 000000013 F1C48D6 498 B4620 mov rax, [r14+0x20] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48DA 33 FF xor edi, edi 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48DC 4885 C0 test rax, rax 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48DF 0 F8485000000 jz dword 0x13f1c496a 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48E5 483 B58F8 cmp rbx, [rax-0x8] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48E9 7616 jbe 0x13f1c4901 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48EB 488 B5008 mov rdx, [rax+0x8] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48EF 33 C0 xor eax, eax 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48F1 0 FB6CA movzx ecx, dl 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48F4 4883 E2FC and rdx, 0xfc 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48F8 80 E102 and cl, 0x2 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48FB 480 F44C2 cmovz rax, rdx 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C48FF EB0E jmp 0x13f1c490f 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4901 488 BF8 mov rdi, rax 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4904 488 B00 mov rax, [rax] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4907 A802 test al, 0x2 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4909 7509 jnz 0x13f1c4914 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C490B 4883 E0FC and rax, 0xfc 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C490F 4885 C0 test rax, rax 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4912 75 D1 jnz 0x13f1c48e5 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4914 4885 FF test rdi, rdi 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4917 7451 jz 0x13f1c496a 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4919 488 BD7 mov rdx, rdi 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C491C 498 D4E18 lea rcx, [r14+0x18] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4920 E89B0F0000 call 0x13f1c58c0 ; #5079 (terminal64.exe) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4925 4 C8B47F8 mov r8, [rdi-0x8] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4929 4 C2BC3 sub r8, rbx 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C492C 4983 F820 cmp r8, 0x20 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4930 7224 jb 0x13f1c4956 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4932 4983 C0F8 add r8, 0xf8 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4936 488 D5308 lea rdx, [rbx+0x8] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C493A 4803 D7 add rdx, rdi 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C493D 498 D4E18 lea rcx, [r14+0x18] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4941 4 C8942F8 mov [rdx-0x8], r8 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) crash --> 000000013 F1C4945 4 D894410F8 mov [r8+rdx-0x8], r8 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C494A 48895 FF8 mov [rdi-0x8], rbx 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C494E 4 D8B4618 mov r8, [r14+0x18] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4952 41 FF5008 call qword near [r8+0x8] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4956 488 BC7 mov rax, rdi 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C4959 488 B5C2440 mov rbx, [rsp+0x40] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 000000013 F1C495E 488 B7C2448 mov rdi, [rsp+0x48] 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 00: 0x000000013F1C4945 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 01: 0x000000013F63EA90 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 02: 0x00000000FFFFFFFF 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 03: 0x000000005A3CD7A0 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) 04: 0x000000013F6303ED 2018.05.15 12:50:04.662 Pred_Find (GBPUSD,M1) Alexey Navoykov 2018.05.15 11:14 #22086 Konstantin:\私は(約2年前)mqlのpostfixとprefixの操作を扱っていたとき、私は明らかにこの資料を覚えていないので、それは、大きく蒸し返されています。 一般的には、トピックはクローズドで、この違いを導入してうまくやったのですが、変更点を警告する必要があるのでは?興味本位で、2015年6月の旧1159ビルドを確認することにしました。そのヘルプには、Slavaが引用した内容がすべて書かれています。だから、何か混同しているのかもしれませんね。 削除済み 2018.05.15 11:32 #22087 Aleksey Vyazmikin:あれは一体何なんだ? クラッシュです:)ServicedeskへGO! Aleksey Vyazmikin 2018.05.15 11:33 #22088 Alexey Kozitsyn:クラッシュです:)ServicedeskへGO!手に入れました - 銀行を破りました :) 削除済み 2018.05.15 11:34 #22089 Aleksey Vyazmikin:なるほど、銀行を破綻させたのか :)そうなる) Aleksey Vyazmikin 2018.05.15 11:41 #22090 Alexey Kozitsyn:そうなる)このエラーをローカライズする方法がわからないのですが?ただ、脚本が全部バレるのは嫌だし、全部詰め直すのも嫌だし......。 1...220222032204220522062207220822092210221122122213221422152216...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そして、あなたの例は、純粋に理論的なものだからです。純粋に学生のためのものです。まともなプログラマーなら、こんなものを製品にすることはない。
ポストフィックスとプリフィックスのインクリメントと デクリメントは、まずループの中で実際に使われます。そして、それらはインクリメントとデクリメントと呼ばれています
以下はその例です。
и
もし、プリフィックスとポストフィックスの演算が同じように機能すると主張するならば、手に旗、首に太鼓を立ててください。
プリフィックスインクリメントの場合、最後の反復処理で初期化されていないNULL配列要素と配列範囲外エラーが発生します。
あなたの高邁な精神では理解できないのかもしれない、もう一度質問を繰り返す。
ハイライトされたものは見づらいですか?
さて本題ですが、なぜ会話に登場する例では、mqlの結果が== 12で、手打ちになったかどうかは関係なく、後置演算と前置演算に差がある場合、結果が== 13になるはずです
しかし、上記の私の質問は、コンパイル時の言語の曖昧さが十分であると信じるに足る理由を与えるものであり、ブランチの誰かに飛びかかる前に、これらのUBに対処してください。
ところで、ヘルプはすでにいじられているようですね ))
あなたの高邁な精神では理解できないのかもしれませんね、もう一度質問を繰り返します。
ハイライト部分がわからない?
さて本題ですが、なぜ会話に登場する例では、mqlの結果が== 12で、手打ちになったかどうかは関係なく、後置演算と前置演算に違いがあれば、結果は== 13になるはずなのですが......。
しかし、上記の私の質問は、コンパイル時の言語の曖昧さが十分であると信じるに足る理由を与えるものであり、ブランチの誰かに飛びかかる前に、これらのUBに対処してください。
ちなみに、ヘルプはかき回したような感じです)。
鼻息荒くしないでください。
結果は13でなければならないと誰が言った?ここでも、副作用のある結果は、最適化に大きく左右されます。このような式に最適化を適用しない場合でも、変数の値の変化、つまり使用直後や式の計算後の変化が実装として登場します。どの実装が正しいのでしょうか?
UBを扱うつもりはない、それは未定義だ、とはっきり書いているのです。
ヘルプはどこにコピーされたのですか?1月18日付けMetaEditor build 1755のMQL5リファレンスを開いてみました。同じことが書かれています
重要な お知らせ
int i=5;
int k = i++ + ++i;
上記の式をあるプログラミング環境から別のプログラミング環境に移行する際(例えば、Borland C++からMQL5へ)、計算上の問題が発生する場合があります。一般に、計算の順番はコンパイラの実装に依存する。実際には、ポストデクリメントを実装する方法は2つあります。
現在、MQL5では、1つ目の減分後の計算方法が実装されています。しかし、この特性を知っていても、実験的に使用することはお勧めできません。
あなたの最初の発言は、postfixとprefixの操作に違いはない、というものでした。ないですか?
ノリノリではダメです。
結果は13でなければならないと誰が言った?ここでも、副作用のある結果は、最適化に大きく左右されます。このような式に最適化を施さなくても、使った直後や計算後に変数の値が変わるという実装が登場するのです。どの実装が正しいのでしょうか?
UBを扱うつもりはない、だから未定義なのであって、「そんなことはするな」と明示的に言っているのです。
参考までにどこに行ったのですか?1月18日付けMetaEditor build 1755のMQL5リファレンスを開いてみました。同じことが書いてある
重要な お知らせ
int i=5;
int k = i++ + ++i;
上記の式をあるプログラミング環境から別のプログラミング環境に移行する際(例えば、Borland C++からMQL5へ)、計算上の問題が発生する場合があります。一般に、計算の順番はコンパイラの実装に依存する。実際には、ポストデクリメントを実装する方法は2つあります。
現在、MQL5では、1つ目の減分後の計算方法が実装されています。しかし、この特性を知っていても、実験的に使用することはお勧めできません。
あなたの最初の発言は、postfixとprefixの操作に違いはない、というものでした。そうでしょう?
私は生意気ではありません、あなたが対話を始めた場所に注意してください、すなわち、私は私が知らなかったコードを実行しなければならなかった - スーパー
というのも、私が(2年ほど前に)mqlでpostfixとprefixの操作を扱っていたとき、明らかにこの資料を今は覚えていないのです。
ということで、この話題は終了し、この違いを紹介し、うまくいったのですが、変更することを警告する必要があります。
アカウントタイプRETAIL_HEDGINGの一部ポジションのクローズについて アドバイスをお願いします。例えば、Expert Advisorでポジションの半分を決済すると、より少ないロットの新規注文が自動的にオープンされるはずです。では、どの時点で新しい注文が端末に入ることが保証されるのでしょうか?PositionClosePartialの直後に表示される必要はなく、OnTradeのどこかでキャッチする必要があるという理解で合っていますか?
あれは一体何なんだ?
\私は(約2年前)mqlのpostfixとprefixの操作を扱っていたとき、私は明らかにこの資料を覚えていないので、それは、大きく蒸し返されています。
一般的には、トピックはクローズドで、この違いを導入してうまくやったのですが、変更点を警告する必要があるのでは?
興味本位で、2015年6月の旧1159ビルドを確認することにしました。そのヘルプには、Slavaが引用した内容がすべて書かれています。だから、何か混同しているのかもしれませんね。
あれは一体何なんだ?
クラッシュです:)ServicedeskへGO!
クラッシュです:)ServicedeskへGO!
手に入れました - 銀行を破りました :)
なるほど、銀行を破綻させたのか :)
そうなる)
そうなる)
このエラーをローカライズする方法がわからないのですが?ただ、脚本が全部バレるのは嫌だし、全部詰め直すのも嫌だし......。