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

Job finished

Execution time 1 day
Feedback from employee
Kind and correct customer. great!!!
Feedback from customer
Excellent work! Perfectly done and quick.

Specification

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.


Responded

1
Developer 1
Rating
(174)
Projects
200
12%
Arbitration
39
38% / 33%
Overdue
5
3%
Free
Published: 2 codes
2
Developer 2
Rating
(132)
Projects
178
39%
Arbitration
4
25% / 50%
Overdue
14
8%
Free
3
Developer 3
Rating
(412)
Projects
543
75%
Arbitration
9
44% / 0%
Overdue
24
4%
Free
Similar orders
Im looking for a developer who can replicate a ea called gold scalper advanced, i dont have the source code for it, all i want to do is add more features such as tp sl and trailing sl into the input section
Here is a professional, detailed requirements specification draft for your MQL5 freelance order based on your prompt: ​ Strategy Objective: Develop an automated Expert Advisor (EA) featuring a 1:3 Risk-to-Reward ratio optimized for a small starting budget. ​ Core Trading Logic: ​Execute automatic Buy and Sell trades using high-probability entry signals. ​Target a strict 90% theoretical win-rate structure through
i want to fix my gold martingale bot MT5. RSI 14 ENTRY 30 BUY 70 SELL Lot 0.02 0.04 0.07 TP 150 for all SL 90 30 30 once total daily profit is 200$ stop trading stop trading once 2 consecutives total losses stop trading if spread exceeded 30 and between hour 15 & 17 PM Move SL to breakeven point once the profit exceeded 50 from from breakeven thanks
MarketMind Breakout Pro XAUUSD H1 — Donchian Breakout EA Project type: Personal EA development and backtesting Platform: MetaTrader 5 Instrument: XAUUSD Timeframe: H1 Strategy: Donchian Channel breakout with EMA 200 Project overview This project evaluates a Donchian breakout trading strategy for XAUUSD on the H1 timeframe. The system uses channel-based breakout conditions and an EMA 200 trend filter. Historical
The purpose of this order is ONLY to test and implement my H1 POI (Point of Interest) identification logic correctly. I am not requesting the complete EA at this stage. I will provide the exact rules for identifying the H1 POI after selecting the developer. The developer must convert those rules into clear, deterministic MQL5 logic. Requirements: Analyze H1 candles according to the rules I provide. Identify and mark
Diusang 50 - 533 USD
TITLE: Diusang EA - [ e.g. Gold M1 Scalping Robot ] 1. PLATFORM: MT4 or MT5 ? 2. PAIR / TIMEFRAME: e.g. XAUUSD M1, M5 3. STRATEGY LOGIC: - Entry Buy when: ... - Entry Sell when: ... - Indicator settings: ... 4. RISK MANAGEMENT: - Lot size: Fixed 0.01 / Auto lot from balance? - Stop Loss: ... pips - Take Profit: ... pips - Max trades: ... 5. OTHER FEATURES: - Trailing stop? Yes/No - Trading hours
Title: Fully Automatic MT5 Trading Bot (Expert Advisor) with Risk Management I want a fully automated trading robot (Expert Advisor) for MetaTrader 5, written in MQL5. The bot must automatically analyse market data, identify trading opportunities, execute BUY and SELL orders, manage open positions, and close trades according to predefined rules without requiring manual confirmation for each trade. Requirements
Hello, I’m looking for an experienced developer to research, build, test, and install a fully automated MetaTrader 5 trading bot for gold, XAUUSD. My total development and installation budget is $300, including all agreed work and fees. My goal is to pass a $100,000 FTMO US Two-Step Standard evaluation and sustainably maintain the funded account. I need a day-trading strategy that can buy in bullish markets and sell
I have three indicators that operate independently. I want to combine them into one indicator with custom expert programming that automatically enters trades when a signal is generated by one of the indicators. I will pay for this service Thanks you
Existing EA: NEW_CORE_ORB_M5_v021 | MT5 | XAUUSD M5 Early-stage research prototype, not a new EA from scratch. Need an experienced MQL5 developer to audit, complete, repair, improve and test BOTH independent strategies equally: Opening Range Breakout (ORB) and Scalp. Keep code lightweight and preserve an untouched baseline. No unnecessary rewrite or complex filters. 1. ORB Strategy Verify opening-range construction

Project information

Budget
30 - 40 USD
Deadline
from 2 to 4 day(s)