スクリプト: MT5からMT4のSetファイルコンバーター - ページ 2

 
残念ながら、いくつかのENUM(特にENUM_TIMEFRAMESとENUM_APPLIED_PRICE)の異なる数値表現は考慮されていない。
 

リチャード・ガニングさん、スクリプトありがとうございます!

残念ながら、MT4とMT5で数値が異なるため、一部のENUM(TIMEFRAME、APPLIED_PRICE)では使用できません。

修正する予定はありますか?

ありがとうございました。

 
私のインジケータをMT4に変換したいのですが、コンバータが動作しません。
 
binaire72 # :

私は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」に配置します。内容は以下のように記述します。

[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.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

変更したソースコードを添付します。

ファイル: