Revisar e ajustar um Indicador MT5

Lavoro terminato

Tempo di esecuzione 23 ore

Specifiche

Eu criei um indicador pelo ChatGPT e ele está compilando corretamente mas as linhas que são plotadas na janela separada do indicador MT5 não estão sendo atualizadas corretamente, elas aparecem como linhas retas horizontais e não tem nenhuma variação, e eu não sei programar e não sei como ajustar isso e o chatGPT também não conseguiu resolver.

O código é bem pequeno e básico, acredito ser simples de resolver para quem sabe programar.


Segue o código gerado pelo chatGPT:


//+------------------------------------------------------------------+

//| Custom indicator for MetaTrader 5                                |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_plots   3

#property indicator_type1   DRAW_LINE

#property indicator_type2   DRAW_LINE

#property indicator_type3   DRAW_LINE

#property indicator_color1  DeepSkyBlue  // Amplitude

#property indicator_color2  Red          // Média da Amplitude

#property indicator_color3  Green        // Linha Limite


//--- input parameters

input int PeriodoAmplitude = 30;

input int PeriodoMediaAmplitude = 17;

input double LinhaLimite = 20.0;


//--- indicator buffers

double amplitudeBuffer[];

double mediaAmplitudeBuffer[];

double linhaLimiteBuffer[];


//+------------------------------------------------------------------+

//| Indicator initialization function                                |

//+------------------------------------------------------------------+

int OnInit()

{

    SetIndexBuffer(0, amplitudeBuffer);

    SetIndexBuffer(1, mediaAmplitudeBuffer);

    SetIndexBuffer(2, linhaLimiteBuffer);


    ArraySetAsSeries(amplitudeBuffer, true);

    ArraySetAsSeries(mediaAmplitudeBuffer, true);

    ArraySetAsSeries(linhaLimiteBuffer, true);


    PlotIndexSetString(0, PLOT_LABEL, "Amplitude");

    PlotIndexSetString(1, PLOT_LABEL, "Média da Amplitude");

    PlotIndexSetString(2, PLOT_LABEL, "Linha Limite");


    IndicatorSetString(INDICATOR_SHORTNAME, "Indicador Customizado de Amplitude");

    return INIT_SUCCEEDED;

}


//+------------------------------------------------------------------+

//| Custom indicator iteration function                              |

//+------------------------------------------------------------------+

int OnCalculate(const int rates_total,

                const int prev_calculated,

                const datetime &time[],

                const double &open[],

                const double &high[],

                const double &low[],

                const double &close[],

                const long &tick_volume[],

                const long &volume[],

                const int &spread[])

{

    int required = MathMax(PeriodoAmplitude, PeriodoMediaAmplitude);

    if (rates_total < required)

        return 0;


    for (int i = prev_calculated > required ? prev_calculated : required; i < rates_total; i++)

    {

        amplitudeBuffer[i] = high[iHighest(NULL, 0, MODE_HIGH, PeriodoAmplitude, i)] - low[iLowest(NULL, 0, MODE_LOW, PeriodoAmplitude, i)];

        mediaAmplitudeBuffer[i] = iMA(NULL, 0, PeriodoMediaAmplitude, 0, MODE_SMA, PRICE_CLOSE);

        linhaLimiteBuffer[i] = LinhaLimite;


        // Debugging information

        Print("Bar ", i, ": Amplitude = ", amplitudeBuffer[i], ", Media = ", mediaAmplitudeBuffer[i], ", LinhaLimite = ", linhaLimiteBuffer[i]);

    }


    return rates_total;

}



---------------------------------------------------------------------




Ele deveria ficar como na imagem anexo...




Con risposta

1
Sviluppatore 1
Valutazioni
(23)
Progetti
29
14%
Arbitraggio
3
0% / 67%
In ritardo
3
10%
In elaborazione
2
Sviluppatore 2
Valutazioni
(32)
Progetti
52
23%
Arbitraggio
2
50% / 0%
In ritardo
12
23%
In elaborazione
3
Sviluppatore 3
Valutazioni
(787)
Progetti
1354
72%
Arbitraggio
110
27% / 48%
In ritardo
340
25%
Caricato
Ordini simili
Desenvolver um robo conforme parametros para operar no fechamento do Box de Renko, conforme tamanho do box predeterminado, com saidas e entradas e stop loss e take profit predeterminados tamb[em
Tenho o código em mt4, porém queria fazer algumas modificações nesse código e também converter ele em para mt5 também. As modificações são: adicionar uma função de alerta e mudar o símbolo que plota no gráfico tirando a seta e colocando um círculo, e depois disso passando essa linguagem para mt5
VMP Painel 45+ USD
Construction of trading panel Trading panel with vertical and horizontal stop take profit lines and multiplication grid 1 horizontal and vertical purchase and sales lines and placement of orders in a grid with order number multiplier 2 that all lines must be visible with stop and take profits pre orders, all lines must be visible on the chart I'll post a picture to give you an idea of what it could be
Robo Hedge! 37+ USD
Gostaria de um orçamento para um robô que vai fazer hedge, seguem os dados: Indicadores utilizados: - canal de Donchian; - STOP ATR . (os indicadores devem aparecer na tela e serem configuráveis por mim). Outras coisas a serem configuradas nas configurações, para que eu possa alterar: - Volume; - número mágico; - Stop gain; - Valor da virada de mão; - Valor multiplicador do hedge (2x, 3x, etc (a virada de mão será
Robot Hedge MT4 30+ USD
This is a simple hedging robot for MT4 the hedge will be opened as soon as the account balance reduces by a %, defined in the EA control panel, the EA must add the open lots and open a hedge operation, that is, with the same lot volume and opposite direction. Completely locking the account's floating balance. For example: Open operations EURUSD - 0.03 - sell EURUSD - 0.05 - sell GBPUSD - 0.01 - sell GBPUSD - 0.01 -
Preciso de um ajuste no robô mql4 que tenho, uma função não esta funcionando corretamente, no backtest ele roda e na real não, e preciso adicionar uma forma de adição de lotes, possuo o mql dele disponivel
Olá! Gostaria de desenvolver uma EA que faça transmissão de copy trade para a plataforma BlackArrow da Nelogica. Ou seja, toda vez for feito uma entrada em algum ativo Forex no MT4/MT5, esta mesma ordem deve ser replicada no BlackArrow. Não vejo necessidades de copiar TP e SL, no entanto que, no momento em que no MT4/MT5 pegar o TP ou SL, também saia da operação no BlackArrow! Se possível, sem ser atrelado a algum ID

Informazioni sul progetto

Budget
34+ USD
Per lo sviluppatore
30.6 USD
Scadenze
a 1 giorno(i)