Convert TV Strategy into a Mt4 or Mt5 EA

MQL5 지표 EA

작업 종료됨

실행 시간 17 분
피고용인의 피드백
Thank you for the job. Good luck!

명시

Hi, I am looking for a developer to convert a TV strategy into a Mt4 or Mt5 EA. The strategy is based on the EMA and the CVD volume indicator. I dont have the Mt4 or Mt5 version of these indicators. Copy the code below and place it in your TV to see the strategy. Other features:

Stop loss - Option to either use pips of my choosing or close on opposite signal appears. 

Take profit -  Option to either use pips of my choosing or close on opposite signal appears. 

EMA Filter - Must have the option to turn off and on and choose the EMA length 

Time Filter 

Trailing Stop - Can be based on pips or any other idea you may have 

Recovery - Martingale - Allow me to choose the lot size it will increase by. It will only kick in if the previous entry or entries close in a loss. It must stop or reset 

Add to winning trade - For example, a buy trade is taken and its in profit, sometimes price pulls back with 2 or more red candles, after this, a green candle must engulf any of the red candles. Once this happens additional buy entries must be taken. Allow me to choose the lot size. 

How It Takes Buy and Sell Entries:

  • Buy Entry Example:

    1. The price candle closes higher than it opened (green candle).
    2. The CVD indicator shows positive net buying (teal candle).
    3. The price is above the EMA, indicating an uptrend.
    4. The price has not crossed above the EMA more than once, and fewer than two buy signals have been generated since the last EMA crossover.
    5. All conditions are met, so the strategy enters a long position.
  • Sell Entry Example:

    1. The price candle closes lower than it opened (red candle).
    2. The CVD indicator shows negative net selling (red candle).
    3. The price is below the EMA, indicating a downtrend.
    4. The price has not crossed below the EMA more than once, and fewer than two sell signals have been generated since the last EMA crossover.
    5. All conditions are met, so the strategy enters a short position.

Summary:

This strategy combines the Cumulative Volume Delta, price action, and an EMA filter to identify trading opportunities aligned with the prevailing trend. The entry limit logic helps avoid overtrading by restricting the number of entries after an EMA crossover, while the option to enable or disable the EMA filter provides flexibility in strategy application. This approach aims to capitalize on strong, confirmed market movements while minimizing false signals.




//@version=5
strategy("CVD with Price Action and EMA Filter", overlay=true)

// Inputs
anchorInput = input.timeframe("1D", "Anchor period")
useCustomTimeframeInput = input.bool(false, "Use custom timeframe")
lowerTimeframeInput = input.timeframe("1", "Timeframe")

// EMA Filter Inputs
useEMAFilter = input.bool(true, "Use EMA Filter")
emaLength = input.int(50, "EMA Length")
emaSource = input.source(close, "EMA Source")

// Function to calculate up and down volume
upAndDownVolume() =>
    posVol = 0.0
    negVol = 0.0
   
    var isBuyVolume = true    

    switch
        close > open     => isBuyVolume := true
        close < open     => isBuyVolume := false
        close > close[1] => isBuyVolume := true
        close < close[1] => isBuyVolume := false

    if isBuyVolume
        posVol += volume
    else
        negVol -= volume

    posVol + negVol

// Determine lower timeframe
var lowerTimeframe = switch
    useCustomTimeframeInput => lowerTimeframeInput
    timeframe.isseconds     => "1S"
    timeframe.isintraday    => "1"
    timeframe.isdaily       => "5"
    => "60"

// Get volume delta for lower timeframe
diffVolArray = request.security_lower_tf(syminfo.tickerid, lowerTimeframe, upAndDownVolume())

// Calculate CVD
getHighLow(arr) =>
    float cumVolume = na
    float maxVolume = na
    float minVolume = na

    for item in arr
        cumVolume := nz(cumVolume) + item
        maxVolume := math.max(nz(maxVolume), cumVolume)
        minVolume := math.min(nz(minVolume), cumVolume)

    [maxVolume, minVolume, cumVolume]

[maxVolume, minVolume, lastVolume] = getHighLow(diffVolArray)

var cumulLastVolume = 0.0
anchorChange = timeframe.change(anchorInput) or (not na(lastVolume) and na(lastVolume[1]))
cumulOpenVolume = anchorChange ? 0.0 : cumulLastVolume[1]
cumulMaxVolume = cumulOpenVolume + maxVolume
cumulMinVolume = cumulOpenVolume + minVolume
cumulLastVolume := cumulOpenVolume + lastVolume

// Determine CVD color
cvdColor = cumulLastVolume >= cumulOpenVolume ? color.teal : color.red

// Plot CVD as candle
hline(0)
plotcandle(cumulOpenVolume, cumulMaxVolume, cumulMinVolume, cumulLastVolume, "CVD", color = cvdColor, bordercolor = cvdColor, wickcolor = cvdColor)

// EMA Calculation
ema = ta.ema(emaSource, emaLength)

// Entry limit logic
var int buyEntryCount = 0
var int sellEntryCount = 0

