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)
프로젝트
244
74%
중재
7
100% / 0%
기한 초과
1
0%
무료
게재됨: 1 기고글
5
개발자 5
등급
(87)
프로젝트
121
68%
중재
5
80% / 0%
기한 초과
12
10%
작업중
6
개발자 6
등급
(1)
프로젝트
0
0%
중재
0
기한 초과
0
무료
비슷한 주문
Hello, I am looking to develop a commercial-grade Expert Advisor for MT5 specifically optimized for XAUUSD (Gold). The underlying logic should be an intelligent, trend-filtered cost-averaging grid system focused on capital preservation. The EA must include the following functional architecture: 1. Core Strategy Structure: - Must feature a multi-strategy logic entry module. I want to use a combination of 3-4 standard
Generate a signal and place 2 arrows on the chart when these conditions happen. Rules: Levels up:price is below the Kijunsen and Senku A value is less than Senku B value Kijun sen close = previous kijun sen close; Kijun sen close value is LESS than Senku B close value Senkou B close = previous senku B close. Levels down: price is above Kijunsen. Senku A value is above Senku B value
i need the EA same working on trading view chart with same specifications of enter in a trade and sl/tp open 2 trades and 1 trade set tp1 & second trade set to tp 3 but sl should move to breakeven when tp1 hit and go to tp2 sl on tp1
preciso de um programa paracido com o CAP channel com botao de refresh e opcaos de alterar o periodo. utilizava um muito bom, mas o vendedor acredito ter sido excluido da comunidade, sumiu. e o que tinha parou de funcionar
Требуется напи сать пользовательский форекс-индикатор на основе стандартного индикатора ZigZag для торговой платформы МТ5 с фильтрацией колен (граней) по их минимальной длине. Пояснение: используя стандартный индикатор ZigZag для МТ5, добавить в его настройки функцию\опцию задания минимальной длины граней зигзага (чтобы индикатор игнорировал мелкие грани, а рисовал \ отмечал только те грани, длина которых составляет
ZigZag based on oscillators is needed The idea of ​​the indicator Create a ZigZag indicator, which is constructed based on extreme values determined using oscillators. It can use any classical normalized oscillator, which has overbought and oversold zones. The algorithm should first be executed with the WPR indicator, then similarly add the possibility to draw a zigzag using the following indicators: CCI Chaikin RSI
TrendPulse EMA Wick EA 50 - 200 USD
EA specification for MT5 developer (coder‑ready spec) You can copy‑paste this directly into an MQL5 Freelance job. --- 1. General * Platform: MetaTrader 5 (MT5) * Type: Expert Advisor (EA) * Markets: Major FX pairs (configurable list via inputs) * Execution: Market orders only * Timeframes: EA must work on any timeframe, but I will mainly use it on M15–H1 --- 2. Indicators & definitions * EMA 20: Exponential Moving
looking for a highly experienced mql5 developer to build a professional trading ea based on multi timeframe top down analysis and market structure concepts the system should combine higher timeframe context with lower timeframe execution and provide both precise logic and clean visual representation on chart ⸻ core requirements • implementation of multi timeframe logic higher timeframe bias combined with lower
Hey I need help with the development of my ea. I am using a built in indicator and a custom indicator. It shouldn't take too long. I will tell you the conditions and then I just need some help with the coding but I have some experience. Thanks we can chat on whatsap or telegram
I am looking for an experienced MQL4/MQL5 developer to build a custom MT4 indicator from scratch or cracking my ex4 file that i provide to you. I already have an existing indicator (EX4) which produces highly accurate buy/sell signals. I want a similar indicator developed based on its observable behavior and signal structure. my existing indicator is pc id protected so you have to do PC ID security bypass and source

프로젝트 정보

예산
40+ USD
기한
에서 2 일