Скрипты: MT5 to MT4 Set File Converter - страница 2

 
К сожалению, не учтены различные цифровые представления некоторых ENUM-ов (в частности, ENUM_TIMEFRAMES и ENUM_APPLIED_PRICE).
 

@Richard Gunning, спасибо за ваш скрипт!

К сожалению, он не может быть использован с некоторыми ENUM (TIMEFRAME, APPLIED_PRICE), потому что числовые значения отличаются для MT4 и MT5.

Собираетесь ли вы это исправить?

Еще раз спасибо.

 
Здравствуйте, ваш конвертер не работает на MT5? Потому что я хотел бы конвертировать мой индикатор в MT4, но ваш конвертер не работает, если я не понимаю, как его использовать, не могли бы вы мне помочь, спасибо большое
 
binaire72 # :

Я хотел бы иметь индикатор MT5 и я конвертировал его в fichier de jeu MT4 с помощью вашего скрипта. Но вы не знаете, как использовать файл MT4 без файла MQL4/ex4.

Comment puis-je charger le fichier de jeu MT4 converti sur le graphique MT4 sans les fichiers MT4/ex4?

Возможно ли конвертировать файл MQL5 в файл MQL4?

Здравствуйте, как вы сделали с этим скриптом, чтобы конвертировать, потому что я не могу, вы можете помочь мне?
 

Учесть ENUM_TIMEFRAMES и ENUM_APPLIED_PRICE нельзя: set файл не сохраняет информацию о типе - и угадывать этот тип по именам переменных не представляется осмысленной идеей.

Это довольно распространенная проблема и обойти ее можно введением другого типа, который будет в коде предсказуемо конвертироваться в значение, подходящее для платформы.

Например, сохранять целочисленное значение минут, и интерпретировать его в коде MT4 простой конвертацией, а в коде MT5 - чуть более сложным switch

Ну и останется проблема несовместимых таймфреймов, это отдельный вопрос.


Я заглянул в код скрипта и обнаружил, что он не обрабатывает некоторые ситуации корректно.

Например, если в значении содержатся знаки "равно".

Или если значение пустое (у нас появляется "(null)" в сете МТ4)

Поправил

Файлы:
 
Не работает вообще
 

Сценарий, спасибо.

Я изменил следующие пункты, чтобы использовать его.


Исправление: стиль исходного кода отформатирован в стиль Google с помощью ClangFormat. (Извинения. Личное предпочтение.)

FIX: Изменен пропуск строк комментариев.

Исправление: Не используйте Split() для извлечения параметров/значений, чтобы не удалять '=' в значении.

Добавлено: изменение одних параметров на другие. Пары параметров/значений считываются из секции [ChangeKeyValue] файла 'SetFileConveter.ini'.

Добавлено: Изменение значения параметра типа ENUM_TIMEFRAMES на значение для MT4. Преобразуемые параметры типа ENUM_TIMEFRAMES считываются из секции [TimeframeKey] файла 'SetFileConveter.ini'.

Дополнительно: Измените значение параметра типа ENUM_APPLIED_PRICE на значение для MT4. Преобразуемый параметр типа ENUM_APPLIED_PRICE считывается из секции [PriceKey] файла 'SetFileConveter.ini'.

Файл '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

Модифицированный исходный код прилагается.

Файлы: