Стратегию TradingView (24 строки) переписать под советник MQL 4/5

MQL5 专家 转化中

工作已完成

执行时间11 天
客户反馈
Профессионал. Рекомендую!

指定

Нужно взять стратегию на 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 раз одно и то же в разных файлах.

附加的文件:

反馈

1
开发者 1
等级
(251)
项目
402
38%
仲裁
82
41% / 20%
逾期
70
17%
已载入
2
开发者 2
等级
(16)
项目
18
6%
仲裁
1
0% / 100%
逾期
2
11%
空闲
3
开发者 3
等级
(71)
项目
254
53%
仲裁
16
50% / 38%
逾期
83
33%
空闲
4
开发者 4
等级
项目
0
0%
仲裁
0
逾期
0
空闲

项目信息

预算
30+ USD
开发人员
27 USD
截止日期
 2 天