エラー、バグ、質問 - ページ 2021 1...201420152016201720182019202020212022202320242025202620272028...3185 新しいコメント fxsaber 2017.10.05 06:04 #20201 バグを弾くMetaquotes-Demoへ移動します。AUDJPYのみマーケットオーバービューに表示され、そのチャートを開いてください。ターミナルをリロードして、本格的な接続を待つ - 見積もりが来ています。チャート上でスクリプトを実行するvoid OnStart() { for (int i = 0; i < 5; i++) Print(SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE)); }結果は以下の通りです。2017.10.05 09:02:27.460 Test6 (AUDJPY,M1) 0.0 2017.10.05 09:02:27.460 Test6 (AUDJPY,M1) 0.0 2017.10.05 09:02:27.460 Test6 (AUDJPY,M1) 0.0 2017.10.05 09:02:27.460 Test6 (AUDJPY,M1) 0.0 2017.10.05 09:02:27.460 Test6 (AUDJPY,M1) 0.0再スタート2017.10.05 09:02:32.028 Test6 (AUDJPY,M1) 0.8868393047179851 2017.10.05 09:02:32.028 Test6 (AUDJPY,M1) 0.8868393047179851 2017.10.05 09:02:32.028 Test6 (AUDJPY,M1) 0.8868393047179851 2017.10.05 09:02:32.028 Test6 (AUDJPY,M1) 0.8868393047179851 2017.10.05 09:02:32.028 Test6 (AUDJPY,M1) 0.8868393047179851すなわち、SYMBOL_TRADE_TICK_VALUEは、Sleep()が使用されていない場合、最初の実行でゼロを返します。HI 「Market Watch」の「見えない記号」を題材に。スクリプトの開始前にUSDJPYのチャートを開こうとすると(Enterキーを押して「USDJPY」と入力)、うまくいきません。スクリプトを実行した後、それが動作する場合。Market Watchは変わっていないのですが。 Alexey Viktorov 2017.10.05 07:46 #20202 fxsaber:バグを弾くMetaquotes-Demoへ移動します。AUDJPYのみマーケットオーバービューに表示され、そのチャートを開いてください。ターミナルをリロードして、本格的な接続を待つ - 見積もりが来ています。チャート上でスクリプトを実行する結果は以下の通りです。再スタートすなわち、SYMBOL_TRADE_TICK_VALUEは、Sleep()が使用されていない場合、最初の実行でゼロを返します。HI 「Market Watch」の「見えない記号」を題材に。スクリプトの開始前にUSDJPYのチャートを開こうとすると(Enterキーを押して「USDJPY」と入力)、うまくいきません。スクリプトを実行した後、それが動作する場合。Market Watchは変わっていませんが。このループをスクリプトの先頭に追加します。 for(int i = 0; i < SymbolsTotal(true); i++) Print(SymbolName(i, true));そして、シンボルがいくつ印刷されるかを見てください。最初の実行で、AUDJPYにアクセスすると、マーケット概要にAUDUSDとUSDJPYを追加するだけで、これらのペアを介して2回目の呼び出しでシンボルプロパティを取得します。私の場合、これがOrderCalcMarginの問題を引き起こしているのです。 Anatoli Kazharski 2017.10.05 07:54 #20203 fxsaber:何度も書かれていることです。なぜか修正しないんですよね。 サービスデスクから回答があった。直してくれる。 Evgenii Voroshilov 2017.10.05 08:10 #20204 みなさん、こんにちは。初心者のためのヘルプをお願いします。価格の最大値を求める関数が実行されます。ある最大価格のBAR NUMBERを計算し、コードに戻すにはどうしたらよいですか? fxsaber 2017.10.05 08:13 #20205 Alexey Viktorov:スクリプトの冒頭に以下のようなループを追加します。そして、何文字印刷されるかを確認します。最初の実行で、AUDJPYにアクセスすると、マーケット概要にAUDUSDとUSDJPYを追加するだけで、これらのペアを介して2回目の呼び出しでシンボルプロパティを取得します。私の場合、これがOrderCalcMarginの問題を引き起こしているのです。どうすればいいのか、うまくいくと思うんです。アナトリ・カザルスキー サービスデスクから回答がありました。直してくれるそうです。ありがとうございます。 Kirill Belousov 2017.10.05 10:18 #20206 OrderCalcMargin() の不具合「周辺」について、SRに申請しました。 Alexey Navoykov 2017.10.05 10:28 #20207 Kirill Belousov:MQL4/5のヘルプに直接的な矛盾が ある場合は、確信が持てません。...パラメータは関数内で逆順に渡さ れることを覚えておいてください 。つまり、最後のパラメータが最初に計算されて渡され、次に最後から2番目のパラメータ が渡される、というようになります。開始括弧の後に最初に来るパラメータが順番に計算されて渡される。. ..式x1,..., xnの順序は 保証 されていることに注意。 ここにある矛盾は何でしょうか?後ろ向きで、それだけです。逆はありません。 Kirill Belousov 2017.10.05 10:53 #20208 Alexey Navoykov: 何が矛盾しているのか?後ろ向きで、それだけです。反対語はありません。- この2つの提言は、ヘルプの中で別々のセクションに書かれています。の下を読むと"引数x1, x2,..., xnを持つ関数を呼び出す"x1,...,xnという式の順番が保証 されていますが、どの順番を考えているのでしょうか?x1,...,xnという順番か、xn,...,x1という順番か? Alexey Navoykov 2017.10.05 11:43 #20209 Kirill Belousov: - この2つの提言は、ヘルプの中で別々のセクションに書かれています。の下を読むと"引数x1, x2,..., xnを持つ関数を呼び出す"x1,...,xnという式の順番が保証 されていますが、どの順番を考えているのでしょうか?x1,...,xnという順番か、xn,...,x1という順番か?たしかに、紛らわしいですね。しかし、アルゴリズムの論理を特定の順番で並べる のは、どう考えても悪手だと思います。このような右から左への計算が、コードの理解を混乱させるのであれば、なおさらである。そのため、もし適用するのであれば、プリントアウトのような重要でない一部の場所にのみ行う必要があります。 A100 2017.10.05 12:30 #20210 Kirill Belousov:Print()内の式の計算順序は、右から左の順です。なんとなく...じゃあね...また、事前に確認しました :)MQL5 Reference●言語の 基本 ●操作と式 ●その他の操作引数x1, x2,..., xnを持つ関数呼び出し。なお、式x1,..., xnの 順序は保証 されている。C++のキーワードであるinlineの有用性を改めて示しています(ここでは、inlineはもう古いという意見もあったようです)。 中でもインラインとは、実際にはプログラマが関数のパラメータの計算順序を拒否し、コンパイラがインライン関数をインラインにすると決めた場合、コンパイラはより効率的な計算順序として順方向の計算順序を使用することができます(逆方向の計算順序は呼び出し可能な関数にのみ効率的であることは明らかです)。 同時に、コンパイラがインラインでない関数を埋め込むことを決定した場合、たとえそれが効率の低下につながるとしても、(プログラマが関数のインライン化を宣言せずにこの順序を仮定したため)評価の(一般的な)逆の順序を使用する必要があります。インラインは、計算順序を明示的に制御できないMQLでも適切です。 1...201420152016201720182019202020212022202320242025202620272028...3185 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
バグを弾く
結果は以下の通りです。
再スタート
すなわち、SYMBOL_TRADE_TICK_VALUEは、Sleep()が使用されていない場合、最初の実行でゼロを返します。
HI 「Market Watch」の「見えない記号」を題材に。スクリプトの開始前にUSDJPYのチャートを開こうとすると(Enterキーを押して「USDJPY」と入力)、うまくいきません。スクリプトを実行した後、それが動作する場合。Market Watchは変わっていないのですが。
バグを弾く
結果は以下の通りです。
再スタート
すなわち、SYMBOL_TRADE_TICK_VALUEは、Sleep()が使用されていない場合、最初の実行でゼロを返します。
HI 「Market Watch」の「見えない記号」を題材に。スクリプトの開始前にUSDJPYのチャートを開こうとすると(Enterキーを押して「USDJPY」と入力)、うまくいきません。スクリプトを実行した後、それが動作する場合。Market Watchは変わっていませんが。
このループをスクリプトの先頭に追加します。
そして、シンボルがいくつ印刷されるかを見てください。
最初の実行で、AUDJPYにアクセスすると、マーケット概要にAUDUSDとUSDJPYを追加するだけで、これらのペアを介して2回目の呼び出しでシンボルプロパティを取得します。私の場合、これがOrderCalcMarginの問題を引き起こしているのです。
何度も書かれていることです。なぜか修正しないんですよね。
みなさん、こんにちは。
初心者のためのヘルプをお願いします。
価格の最大値を求める関数が実行されます。ある最大価格のBAR NUMBERを計算し、コードに戻すにはどうしたらよいですか?
スクリプトの冒頭に以下のようなループを追加します。
そして、何文字印刷されるかを確認します。
最初の実行で、AUDJPYにアクセスすると、マーケット概要にAUDUSDとUSDJPYを追加するだけで、これらのペアを介して2回目の呼び出しでシンボルプロパティを取得します。私の場合、これがOrderCalcMarginの問題を引き起こしているのです。
どうすればいいのか、うまくいくと思うんです。
サービスデスクから回答がありました。直してくれるそうです。
ありがとうございます。
OrderCalcMargin() の不具合「周辺」について、SRに申請しました。
MQL4/5のヘルプに直接的な矛盾が ある場合は、確信が持てません。
...パラメータは関数内で逆順に渡さ れることを覚えておいてください 。つまり、最後のパラメータが最初に計算されて渡され、次に最後から2番目のパラメータ が渡される、というようになります。開始括弧の後に最初に来るパラメータが順番に計算されて渡される。
. ..式x1,..., xnの順序は 保証 されていることに注意。
何が矛盾しているのか?後ろ向きで、それだけです。反対語はありません。
- この2つの提言は、ヘルプの中で別々のセクションに書かれています。
の下を読むと
"引数x1, x2,..., xnを持つ関数を呼び出す"
x1,...,xnという式の順番が保証 されていますが、どの順番を考えているのでしょうか?
x1,...,xnという順番か、xn,...,x1という順番か?
- この2つの提言は、ヘルプの中で別々のセクションに書かれています。
の下を読むと
"引数x1, x2,..., xnを持つ関数を呼び出す"
x1,...,xnという式の順番が保証 されていますが、どの順番を考えているのでしょうか?
x1,...,xnという順番か、xn,...,x1という順番か?
たしかに、紛らわしいですね。
しかし、アルゴリズムの論理を特定の順番で並べる のは、どう考えても悪手だと思います。このような右から左への計算が、コードの理解を混乱させるのであれば、なおさらである。そのため、もし適用するのであれば、プリントアウトのような重要でない一部の場所にのみ行う必要があります。
Print()内の式の計算順序は、右から左の順です。なんとなく...じゃあね...また、事前に確認しました :)
MQL5 Reference●言語の 基本 ●操作と式 ●その他の操作
引数x1, x2,..., xnを持つ関数呼び出し。
なお、式x1,..., xnの 順序は保証 されている。
C++のキーワードであるinlineの有用性を改めて示しています(ここでは、inlineはもう古いという意見もあったようです)。
中でもインラインとは、実際にはプログラマが関数のパラメータの計算順序を拒否し、コンパイラがインライン関数をインラインにすると決めた場合、コンパイラはより効率的な計算順序として順方向の計算順序を使用することができます(逆方向の計算順序は呼び出し可能な関数にのみ効率的であることは明らかです)。
同時に、コンパイラがインラインでない関数を埋め込むことを決定した場合、たとえそれが効率の低下につながるとしても、(プログラマが関数のインライン化を宣言せずにこの順序を仮定したため)評価の(一般的な)逆の順序を使用する必要があります。
インラインは、計算順序を明示的に制御できないMQLでも適切です。