Стратегию TradingView переписать под МТ 4/5

Техническое задание

Нужно взять стратегию на Pine с TradingView. Название "Heikin Ashi Strategy [Krypt]". Исходный код ниже:

strategy("Heikin Ashi Strategy [Krypt]", shorttitle="HA Strategy [Krypt]", overlay=true)

res = input(title="Heikin Ashi Candle Time Frame", type=resolution, defval="60")
hshift = input(1,title="Heikin Ashi Candle Time Frame Shift")
res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(1,"Heikin Ashi EMA Period")
test = input(1,"Heikin Ashi EMA Shift")
sloma = input(30,"Slow EMA Period")
slomas = input(1,"Slow EMA Shift")
logtransform = input(false, "Log Transform")
stoploss = input(true, "Stop Loss")
showplots = input(true, "Show Plots")

ha_t = heikinashi(tickerid)
ha_close = security(ha_t, res, logtransform ? log(close[hshift]) : close[hshift])
mha_close = security(ha_t, res1, logtransform ? log(close[mhshift]) : close[mhshift])

fma = ema(mha_close[test], fama)
sma = ema(ha_close[slomas], sloma)

plot(showplots ? (logtransform ? exp(fma) : fma) : na, title="MA", color=#0094ff, linewidth=2, style=line)
plot(showplots ? (logtransform ? exp(sma) : sma) : na, title="SMA", color=#ff6a00, linewidth=2, style=line)

golong = crossover(fma, sma)
goshort = crossunder(fma, sma)

strategy.entry("Buy", strategy.long, when=golong, stop=(stoploss ? high+syminfo.mintick : na))
strategy.entry("Sell", strategy.short, when=goshort, stop=(stoploss ? low-syminfo.mintick : na))

На графике в Metatrader, также рисуем все визуально, как и в Trading View.

В советнике должны быть все настройки из скрина в приложении. А также  Magic Number, Проскальзывание, Тип лота (Фиксированный/Процент от депозита), время работы, stop loss.

Тип лота  Процент от депозита должен корректно рассчитываться для CFD/валютных пар Форекс, крипты (ByBit брокер) и акций/фьючерсов мск биржи (Открытие брокер).


Время работы - При окончании времени работы все позиции принудительно закрываются. Если время работы не указано, то ничего не закрываем.

Stop loss - Если стоп указан, то закрываем позицию по стопу и далее открываем новую позицию, когда поступит новый сигнал на открытие. Если стоп не указан, то просто по условиям стратегии.

На выходе нужно 2 исходника на MQL 4 и 5.

Предлагаю сначала сделать под 5 версию. Далее я протестирую что все ок, и перенесем под 4, чтобы не править по 10 раз одно и то же в разных файлах.


Файлы:

PNG
ag0.png
114.8 Kb

Откликнулись

1
Разработчик 1
Оценка
(23)
Проекты
34
21%
Арбитраж
15
27% / 67%
Просрочено
6
18%
Свободен
2
Разработчик 2
Оценка
(251)
Проекты
402
38%
Арбитраж
82
41% / 20%
Просрочено
70
17%
Работает
3
Разработчик 3
Оценка
(560)
Проекты
927
48%
Арбитраж
301
59% / 25%
Просрочено
123
13%
Загружен
4
Разработчик 4
Оценка
Проекты
2
0%
Арбитраж
2
50% / 50%
Просрочено
0
Свободен

Информация о проекте

Бюджет
30+ USD
Исполнителю
27 USD
Сроки выполнения
до 3 дн.