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

İş Gereklilikleri

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


Dosyalar:

PNG
ag0.png
114.8 Kb

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(24)
Projeler
35
23%
Arabuluculuk
15
27% / 67%
Süresi dolmuş
6
17%
Serbest
2
Geliştirici 2
Derecelendirme
(253)
Projeler
408
38%
Arabuluculuk
86
43% / 19%
Süresi dolmuş
70
17%
Çalışıyor
3
Geliştirici 3
Derecelendirme
(563)
Projeler
932
47%
Arabuluculuk
301
59% / 25%
Süresi dolmuş
124
13%
Çalışıyor
4
Geliştirici 4
Derecelendirme
Projeler
2
0%
Arabuluculuk
2
50% / 50%
Süresi dolmuş
0
Serbest

Proje bilgisi

Bütçe
30+ USD
Geliştirici için
27 USD
Son teslim tarihi
to 3 gün