Convert Tradingview's (Pinescript) Engulfing Indicators to MQL5 for MetaTrader5 Use

Lavoro terminato

Tempo di esecuzione 1 giorno
Feedback del cliente
Excellent work! Perfectly done and quick.
Feedback del dipendente
Kind and correct customer. great!!!

Specifiche

For bearish:

//@version=4

study("Engulfing - Bearish", shorttitle = "Engulfing - Bear", overlay=true)


C_DownTrend = true

C_UpTrend = true

var trendRule1 = "SMA50"

var trendRule2 = "SMA50, SMA200"

var trendRule = input(trendRule1, "Detect Trend Based On", options=[trendRule1, trendRule2, "No detection"])


if trendRule == trendRule1

priceAvg = sma(close, 50)

C_DownTrend := close < priceAvg

C_UpTrend := close > priceAvg


if trendRule == trendRule2

sma200 = sma(close, 200)

sma50 = sma(close, 50)

C_DownTrend := close < sma50 and sma50 < sma200

C_UpTrend := close > sma50 and sma50 > sma200

C_Len = 14 // ema depth for bodyAvg

C_ShadowPercent = 5.0 // size of shadows

C_ShadowEqualsPercent = 100.0

C_DojiBodyPercent = 5.0

C_Factor = 2.0 // shows the number of times the shadow dominates the candlestick body


C_BodyHi = max(close, open)

C_BodyLo = min(close, open)

C_Body = C_BodyHi - C_BodyLo

C_BodyAvg = ema(C_Body, C_Len)

C_SmallBody = C_Body < C_BodyAvg

C_LongBody = C_Body > C_BodyAvg

C_UpShadow = high - C_BodyHi

C_DnShadow = C_BodyLo - low

C_HasUpShadow = C_UpShadow > C_ShadowPercent / 100 * C_Body

C_HasDnShadow = C_DnShadow > C_ShadowPercent / 100 * C_Body

C_WhiteBody = open < close

C_BlackBody = open > close

C_Range = high-low

C_IsInsideBar = C_BodyHi[1] > C_BodyHi and C_BodyLo[1] < C_BodyLo

C_BodyMiddle = C_Body / 2 + C_BodyLo

C_ShadowEquals = C_UpShadow == C_DnShadow or (abs(C_UpShadow - C_DnShadow) / C_DnShadow * 100) < C_ShadowEqualsPercent and (abs(C_DnShadow - C_UpShadow) / C_UpShadow * 100) < C_ShadowEqualsPercent

C_IsDojiBody = C_Range > 0 and C_Body <= C_Range * C_DojiBodyPercent / 100

C_Doji = C_IsDojiBody and C_ShadowEquals


patternLabelPosLow = low - (atr(30) * 0.6)

patternLabelPosHigh = high + (atr(30) * 0.6)


C_EngulfingBearishNumberOfCandles = 2

C_EngulfingBearish = C_UpTrend and C_BlackBody and C_LongBody and C_WhiteBody[1] and C_SmallBody[1] and close <= open[1] and open >= close[1] and ( close < open[1] or open > close[1] )

alertcondition(C_EngulfingBearish, title = "Engulfing", message = "New Engulfing - Bearish pattern detected.")

if C_EngulfingBearish

    var ttBearishEngulfing = "Engulfing\nAt the end of a given uptrend, a reversal pattern will most likely appear. During the first day, this candlestick pattern uses a small body. It is then followed by a day where the candle body fully overtakes the body from the day before it and closes in the trend’s opposite direction. Although similar to the outside reversal chart pattern, it is not essential for this pattern to fully overtake the range (high to low), rather only the open and the close."

    label.new(bar_index, patternLabelPosHigh, text="BE", style=label.style_label_down, color = color.red, textcolor=color.white, tooltip = ttBearishEngulfing)

bgcolor(highest(C_EngulfingBearish?1:0, C_EngulfingBearishNumberOfCandles)!=0 ? color.red : na, offset=-(C_EngulfingBearishNumberOfCandles-1))



For bullish:

//@version=4

study("Engulfing - Bullish", shorttitle = "Engulfing - Bull", overlay=true)


C_DownTrend = true

C_UpTrend = true

var trendRule1 = "SMA50"

var trendRule2 = "SMA50, SMA200"

var trendRule = input(trendRule1, "Detect Trend Based On", options=[trendRule1, trendRule2, "No detection"])


if trendRule == trendRule1

priceAvg = sma(close, 50)

C_DownTrend := close < priceAvg

C_UpTrend := close > priceAvg


if trendRule == trendRule2

sma200 = sma(close, 200)

sma50 = sma(close, 50)

C_DownTrend := close < sma50 and sma50 < sma200

C_UpTrend := close > sma50 and sma50 > sma200

C_Len = 14 // ema depth for bodyAvg

C_ShadowPercent = 5.0 // size of shadows

C_ShadowEqualsPercent = 100.0

C_DojiBodyPercent = 5.0

C_Factor = 2.0 // shows the number of times the shadow dominates the candlestick body


C_BodyHi = max(close, open)

