I had converted below tradingview indicator using chatGPT AI, converted file shows error, want to Fix error in mq4 indicator

MQL4 指标

工作已完成

执行时间1 一天
客户反馈
Very good developer, always quick response, very much clear with concepts and above all very economical, will LOVE to work again
员工反馈
A solution-oriented person and expresses requirements clearly. I was pleased to do business together.

指定

I had converted below tradingview indicator using chatGPT AI


But there are few errors in mq4,


I want coder must

1. Fix errors

2. Must match mq4 indicator results with tradingview indicator results 


I am also attaching screenshot of tradingview indicator 


//@version=5
indicator("Volumatic Variable Index Dynamic Average [BigBeluga]", "Volumatic VIDYA [BigBeluga]",
             overlay = true, max_lines_count = 500, max_labels_count = 500)


// INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
// Input parameters for length, momentum, and source data
int   vidya_length   = input.int(10, "VIDYA Length")       // Length of the VIDYA calculation
int   vidya_momentum = input.int(20, "VIDYA Momentum")    // Momentum length for VIDYA
float band_distance  = input.float(2, "Distance factor for upper/lower bands", step = 0.1)  // Distance factor for upper/lower bands
// Define pivot parameters
int pivot_left_bars  = 3                                             // Left side pivot bars
int pivot_right_bars = pivot_left_bars                              // Right side pivot bars

float source         = input.source(close, "Source")    // Source for VIDYA calculation

// Define colors for up and down trends
color up_trend_color   = input(#17dfad, "+", group = "Color", inline = "c")   // Color for uptrend
color down_trend_color = input(#dd326b, "-", group = "Color", inline = "c")  // Color for downtrend
bool  shadow           = input.bool(true, "Shadow", group = "Color", inline = "c")

// Initialize variables for line, volume, and trend state
var line pivot_line    = na      // Variable for storing line references
var float volume_value = na     // Variable for storing volume data
float smoothed_value   = na   // Smoothing variable for VIDYA trend levels
var bool is_trend_up   = na  // Boolean variable for tracking trend direction

// Initialize arrays for storing line and volume information
var array<line> liquidity_lines_low  = array.new<line>(500)    // Array for storing lines for lows
var array<line> liquidity_lines_high = array.new<line>(500)  // Array for storing lines for highs

var float up_trend_volume   = na     // Volume accumulated during uptrend
var float down_trend_volume = na  // Volume accumulated during downtrend
// }


// FUNCTIONS―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{

// Define VIDYA (Variable Index Dynamic Average) function
vidya_calc(src, vidya_length, vidya_momentum) =>
    float momentum         = ta.change(src)
    float sum_pos_momentum = math.sum((momentum >= 0) ? momentum : 0.0, vidya_momentum)
    float sum_neg_momentum = math.sum((momentum >= 0) ? 0.0 : -momentum, vidya_momentum)
    float abs_cmo          = math.abs(100 * (sum_pos_momentum - sum_neg_momentum) / (sum_pos_momentum + sum_neg_momentum))
    float alpha            = 2 / (vidya_length + 1)
    var float vidya_value  = 0.0
    vidya_value           := alpha * abs_cmo / 100 * src + (1 - alpha * abs_cmo / 100) * nz(vidya_value[1])

    ta.sma(vidya_value, 15)

// Method to extend lines and add labels for liquidity levels
method extend_liquidity_lines(array<line> line_array, float price_level, bool is_cross, volume_val)=>
    if line_array.size() > 0 and last_bar_index - bar_index < 5000
        for i = 0 to line_array.size()-1
            if i < line_array.size()
                line liquidity_line      = line_array.get(i)
                float current_line_level = line.get_y2(liquidity_line)
                bool price_cross         = is_cross
                                  ? price_level < current_line_level and price_level[1] >= current_line_level
                                  : price_level > current_line_level and price_level[1] <= current_line_level

                bool is_short_line = bar_index - line.get_x1(liquidity_line) < 50

                if price_cross and is_short_line
                    line.set_x2(liquidity_line, bar_index)
                    line_array.remove(i)

                    // Add volume label to the liquidity zone
                    label.new(bar_index-1, price_level[1],
                             str.tostring(volume_val, format.volume),
                             color      = color.rgb(0, 0, 0, 99),
                             style      = is_cross ? label.style_label_lower_left : label.style_label_upper_left,
                             textcolor  = chart.fg_color,
                             size       = size.small)

                    // Add a circle label to represent liquidity zone
                    label.new(bar_index-1, price_level[1],
                             text       = "◉",
                             color      = #00000003,
                             textcolor  = is_cross ? down_trend_color : up_trend_color,
                             style      = label.style_label_center,
                             size       = size.normal)
// }


// CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
// Calculate the Average True Range (ATR)
float atr_value = ta.atr(200)  // ATR calculation with length of 200

// Calculate the VIDYA (Variable Index Dynamic Average)
vidya_value = vidya_calc(source, vidya_length, vidya_momentum)

// Calculate upper and lower bands based on VIDYA and ATR
float upper_band = vidya_value + atr_value * band_distance
float lower_band = vidya_value - atr_value * band_distance

// Detect trend direction using crossovers of source with bands
if ta.crossover(source, upper_band)
    is_trend_up := true
if ta.crossunder(source, lower_band)
    is_trend_up := false

// Set trend-based smoothing variable
if is_trend_up
    smoothed_value := lower_band
if not is_trend_up
    smoothed_value := upper_band
if ta.change(is_trend_up)
    smoothed_value := na

// Calculate pivot highs and lows for price action
float pivot_high = ta.pivothigh(pivot_left_bars, pivot_right_bars)
float pivot_low  = ta.pivotlow(close, pivot_left_bars, pivot_right_bars)

// Create and store lines for pivot lows (support zones)
if low[pivot_right_bars] > smoothed_value and pivot_low
    pivot_line := line.new(
                           bar_index[pivot_right_bars],
                           low[pivot_right_bars],
                           bar_index[pivot_right_bars]+5,
                           low[pivot_right_bars],
                           color = color.new(up_trend_color, 50)
                           )

    liquidity_lines_low.push(pivot_line)
    volume_value := math.sum(volume, pivot_right_bars + pivot_left_bars) / (pivot_right_bars + pivot_left_bars)

// Create and store lines for pivot highs (resistance zones)
if high[pivot_right_bars] < smoothed_value and pivot_high
    pivot_line := line.new(
                           bar_index[pivot_right_bars],
                           high[pivot_right_bars],
                           bar_index[pivot_right_bars]+5,
                           high[pivot_right_bars],
                           color = color.new(down_trend_color, 50)
                           )

    liquidity_lines_high.push(pivot_line)
    volume_value := math.sum(-volume, pivot_right_bars + pivot_left_bars) / (pivot_right_bars + pivot_left_bars)

// Extend lines to track price movements
liquidity_lines_high.extend_liquidity_lines(smoothed_value, true, volume_value)
liquidity_lines_low.extend_liquidity_lines(smoothed_value, false, volume_value)

// Detect changes in the trend direction
bool trend_cross_up   = not is_trend_up[1] and is_trend_up
bool trend_cross_down = not is_trend_up and is_trend_up[1]

// Reset volume counters when trend changes
if ta.change(trend_cross_up) or ta.change(trend_cross_down)
    up_trend_volume := 0
    down_trend_volume := 0

// Accumulate volume during trends
if not(ta.change(trend_cross_up) or ta.change(trend_cross_down))
    up_trend_volume      += (close > open ? volume : 0)
    down_trend_volume    += (close < open ? volume : 0)

// Calculate average volume
float avg_volume_delta    = (up_trend_volume + down_trend_volume) / 2

// Determine the color of the trend
color trend_color = is_trend_up ? up_trend_color
                       : not is_trend_up ? down_trend_color
                       : chart.fg_color

// Calculate delta volume percentage
string delta_volume =
                   str.tostring(((up_trend_volume - down_trend_volume) / avg_volume_delta) * 100, format.percent) == "NaN%"
                   ? "0%"
                   : str.tostring(((up_trend_volume - down_trend_volume) / avg_volume_delta) * 100, format.percent)

// }


// PLOT ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
// Display labels for volume and trend statistics on the last bar
if barstate.islast
    label.delete(
         label.new(bar_index, smoothed_value,
         "Buy: " + str.tostring(up_trend_volume, format.volume)
         + "\n Sell: " + str.tostring(down_trend_volume, format.volume)
         + "\nDelta Volume: " + delta_volume,
         color      = color.new(trend_color, 90),
         style      = is_trend_up ? label.style_label_upper_left : label.style_label_lower_left,
         textcolor  = chart.fg_color
         )[1])
   
    label.delete(label.new(bar_index, smoothed_value,
                 text       = "✪",
                 color      = #00000003,
                 textcolor  = trend_color,
                 style      = label.style_label_center,
                 size       = size.large)[1])

// Plot the VIDYA trend line
p1 = plot(smoothed_value, color = trend_color, linewidth = 2, style = plot.style_linebr)
p2 = plot(hl2, display = display.none)

// Fill between the plot and the VIDYA line
fill(p1, p2, smoothed_value, hl2, color.new(trend_color, shadow ? 80 : 100), na)

// Plot trend change markers (up and down arrows)
plotshape(
         series     = trend_cross_up[1] ? smoothed_value[0] : na,
         title      = "Trend Up",
         style      = shape.labelup,
         location   = location.absolute,
         color      = color.new(up_trend_color, 50),
         text       = "▲",
         textcolor  = chart.fg_color
         )

plotshape(
         series     = trend_cross_down[1] ? smoothed_value[0] : na,
         title      = "Trend Down",
         style      = shape.labeldown,
         location   = location.absolute,
         color      = color.new(down_trend_color, 50),
         text       = "▼",
         textcolor  = chart.fg_color
         )
// }


附加的文件:

JPG
vidya.jpg
93.9 Kb
MQ4
VIDYA.mq4
8.8 Kb

反馈

1
开发者 1
等级
(35)
项目
48
19%
仲裁
3
67% / 0%
逾期
8
17%
繁忙
2
开发者 2
等级
(1)
项目
1
0%
仲裁
0
逾期
0
空闲
3
开发者 3
等级
(19)
项目
22
23%
仲裁
10
20% / 10%
逾期
5
23%
繁忙
4
开发者 4
等级
(5)
项目
5
20%
仲裁
4
25% / 25%
逾期
0
空闲
相似订单
I want an experienced developer who can work on my existing EA and add additional indicators to make it profitable in trading gold, forex, commodities, and other instruments. The trading robot will detect the market move and place a trade once it meets the requirements. I want a profitable trading robot, which I will test very well before the payment
Looking for an Experienced MQL5 Developer to code fully automated EA based on Trend Direction and Price Action. Symbols traded are Forex, Commodities, Indices, Crypto and Stock CFD’s. EA Strategy incorporates several strategies, including Breakout and Fibonacci Retracements for Trend Momentum Trading. Multi Time Frame Trading Based on 4 Time Charts, 15MIN, 1HR, 4HR, Daily Chart. EA needs Adaptability for
Dear Team, I want to migrate end to end configure with purchase advance BTC signal indicator with algo trading also back tested report 82% Quantum Bitcoin EA 5 Experts Bogdan Ion Puscasu Version: 2.1 Updated: 10 January 2025 Activations: 10 Quantum Bitcoin EA : There is no such thing as impossible, it's only a matter of figuring out how to do it! Step into the future of Bitcoin trading with Quantum
I need and indicator to plot specific candle sizes on a chart, And an EA to run off that indicator. It uses candle stick size. When candle breaks the size either HL or OC a signal is plotted on the chart. And trade is made. with following options. High and low or Open close Follow or opposite trade. Example, if it’s opposite, then when the candle size is met, a trade opposite of the bullish or bearish candle is
Hi I coded some years ago a grid hedge EA. The backtests were pretty mindblowing and I also generated nice profits but I also made a lot of losses. I need someone who has deep understanding in mathematics and statistics because it's not just only a grid logic behind it. I would like to figure out, what lead into those losses. I didn't find any solution yet and I have no idea where I should search the next. Please
The process will be very simple, consisting of a buy and sell signal with a success rate of 92% to 95%. This signal must be accurate and free of any repainting or other fraudulent elements, as it will be tested on a live chart on the short-term timeframe (M1), as shown in the image. Experts with extensive experience in this field, or those with previous experience working with secret societies, corporations, and
Requirements I want Log file code modified plus add a new log file function that is similar to existing one. This work is less than one hour and is to be done remotely no sending of EA file. Thank you
I need to develope personalised indicator ehich can work as per levels and publish its signal to telegram channel in real time, also need to develope algorithm which can copy same trades
Hello In my MT4 EA (attached), I want to create two variables: Highest_EQUITY and Lowest_EQUITY, to display the highest and lowest EQUITY values. The variables must be reset to zero on Sunday when the FOREX market opens. I then want to display them in the "COMMENT" area. Have a nice day
im looking for someone that can convert this file attached to cBot (ctrader c#). cTrader cBot (C#), let me know your bid and timeline, check file attached before apply to this job and make your bid

项目信息

预算
30+ USD
开发人员
27 USD
截止日期
 2  5 天