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
등급
(77)
프로젝트
245
74%
중재
7
100% / 0%
기한 초과
1
0%
작업중
게재됨: 1 기고글
5
개발자 5
등급
(87)
프로젝트
121
68%
중재
5
80% / 0%
기한 초과
12
10%
작업중
6
개발자 6
등급
(1)
프로젝트
0
0%
중재
0
기한 초과
0
무료
비슷한 주문
The Great Martingale and Classic Martingale will be coded selectively in one . The Coder should know well both of Great and Classic Martingale and calculation of both of their lot sizing. Should understand the below Formulas of lot sizing after one loss or consecutive loses. if not understand the below please do not apply . A different trailing stop which calculates all profits/losses in a serie will be applied
Our advanced automated trading robot is designed to analyze the financial markets and execute trades without requiring constant manual intervention. Using intelligent algorithms, it monitors market trends, price movements, and technical indicators in real time to identify potential trading opportunities. The robot automatically opens, manages, and closes trades based on its predefined strategy, helping to remove
Professional MT5 Expert Advisor – Multi-Engine Trading Framework Description I'm looking for an experienced MQL5 developer to build a professional MetaTrader 5 Expert Advisor. This is not a simple indicator-based EA. The system should be designed using a modular architecture with a strong focus on maintainability, optimization, and future scalability. The first version should include the following features. Market
Fx tp 30+ USD
# Safe Forex Bot Example (conceptual) def forex_bot(price_data): # Strategy: Moving Average Crossover short_ma = moving_average(price_data, 20) long_ma = moving_average(price_data, 50) if short_ma > long_ma: place_trade("BUY", risk=0.02, stop_loss=30, take_profit=60) elif short_ma < long_ma: place_trade("SELL", risk=0.02, stop_loss=30, take_profit=60) # Risk management: max drawdown 25% if
Description: I need an experienced MQL5 developer to build a professional MT5 Expert Advisor for XAU/USD based on my trading strategy. I require the full .mq5 source code and the compiled file. Trading Logic: Timeframes: H4 to determine overall direction, H1 for supply and demand zones, M15 for trade entries. Buy conditions: H4 trend is bullish, price reaches a valid H1 demand zone, liquidity sweep occurs below the
Qut GoldScalper VIP EA (frequently referred to in trading circles and third-party stores as Gold VIP / GoldScalper VIP , developed by Nguyen Chung) is a fully automated Expert Advisor (EA) designed exclusively for trading Gold ( XAUUSD ) on the MetaTrader platforms. Unlike primitive grid or martingale bots that blindly multiply trades, this system relies on a blend of trend filtering and progressive position scaling
I'm looking for an experienced Python developer with a strong understanding of market microstructure, order flow, and electronic trading to help build a research-driven gold trading system. This is not a typical indicator or retail trading bot. The project focuses on analysing COMEX Gold Futures Market-by-Order (MBO) data to detect institutional order-flow behaviour and generate trading signals for XAUUSD (MetaTrader
WORKING EA 35+ USD
I Need an existing proven profitable EA. EA should have at least 3 months track record of consistency. My budget is $35 and nothing more. If you do not have the working EA for that amount, please do not apply. I'm not paying a dime more. Again do not apply if you are not willing to take the above amount
Standby Description . Prop Firm Environment . ( Monitor Execution and Handling Environment Changes as Required ) . Technical Issues . Delete extra lines of code (Clean Code , Folder) . Asset related translation , no need for Logic Alteration
Only Technical Issues . Familiarization to Different Symbols . [Again Technical Assistance Only] . Deleting extra lines of code , Not Required Folders (Clean Code) . No Need for Logic Alteration (Strictly)

프로젝트 정보

예산
40+ USD
기한
에서 2 일