スクリプト: MT5からMT4のSetファイルコンバーター - ページ 2 12 新しいコメント Andrey Khatimlianskii 2020.10.28 14:12 #11 残念ながら、いくつかのENUM(特にENUM_TIMEFRAMESとENUM_APPLIED_PRICE)の異なる数値表現は考慮されていない。 Andrey Khatimlianskii 2020.10.28 14:22 #12 リチャード・ガニングさん、スクリプトありがとうございます! 残念ながら、MT4とMT5で数値が異なるため、一部のENUM(TIMEFRAME、APPLIED_PRICE)では使用できません。 修正する予定はありますか? ありがとうございました。 Pascal Scattareggia 2021.09.06 10:14 #13 私のインジケータをMT4に変換したいのですが、コンバータが動作しません。 Pascal Scattareggia 2021.09.06 11:25 #14 binaire72 # : 私はMT5インジケータを使用しており、あなたのスクリプトを使用してMT4ファイルに変換しました。しかし、MQL4/ex4ファイルなしでMT4ファイルを使用する方法はわかりません。 MT4/ex4 ファイルなしで MT4 グラフィックを MT4 ジューに変換する方法を教えてください。 MQL5ファイルをMQL4ファイルに変換できますか? こんにちは、このスクリプトでどのように変換しましたか? tory_ 2023.05.07 17:56 #15 ENUM_TIMEFRAMESとENUM_APPLIED_PRICEは考慮することができません:セットファイルは型に関する情報を保存しません - そして、変数名から型を推測することは賢明な考えではありません。 これはかなり一般的な問題で、コード内でプラットフォームに適した値に変換されることが予測できる別の型を導入することで回避できます。 たとえば、分という整数値を格納し、MT4 コードでは単純な変換で解釈し、MT5 コードでは少し複雑なスイッチで解釈します。 そして、互換性のないタイムフレームの問題がありますが、これは別の問題です。 スクリプトのコードを調べたところ、いくつかの状況を正しく処理できていないことがわかりました。 例えば、値に「等号」が含まれている場合。 あるいは、値が空の場合(MT4ネットワークでは「(null)」が表示される)。 修正 ファイル: SetFileConverter.mq5 5 kb Rodrigo Manrique Rosa 2025.04.27 14:41 #16 まったく機能しなかった SORA PAPA 2025.05.17 08:02 #17 スクリプト、ありがとうございます。 以下の点を変更して使っています。 修正: ソースコードのスタイルはClangFormatによってGoogleスタイルにフォーマットした。(申し訳ありません。個人的な好みです。) 修正: コメント行をスキップするように変更した。 修正: パラメーター/値の抽出にSplit()を使わないことで、値の「=」が削除されないようにした。 追加: 特定のパラメーターを別の値に変更する。パラメーターと値のペアは「SetFileConveter.ini 」ファイルの[ChangeKeyValue]セクションから読み込まれる。 追加: ENUM_TIMEFRAMES型パラメーターの値をMT4用の値に変更する。変換対象のENUM_TIMEFRAMES型パラメーターは「SetFileConveter.ini 」ファイルの[TimeframeKey]セクションから読み込まれる。 追加:ENUM_APPLIED_PRICE型パラメーターの値をMT4用の値に変更する。変換対象のENUM_APPLIED_PRICE型パラメーターは「SetFileConveter.ini 」ファイルの[PriceKey]セクションから読み込まれる。 「SetFileConveter.ini 」は、「MQL5/Files」に配置します。内容は以下のように記述します。 [ChangeKeyValue] MaxSpreadPips=1.0 NormalSpreadPips=0.5 SummerTimeType=2 [TimeframeKey] WaitForNextEntry_TF EXIT_BY_BB_TF_ [PriceKey] ENTRY_BY_BB_Price EXIT_BY_BB_Price 変更したソースコードを以下に添付しました。 ファイル: SetFileConverter.mq5 13 kb SORA PAPA 2025.05.22 11:33 #18 「SetFileConverter.ini」ファイルのセクションを、ファイルごとに指定できるようにしました。 セクション名の後ろに「| ファイル名」を追加して指定します。記述例は以下の通りです。 [ChangeKeyValue] MaxSpreadPips=1.0 NormalSpreadPips=0.5 SummerTimeType=2 [TimeframeKey] WaitForNextEntry_TF EXIT_BY_BB_TF_ [TimeframeKey | CheckTheTrend.set] CheckTF1_GMMA CheckTF2_GMMA CheckTF3_GMMA CheckTF4_GMMA CheckTF5_GMMA CheckTF6_GMMA [PriceKey] ENTRY_BY_BB_Price EXIT_BY_BB_Price 変更したソースコードを添付します。 ファイル: SetFileConverter.mq5 15 kb 12 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
リチャード・ガニングさん、スクリプトありがとうございます!
残念ながら、MT4とMT5で数値が異なるため、一部のENUM(TIMEFRAME、APPLIED_PRICE)では使用できません。
修正する予定はありますか?
ありがとうございました。
私はMT5インジケータを使用しており、あなたのスクリプトを使用してMT4ファイルに変換しました。しかし、MQL4/ex4ファイルなしでMT4ファイルを使用する方法はわかりません。
MT4/ex4 ファイルなしで MT4 グラフィックを MT4 ジューに変換する方法を教えてください。
MQL5ファイルをMQL4ファイルに変換できますか?
ENUM_TIMEFRAMESとENUM_APPLIED_PRICEは考慮することができません:セットファイルは型に関する情報を保存しません - そして、変数名から型を推測することは賢明な考えではありません。
これはかなり一般的な問題で、コード内でプラットフォームに適した値に変換されることが予測できる別の型を導入することで回避できます。
たとえば、分という整数値を格納し、MT4 コードでは単純な変換で解釈し、MT5 コードでは少し複雑なスイッチで解釈します。
そして、互換性のないタイムフレームの問題がありますが、これは別の問題です。
スクリプトのコードを調べたところ、いくつかの状況を正しく処理できていないことがわかりました。
例えば、値に「等号」が含まれている場合。
あるいは、値が空の場合(MT4ネットワークでは「(null)」が表示される)。
修正
スクリプト、ありがとうございます。
以下の点を変更して使っています。
修正: ソースコードのスタイルはClangFormatによってGoogleスタイルにフォーマットした。(申し訳ありません。個人的な好みです。)
修正: コメント行をスキップするように変更した。
修正: パラメーター/値の抽出にSplit()を使わないことで、値の「=」が削除されないようにした。
追加: 特定のパラメーターを別の値に変更する。パラメーターと値のペアは「SetFileConveter.ini 」ファイルの[ChangeKeyValue]セクションから読み込まれる。
追加: ENUM_TIMEFRAMES型パラメーターの値をMT4用の値に変更する。変換対象のENUM_TIMEFRAMES型パラメーターは「SetFileConveter.ini 」ファイルの[TimeframeKey]セクションから読み込まれる。
追加:ENUM_APPLIED_PRICE型パラメーターの値をMT4用の値に変更する。変換対象のENUM_APPLIED_PRICE型パラメーターは「SetFileConveter.ini 」ファイルの[PriceKey]セクションから読み込まれる。
「SetFileConveter.ini 」は、「MQL5/Files」に配置します。内容は以下のように記述します。
変更したソースコードを添付します。