エラー、バグ、質問 - ページ 1168 1...116111621163116411651166116711681169117011711172117311741175...3185 新しいコメント Artyom Trishkin 2014.07.06 17:12 #11671 TheXpert:タ・マァー...転送前のロングからダブルを入れる必要があります。グローバル 変数の場合。対数ビットなので、1.34*e-307にも4.29*e+120にもなり、ゼロではない、ただのランダムダブルです。ダブからロングに解凍して転送後。 それだけです。OK、あなたはそれを得た;) TheXpert 2014.07.06 17:19 #11672 artmedia70:OK、あなたはそれを得た;)まあ......何が不明瞭なのか理解できないんですけどね。doubleはデータを切り捨てるので、longからdoubleに直接転送することはできません。しかし、どちらも8バイトずつなので、例でやったようにdoubleをコンテナとして使うだけでロスレス転送が可能です。 Artyom Trishkin 2014.07.06 17:23 #11673 TheXpert:まあ何が不明なのか理解できないだけなんですけどね。doubleはデータを切り捨てるので、longからdoubleに直接転送することはできません。しかし、どちらも8バイトずつなので、例でやったようにdoubleをコンテナとして使うだけでロスレス転送が可能です。 Andreyさん、端末のGVに保存して表示する形式がよくわかりませんでした。グラフIDが表示されていたようですが、0と表示されています。 TheXpert 2014.07.06 17:35 #11674 artmedia70: Andreyさん、端末のGVでの保存と表示の形式が分かりませんでした。グラフIDが表示されていたようですが、0と表示されています。GVでは見た目はゴミのようなものが表示されますが、この「ゴミ」は逆変換後にチャートIDになります。 デュブルは独自のデータフォーマットを持っていて、ロングをタックするときはデュブルフォーマットをつけて、ちょうど8バイトのメモリとして使っています。 Artyom Trishkin 2014.07.06 18:35 #11675 TheXpert:GVは見た目はゴミのようなものが表示されますが、この「ゴミ」は逆変換後にグラフIDになります。 デュブルは独自のデータフォーマットを持っており、デュブルをタックする際にはデュブルフォーマットを付けて、単純に8バイトのメモリとして使用します。 はい、もうわかりました、ありがとうございます。 Stanislav Korotky 2014.07.07 19:46 #11676 私が気づいたことは、他のスクリプト(インジケーター)に差し込まれたライブラリやリソースを更新すると、それ(インジケーター)が再コンパイルされ、ターミナルが再読み込みされることです。需要なし!バグなのか機能なのか?P.S. MT4についてです。 Slava 2014.07.08 05:29 #11677 artmedia70:どちらかというと、質問です。名前から端末の既存のGVを探す。これを通じて、EAが動作しているチャートのIDがインジケータに渡されます。インジケータは別の記号にぶら下がっている。つまり、Expert Advisorが動作しているチャートのIDをインジケータに渡したいのです。こんな風に探しています。これは、端末が教えてくれる。変数を読み取ろうとした。文字列に直接入れたり、ジャーナルに入れたり、違う種類の変数に入れたり......全部同じです。違いは2つあります。何がいけないんですか?https://www.mql5.com/ru/docs/basis/types/casting「単純構造体のデータ変換」段落はこちら。まさにあなたのケースですね。ダブレットはロングに比べ、文字数の精度が非常に低くなります。だから、単純な割り当てでこのような結果になるのです。しかし、グローバル変数の64ビットをフルに使って、64ビット長のどんな情報も格納できます(8バイト長の短い文字列のようなもの。 長さは言うまでもありません)。 Документация по MQL5: Основы языка / Типы данных / Приведение типов www.mql5.com Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 削除済み 2014.07.08 12:37 #11678 次のような問題が発生しました。ターミナルを再起動した後、EAから呼び出されたインジケータが別のタイムフレームの「奇妙な」値を返します。 Expert AdvisorはM2、インジケーターデータはM3から取得します。1) 14:40に端末の再起動があります。PE 0 14:39:50.524 端末 MD 0 14:40:06.009 Terminal MetaTrader 5 Alfa-Forex x64 build 930 を起動しました。 II 0 14:40:06.586 Terminal OpenCL が見つかりません、パフォーマンスを上げるために最新の OpenCL ドライバをインストールしてください。 JO 0 14:40:07.257 専門家 専門家 FX_Money_Flow_v1_06 (EURUSD,M2) 正常にロードされました。Expert Advisorは、最後のバーと最後から2番目のバーでインジケータの値を書き出します。OF 0 14:40:11.540 FX_Money_Flow_v1_06 (EURUSD,M2) 指標TF1の値: -1.#QNAN -1.#QNAN は、次のバーですでにデータが正しくなっています。NJ 0 14:41:46.622 FX_Money_Flow_v1_07 (EURUSD,M2) 指標TF1の値: -0.02798411604597126 -0.048934988395837532)19:55に2回目のリスタート。CO 0 19:55:06.918 端末 RO 0 19:55:28.399 Terminal MetaTrader 5 Alfa-Forex x64 build 930 を起動しました。 OP 0 19:55:28.992 Terminal OpenCL が見つかりません、最新の OpenCL ドライバをインストールしてください。 RD 0 19:55:29.507 専門家 専門家 FX_Money_Flow_v1_07 (EURUSD,M2) ロードに成功しました。またしても同じ曲。PQ 0 19:55:38.168 FX_Money_Flow_v1_07 (EURUSD,M2) 指標値 TF1: -1.#QNAN -1.#QNANしかし、常に正常に動作するわけではありません。KF 0 23:59:51.987 FX_Money_Flow_v1_07 (EURUSD,M2) ファクター値 TF1指標: -1.#QNAN -1.#QNAN この時、M3チャートは開いていて、そこには全てを正しく表示するインジケーターがあります。(端末とログの時差は5時間、スクリーンショットは2回目の再起動のものです。) ファイル: FX_Money_Flow-22.png 66 kb Stanislav Korotky 2014.07.08 13:25 #11679 OBJ_LABELは、MT4ではUNICODEに対応していないようですが?プログラム上とラベルのプロパティダイアログの両方で値を変更しました。ダイアログ上では記号が挿入され正しく表示されていますが、チャート上では疑問符(?)として表示されます。フォントはunicodeで、ラベルのプロパティのダイアログで、フォントを含むドロップダウンリストで正しく選択されています。 Artyom Trishkin 2014.07.08 19:14 #11680 stringo:https://www.mql5.com/ru/docs/basis/types/casting「単純構造型のデータ変換」段落はこちら。これはまさにあなたのケースですね。ダブレットはロングに比べ、文字数の精度が非常に低くなります。だから、単純な割り当てでこのような結果になるのです。しかし、グローバル変数の64ビットをフルに使って、64ビット長の情報(8バイト長の短い文字列など。 長さは言うに及ばず)を格納することができます。 はい、読ませていただきました、ありがとうございます。 1...116111621163116411651166116711681169117011711172117311741175...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
タ・マァー...
転送前のロングからダブルを入れる必要があります。グローバル 変数の場合。対数ビットなので、1.34*e-307にも4.29*e+120にもなり、ゼロではない、ただのランダムダブルです。
ダブからロングに解凍して転送後。
それだけです。
OK、あなたはそれを得た;)
OK、あなたはそれを得た;)
まあ......何が不明瞭なのか理解できないんですけどね。
doubleはデータを切り捨てるので、longからdoubleに直接転送することはできません。しかし、どちらも8バイトずつなので、例でやったようにdoubleをコンテナとして使うだけでロスレス転送が可能です。
まあ何が不明なのか理解できないだけなんですけどね。
doubleはデータを切り捨てるので、longからdoubleに直接転送することはできません。しかし、どちらも8バイトずつなので、例でやったようにdoubleをコンテナとして使うだけでロスレス転送が可能です。
Andreyさん、端末のGVでの保存と表示の形式が分かりませんでした。グラフIDが表示されていたようですが、0と表示されています。
GVでは見た目はゴミのようなものが表示されますが、この「ゴミ」は逆変換後にチャートIDになります。
デュブルは独自のデータフォーマットを持っていて、ロングをタックするときはデュブルフォーマットをつけて、ちょうど8バイトのメモリとして使っています。
GVは見た目はゴミのようなものが表示されますが、この「ゴミ」は逆変換後にグラフIDになります。
デュブルは独自のデータフォーマットを持っており、デュブルをタックする際にはデュブルフォーマットを付けて、単純に8バイトのメモリとして使用します。
どちらかというと、質問です。
名前から端末の既存のGVを探す。これを通じて、EAが動作しているチャートのIDがインジケータに渡されます。インジケータは別の記号にぶら下がっている。つまり、Expert Advisorが動作しているチャートのIDをインジケータに渡したいのです。こんな風に探しています。
これは、端末が教えてくれる。
変数を読み取ろうとした。文字列に直接入れたり、ジャーナルに入れたり、違う種類の変数に入れたり......全部同じです。違いは2つあります。
何がいけないんですか?
https://www.mql5.com/ru/docs/basis/types/casting「単純構造体のデータ変換」段落はこちら。
まさにあなたのケースですね。ダブレットはロングに比べ、文字数の精度が非常に低くなります。だから、単純な割り当てでこのような結果になるのです。
しかし、グローバル変数の64ビットをフルに使って、64ビット長のどんな情報も格納できます(8バイト長の短い文字列のようなもの。 長さは言うまでもありません)。
Expert AdvisorはM2、インジケーターデータはM3から取得します。
1) 14:40に端末の再起動があります。
MD 0 14:40:06.009 Terminal MetaTrader 5 Alfa-Forex x64 build 930 を起動しました。
II 0 14:40:06.586 Terminal OpenCL が見つかりません、パフォーマンスを上げるために最新の OpenCL ドライバをインストールしてください。
JO 0 14:40:07.257 専門家 専門家 FX_Money_Flow_v1_06 (EURUSD,M2) 正常にロードされました。
RO 0 19:55:28.399 Terminal MetaTrader 5 Alfa-Forex x64 build 930 を起動しました。
OP 0 19:55:28.992 Terminal OpenCL が見つかりません、最新の OpenCL ドライバをインストールしてください。
RD 0 19:55:29.507 専門家 専門家 FX_Money_Flow_v1_07 (EURUSD,M2) ロードに成功しました。
しかし、常に正常に動作するわけではありません。
KF 0 23:59:51.987 FX_Money_Flow_v1_07 (EURUSD,M2) ファクター値 TF1指標: -1.#QNAN -1.#QNAN
この時、M3チャートは開いていて、そこには全てを正しく表示するインジケーターがあります。
(端末とログの時差は5時間、スクリーンショットは2回目の再起動のものです。)
https://www.mql5.com/ru/docs/basis/types/casting「単純構造型のデータ変換」段落はこちら。
これはまさにあなたのケースですね。ダブレットはロングに比べ、文字数の精度が非常に低くなります。だから、単純な割り当てでこのような結果になるのです。
しかし、グローバル変数の64ビットをフルに使って、64ビット長の情報(8バイト長の短い文字列など。 長さは言うに及ばず)を格納することができます。