Разбор индикатора с Tradingview ( Heiken Ashi zero lag EMA v1.1 by JustUncleL )

Specification

Индикатор  Heiken Ashi zero lag EMA v1.1 by JustUncleL использует в своих выводах несколько показателей.

необходимо разобрать все показатели в математические функции, и  в дальнейшем все это описать на Python

общий смысл:

-есть свое приложение написанное на Python(Back-end) и его визуальная часть(Front-endJavaScript  на  по сути тот же Tradingview, необходимо перенести туда индикатор  Heiken Ashi zero lag EMA v1.1 by JustUncleL.

есть исходный код индикатора Heiken Ashi zero lag EMA v1.1 by JustUncleL взятый с Tradingview:



/@version=2

// Title: Heiken Ashi with non lag dot by JustUncleL

// Author: JustUncleL

// Version: 0.2

// Date: 5-feb-2016

//

// Description:

//  This Alert indicator utilizes the Heiken Ashi with non lag EMA was a scalping and intraday trading system

//  that has been adapted also for trading with binary options high/low. There is also included

//  filtering on MACD direction and trend direction as indicated by two MA: smoothed MA(11) and EMA(89).

//  The the Heiken Ashi candles are great as price action trending indicator, they shows smooth strong 

//  and clear price fluctuations.

//  

//  Financial Markets: any.

//  Optimsed settings for 1 min, 5 min and 15 min Time Frame;

//  Expiry time for Binary options High/Low 3-6 candles.

//

//  Indicators used in calculations:

//  - Exponential moving average, period 89

//  - Smoothed moving average, period 11

//  - Non lag EMA, period 20

//  - MACD 2 colour (13,26,9)

//

//

//  Generate Alerts use the following Trading Rules

//    Heiken Ashi with non lag dot

//    Trade only in direction of the trend.

//    UP trend moving average 11 period is above Exponential moving average 89 period,

//    Doun trend moving average 11 period is below Exponential moving average 89 period,

//

//  CALL Arrow appears when:

//    Trend UP SMA11>EMA89 (optionally disabled),

//    Non lag MA blue dot and blue background.

//    Heike ashi green color.

//    MACD 2 Colour histogram green bars (optional disabled).

//

//  PUT Arrow appears when:

//    Trend UP SMA11<EMA89 (optionally disabled),

//    Heike ashi red color.

//    Non lag MA red dot and red background

//    MACD 2 colour histogram red bars (optionally disabled).

// 

// Modifications:

//  0.2 - Added MACD and directional filtering.

//        Added background highlighting of Zero Lag EMA dots.

//        Replaced Bollinger Band squeeze indicator with MACD 2 colour

//  0.1 - Original version.

//

// References:

// - Almost Zero Lag EMA [LazyBear]

// - MACD 2 colour v0.2 by JustUncleL

// - http://www.forexstrategiesresources.com/binary-options-strategies-ii/163-heiken-ashi-with-non-lag-dot/

//

study(title = "Heiken Ashi zero lag EMA v1.1 by JustUncleL", shorttitle="HAZEMA v1.1 by JustUncleL", overlay=true)

//

FastLen = input(11,minval=2,title="Fast Smoothed MA Length")

SlowLen = input(89,minval=10,title="Slow EMA Length")

length=input(20, minval=2,title="Zero Lag EMA (DOTS) Length")

umaf = input(true,title="Use Trend Directional Filter")

//Collect source input and Moving Average Lengths

//

// Use only Heikinashi Candles for all calculations

srcClose = security(heikinashi(tickerid), period, close)

srcOpen =  security(heikinashi(tickerid), period, open)

srcHigh =  security(heikinashi(tickerid), period, high)

srcLow =   security(heikinashi(tickerid), period, low)

//

//

fastMA = input(title="MACD Fast MA Length", type = integer, defval = 13, minval = 2)

slowMA = input(title="MACD Slow MA Length", type = integer, defval = 26, minval = 7)

signal = input(title="MACD Signal Length",  type = integer, defval = 9, minval=1)

umacd  = input(true,title="Use MACD Filtering")

//

[currMacd,currSig,_] = macd(srcClose[0], fastMA, slowMA, signal)

macdH = currMacd > 0 ? rising(currMacd,3) ? green : red : falling(currMacd,3) ? red : green

//

//Calculate No lag EMA

ema1=ema(srcClose, length)

ema2=ema(ema1, length)

d=ema1-ema2

zlema=ema1+d

col =  zlema > zlema[1] ? blue : red

up = zlema > zlema[1] ? true : false

down = zlema < zlema[1] ? true : false

// Draw the DOT no lag MA and colour background to make it easier to see.

plot(zlema,color=col, style=circles, linewidth=4, transp=30, title="HAZEMA ZEMA line")

bgcolor(col, transp=85)


//

// Calculate Smoothed MA and EMA

FastMA = na(FastMA[1]) ? sma(srcClose, FastLen) : (FastMA[1] * (FastLen - 1) + srcClose) / FastLen

SlowMA = ema(srcClose,SlowLen)


// Draw the directional MA's

plot(FastMA,color=olive,transp=0,style=line,linewidth=2)

plot(SlowMA,color=red,transp=0,style=line,linewidth=2)


//

//Calculate potential Entry point

trendup = up and srcOpen<srcClose and (not umaf or FastMA>SlowMA) and (not umacd or macdH==green)? na(trendup[1]) ? 1 : trendup[1]+1 : 0

trenddn = down and srcOpen>srcClose and (not umaf or FastMA<SlowMA) and (not umacd or macdH==red)? na(trenddn[1]) ? 1 : trenddn[1]+1 : 0

//Plot PUT/CALL pointer for entry

plotshape(trenddn==1, title="HAZEMA Up Arrow", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small,text="PUT")

plotshape(trendup==1,  title="HAZEMA Down Arrow", style=shape.triangleup,location=location.belowbar, color=green, transp=0, size=size.small,text="CALL")


// Create alert to signal entry and plot circle along bottom to indicate alarm set

trendalert = trendup==1 or trenddn==1

alertcondition(trendalert,title="HAZEMA Alert",message="HAZEMA Alert")

plotshape(trendalert[1],  title="HAZEMA Alert Dot", style=shape.circle,location=location.bottom, color=trendup[1]?green:trenddn[1]?red:na, transp=0,offset=-1)


//EOF

Responded

1
Developer 1
Rating
(4)
Projects
5
40%
Arbitration
1
0% / 100%
Overdue
0
Free
Published: 1 code
2
Developer 2
Rating
(1)
Projects
1
0%
Arbitration
1
0% / 100%
Overdue
0
Free
Similar orders
Описание задачи: Нужен опытный разработчик на MQL4, который поможет другому программисту (работает через нейросеть, но слабо знаком с MQL4) разобраться в логике и корректно реализовать советника. Цель проекта: Создать стабильного советника, который будет принимать сигналы с мастер-счёта (счёт трейдера у брокера N) и синхронизировать их на клиентском счёте. ✅ Основной функционал: Синхронизация сделок между счётами
Название: MT4 копировщик сделок через Telegram + лицензии (Master → Client) Описание: Нужно разработать 2 советника (MQL4) + Telegram-бот: Master EA — отправляет сделки с моего счёта в Telegram-канал/группу (OPEN/CLOSE/MODIFY, SL/TP, Magic фильтр). Client EA — принимает сигналы из Telegram и исполняет сделки на счёте клиента. Обязательные требования: Формат сообщений
Добавить в советник функцию принудительного закрытия ордеров при достижении определенной просадки (настраивается вручную) Добавить в советник ещё три уровня ENUM_TIMEFRAMES Level_X_TF и Level_X_D Добавить в советник режим адаптации параметров («Умная защита»), который активируется при обнаружении серии неэффективных усреднений (подробное описание в ТЗ) Добавить в инфопанель советника прибыль за год и индикацию о том

Project information

Budget
30 - 150 USD
For the developer
27 - 135 USD
Deadline
to 15 day(s)