ChatGPT é um disparate. Não perca o seu tempo com ele e não perca o nosso.
Quando afixar código, faça-o usando o botão "Código".
Antonio, aparentemente está faltando fechar os blocos que foram abertos com {. A sintaxe da linguagem do Profit se assemelha muito a Delphi, sendo que cada bloco se inicia com begin e termina com end. Aqui no caso, a MQL5 se assemelha mais a C e C++, em que cada bloco se inicia com { e termina com }. Perceba que, no código que você mostrou, há 7 (sete) chaves para abrir blocos, enquanto há 5 (cinco) para fechar. Faltam, portanto, as chaves para fechar os blocos
if (PositionSelect(_Symbol)) { (...) } else { (...) }
e para fechar a função
void OnTick()
Em resumo, o código ficaria assim:
void OnTick() { KeltSup = iKeltnerChannel(_Symbol, _Period, KeltPeriodo, Keltdesvio, KelTipo, MODE_UPPER, 0); KeltInf = iKeltnerChannel(_Symbol, _Period, KeltPeriodo, Keltdesvio, KelTipo, MODE_LOWER, 1); if (PositionSelect(_Symbol)) { if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) { OrderSend(_Symbol, OP_SELL, 1, NormalizeDouble(Highest(HIGH, 2), Digits), 3, 0, 0, "Sell To Cover Limit", 0, 0, clrRed); } else if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) { OrderSend(_Symbol, OP_BUY, 0.01, NormalizeDouble(Lowest(LOW, 2), Digits), 3, 0, 0, "Buy To Cover Limit", 0, 0, clrGreen); } } else { if (Close[1] > KeltSup) { OrderSend(_Symbol, OP_BUYLIMIT, 0.01, NormalizeDouble(Lowest(LOW, PeriodoAnalisado), Digits), 3, NormalizeDouble(KeltSup, Digits), NormalizeDouble(KeltInf, Digits), "Buy Limit", 0, 0, clrGreen); } if (Close[1] < KeltInf) { OrderSend(_Symbol, OP_SELLLIMIT, 0.01, NormalizeDouble(Highest(HIGH, PeriodoAnalisado), Digits), 3, NormalizeDouble(KeltSup, Digits), NormalizeDouble(KeltInf, Digits), "Sell Limit", 0, 0, clrRed); } } }
Já aproveitando, aconselho também a aprender C++ para criar EAs. Vai ajudar muito a ter uma noção melhor sobre programação - especialmente para programar em MQL5, que se tornará muito mais fácil. Além disso, ajudará a escrever bons códigos e reduzirá as chances de que haja bugs no seu EA (que são bastante comuns para quem não tem afinidade com a linguagem).
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Bom dia Pessoal tudo bem ? Estou tentando com a ajuda do ChatGPT para transferir algumas estrategias que tinha no Profit Pro para o MT5, porem a linguagem é muito diferente e não sou nem um pouco experiente com linguagem de progamação, queria conseguir fazer esse robo rodar enquanto vou terminando o curso de liguagem MQL5, vou mandar o codigo logo abaixo e o erro que esta dando, Deus abençoe cada um de nos. Segue o codigo (Pelo que o ChatGPT me passou esta em MQL4 mas quando ele tenta colocar no 5 da mais de 100 erros diferentes)
Erros : '}' - unexpected end of program MaxMinDiario.mq5 Linha 27 Coluna 9
'{' - unbalanced parentheses MaxMinDiario.mq5 Linha 9Coluna 1