Revisar e ajustar um Indicador MT5

Trabajo finalizado

Plazo de ejecución 23 horas

Tarea técnica

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...




Archivos adjuntos:

Han respondido

1
Desarrollador 1
Evaluación
(23)
Proyectos
29
14%
Arbitraje
3
0% / 67%
Caducado
3
10%
Trabaja
2
Desarrollador 2
Evaluación
(32)
Proyectos
53
23%
Arbitraje
2
50% / 0%
Caducado
13
25%
Trabaja
3
Desarrollador 3
Evaluación
(803)
Proyectos
1374
72%
Arbitraje
113
28% / 48%
Caducado
342
25%
Trabaja
Solicitudes similares
The text below is long because it is very detailed, but not a very complex project. READ CAREFULLY AND LOOK AT THE IMAGES BEFORE YOU ARE READY TO DO THE WORK. > If you are going to ask questions be clear and specific. > If you have no experience please do not prontifique or be willing to carry out the work. Indicator name: O Burro Paciente. Basic parameters and details: > Indicator averages: MA20 Linear gradient
Crie um indicador para mt5 que mostre no gráfico de candlesticks alguns sinais com alguns requisitos: A base do indicador são trêsmédias onde os sinais de compra só serão mostrados acima dessas duas médias, e o de venda abaixo dessas 3 médias: Média móvel de 9 períodos simples calculada aplicada a "median Price (HL/2);Média móvel simples 20 períodos azul com 2 de espessura; média móvel 200periodos vermelha com 3 de
Preciso inserir um Sinal para Cancelar a Estratégia do meu Expert quando Não ocorrer o sinal preço fecha fora preço fecha dentro em um outro tempo gráfico a ser escolhido. Preciso que e crie: Inserir Indicador Banda de Bollinger Inserir Janela para ajustar tempo do indicador Banda de Bollinger inserir estratégia de Cancelar a operação se, NÃO ocorrer fechou fora fechou dentro após ultimo candle no tempo gráfico do

Información sobre el proyecto

Presupuesto
34+ USD
Para el ejecutor
30.6 USD
Plazo límite de ejecución
a 1 día(s)