C_BodyLo = min(close, open)

C_Body = C_BodyHi - C_BodyLo

C_BodyAvg = ema(C_Body, C_Len)

C_SmallBody = C_Body < C_BodyAvg

C_LongBody = C_Body > C_BodyAvg

C_UpShadow = high - C_BodyHi

C_DnShadow = C_BodyLo - low

C_HasUpShadow = C_UpShadow > C_ShadowPercent / 100 * C_Body

C_HasDnShadow = C_DnShadow > C_ShadowPercent / 100 * C_Body

C_WhiteBody = open < close

C_BlackBody = open > close

C_Range = high-low

C_IsInsideBar = C_BodyHi[1] > C_BodyHi and C_BodyLo[1] < C_BodyLo

C_BodyMiddle = C_Body / 2 + C_BodyLo

C_ShadowEquals = C_UpShadow == C_DnShadow or (abs(C_UpShadow - C_DnShadow) / C_DnShadow * 100) < C_ShadowEqualsPercent and (abs(C_DnShadow - C_UpShadow) / C_UpShadow * 100) < C_ShadowEqualsPercent

C_IsDojiBody = C_Range > 0 and C_Body <= C_Range * C_DojiBodyPercent / 100

C_Doji = C_IsDojiBody and C_ShadowEquals


patternLabelPosLow = low - (atr(30) * 0.6)

patternLabelPosHigh = high + (atr(30) * 0.6)


C_EngulfingBullishNumberOfCandles = 2

C_EngulfingBullish = C_DownTrend and C_WhiteBody and C_LongBody and C_BlackBody[1] and C_SmallBody[1] and close >= open[1] and open <= close[1] and ( close > open[1] or open < close[1] )

alertcondition(C_EngulfingBullish, title = "Engulfing", message = "New Engulfing - Bullish pattern detected.")

if C_EngulfingBullish

    var ttBullishEngulfing = "Engulfing\nAt the end of a given downward trend, there will most likely be a reversal pattern. To distinguish the first day, this candlestick pattern uses a small body, followed by a day where the candle body fully overtakes the body from the day before, and closes in the trend’s opposite direction. Although similar to the outside reversal chart pattern, it is not essential for this pattern to completely overtake the range (high to low), rather only the open and the close."

    label.new(bar_index, patternLabelPosLow, text="BE", style=label.style_label_up, color = color.blue, textcolor=color.white, tooltip = ttBullishEngulfing)

bgcolor(highest(C_EngulfingBullish?1:0, C_EngulfingBullishNumberOfCandles)!=0 ? color.blue : na, offset=-(C_EngulfingBullishNumberOfCandles-1))


*The bullish and bearish indicators shall be combined into one indicator, any object e.g. arrow can be used to indicate the signal, plus integration of alerts. Trend rules not necessary and may be removed for simplicity. Conditions in bold text are the only ones necessary to create arrow object and alert. Thank you.


Con risposta

1
Sviluppatore 1
Valutazioni
(174)
Progetti
200
12%
Arbitraggio
39
38% / 33%
In ritardo
5
3%
Gratuito
Pubblicati: 2 codici
2
Sviluppatore 2
Valutazioni
(132)
Progetti
178
39%
Arbitraggio
4
25% / 50%
In ritardo
14
8%
Gratuito
3
Sviluppatore 3
Valutazioni
(412)
Progetti
543
75%
Arbitraggio
9
44% / 0%
In ritardo
24
4%
Gratuito
Ordini simili
Part 1: Project setup Input settings (risk, stop loss, take profit, EMA periods) Indicator initialization Trade management framework Part 2: Trading logic EMA crossover detection Buy/Sell entry rules One-trade-per-symbol check Part 3: Risk management Automatic lot size calculation Stop-loss and take-profit placement Trade execution and error handling Part 4: Final touches On-screen information Optimization
I am looking for an experienced MQL5 or MQL4 developer with a strong background in low-latency algorithmic trading, market data integration, arbitrage and execution optimization. The project involves developing a high-performance HFT Expert Advisor (EA) for XAUUSD or US30 on IC Markets that is designed for robust execution in both demo and live environments. The EA may use market data feeds (such as lmax,one zero or
Pine Script Integration Request (Experienced Coders Only) I am looking for a highly experienced Pine Script developer to integrate a Demand & Supply Zone module into my existing indicator. Requirements Keep my current indicator (Rudy) exactly as it is. Do NOT modify, remove, or alter any existing logic, calculations, signals, alerts, or visual elements. Add only the Demand & Supply Zone boxes from a second Pine
I require a custom EA and an accompanying custom indicator built in MQL5 for Meta Trader 4/5. The EA must be fully automated (Algo Trading); Telegram-Signal-Linked and named 'AMK Fx'
I need an Ai trading bot for Binance and BTC on MT5 that also uses order flow data. It should also make use of TSI- Temporal indicator sampling and also it should make use of fundamental analysis in the process of signal generation

Informazioni sul progetto

Budget
30 - 40 USD
Scadenze
da 2 a 4 giorno(i)