// Detect EMA cross
emaCrossedUp = ta.crossover(close, ema)
emaCrossedDown = ta.crossunder(close, ema)

if emaCrossedUp or emaCrossedDown
    buyEntryCount := 0
    sellEntryCount := 0

// Trading logic with EMA filter
priceGreen = close > open
priceRed = close < open
cvdGreen = cvdColor == color.teal
cvdRed = cvdColor == color.red

buySignal = priceGreen and cvdGreen
sellSignal = priceRed and cvdRed

if useEMAFilter
    buySignal := buySignal and close > ema and buyEntryCount < 2
    sellSignal := sellSignal and close < ema and sellEntryCount < 2

// Increment entry counts and place trades
if buySignal
    buyEntryCount := buyEntryCount + 1
    strategy.entry("Buy", strategy.long)
if sellSignal
    sellEntryCount := sellEntryCount + 1
    strategy.entry("Sell", strategy.short)

// Plot Buy and Sell signals
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")

// Plot EMA line
plot(useEMAFilter ? ema : na, title="EMA", color=color.blue, linewidth=2)



파일:

응답함

1
개발자 1
등급
(2)
프로젝트
5
0%
중재
3
0% / 100%
기한 초과
1
20%
작업중
2
개발자 2
등급
(102)
프로젝트
105
60%
중재
0
기한 초과
0
무료
3
개발자 3
등급
(30)
프로젝트
38
29%
중재
1
0% / 100%
기한 초과
2
5%
작업중
4
개발자 4
등급
(78)
프로젝트
246
74%
중재
7
100% / 0%
기한 초과
1
0%
무료
게재됨: 1 기고글
5
개발자 5
등급
(87)
프로젝트
121
68%
중재
5
80% / 0%
기한 초과
12
10%
작업중
6
개발자 6
등급
(1)
프로젝트
0
0%
중재
0
기한 초과
0
무료
비슷한 주문
Project Overview I am seeking an experienced MQL5 Expert Advisor (EA) developer to automate a systematic, multi-timeframe institutional trading framework specifically optimized for Spot Gold (XAUUSD) . The EA must programmatically map market structure, identify liquidity zones, and execute trades based on structural confirmations across three distinct timeframes: Daily (D1), 1-Hour (H1), and 15-Minute (M15) . Core
I want to find a Developer to perform this work and settle payments in this Application. I undertake not to communicate with Applicants anywhere else except this Application, including third-party messengers, personal correspondence or emails. I understand that violators will be banned from publishing Orders in the Freelance
Akram boushaba 30 - 500 USD
مرحبا كيف حالكم انا اكرم مهتم بالتداول احاول ان اصمم برنامج روبوت قادر على التداول من تلقاء نفسه من يمكنه ان يساعدني او يعلمني كيف استطيع فهل ذلك وسأكون ممتناً له وشكرا لكم
MetaTrader In-App Trade Alerts An existing MetaTrader terminal is already running on my side, but its account is kept hidden for privacy reasons. I need a specialist to wire up native in-app notifications so that every time a position is opened or later closed I see an immediate pop-up inside the platform—no emails or SMS, just the built-in alert window (and the usual MT push to mobile if that comes automatically
Develop a custom indicator that uses RSI divergence, that gives a sell signal when a particular level is broken in a "M" in which the last trending candle of both level must not have 5EMA touch at all wether on the wick or body, the second level is formed when there is a bearish signal candle
I have an existing MT5 Expert Advisor for XAUUSD M5. This is NOT a new robot from zero. I need modification and professional review of an existing MQL5 EA. Main goals: 1. Buy entries: Buy trades are currently too rare. The Buy ADX filter was very strict at 45. I am testing 40 now. I need you to review the Buy entry filters and improve Buy entry quality without making entries random or weak. 2. Sell entries: Sell
I have a non-repainting MT4 indicator called Trend Pullback 3 . I am looking for an experienced MQL4 developer with a strong understanding of both programming and technical analysis to improve the indicator's signal quality. Project Goal The objective is to reduce or eliminate signals that occur during sideways, low-probability, choppy market conditions while preserving the high-quality signals that occur during
[7/6/2026 12:24 PM] DR.HassaN: Current Phase: Comprehensive Review & Final Enhancement_ This indicator is designed for the TradingView platform. Now that the core engines have been completed, I want to enter a comprehensive review and professional enhancement phase before adding any major new features. My goal is to transform this indicator into a premium institutional-grade TradingView indicator , both in terms of
Hello friends, I have an mq4 indicator file for binary options that I want to develop to give better results than the current one. I'm looking for a professional developer who can do this. I will provide you with the file, along with results from another indicator (which I want to develop my indicator to resemble) so you can compare them. If you can do this work, please contact me
Can you Build a custom NinjaTrader 8 ChartStyle or BarsType called Optimized Footprint Bars. This project is urgent and i need someone that's wiiling to do his project with me kinldy bid for this. Thanks

프로젝트 정보

예산
40+ USD
기한
에서 2 일