Pesquisar

Conserto de script para trading

16/05/2025 às 23:14

Descrição do Projeto:

Gostaria de ajuda para consertar o script abaixo:

//@version=NTSL
// --- CONFIGURAÇÕES DO USUÁRIO ---
input double PrecoInicial = 100.0; // Preço médio inicial
input double LimiteInferior = 90.0; // Limite mínimo do grid
input double LimiteSuperior = 110.0; // Limite máximo do grid
input int NumeroDeGrids = 10; // Quantidade de níveis
input double VolumeOrdem = 0.1; // Tamanho de cada ordem em lotes
input double TakeProfitPct = 2.0; // % de take profit por operação
input double StopLossPct = 5.0; // % de stop loss por operação
input bool UsarAjusteDinamico = true; // Ativar ajuste automático dos grids
input int PeriodoVolatilidade = 14; // Período para cálculo do ATR

// --- VARIÁVEIS DO SISTEMA ---
var double[] NiveisCompra = {};
var double[] NiveisVenda = {};
var double TamanhoGrid = 0.0;
var bool GridPronto = false;
var int UltimoTick = 0;

// --- INICIALIZAÇÃO DO GRID ---
void InicializarGrid()
{
// Calcula o espaçamento entre grids
TamanhoGrid = (LimiteSuperior - LimiteInferior) / NumeroDeGrids;

// Limpa os arrays existentes
NiveisCompra = {};
NiveisVenda = {};

// Preenche os níveis de compra e venda
for(int i = 0; i <= NumeroDeGrids; i++)
{
double nivel = LimiteInferior + (i * TamanhoGrid);

if(nivel < PrecoInicial)
{
NiveisCompra.push(nivel);
}
else if(nivel > PrecoInicial)
{
NiveisVenda.push(nivel);
}
}

GridPronto = true;
Print("Grid inicializado com "+NiveisCompra.size()+" níveis de compra");
Print("e "+NiveisVenda.size()+" níveis de venda");
}

// --- VERIFICA SE EXISTE ORDEM NUM NÍVEL ---
bool OrdemExiste(int tipo, double nivel)
{
for(int i = OrdersTotal()-1; i >= 0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol() == Symbol() &&
OrderType() == tipo &&
MathAbs(OrderOpenPrice() - nivel) < Point/10)
{
return true;
}
}
}
return false;
}

// --- FUNÇÃO PRINCIPAL EXECUTADA A CADA TICK ---
void OnTick()
{
// Evita processar o mesmo tick múltiplas vezes
if(TickCount <= UltimoTick) return;
UltimoTick = TickCount;

// Inicializa o grid na primeira execução
if(!GridPronto)
{
InicializarGrid();
return;
}

double precoAtual = Close[0];

// --- GERENCIAMENTO DE ORDENS DE COMPRA ---
for(int i = 0; i < NiveisCompra.size(); i++)
{
double nivelCompra = NiveisCompra[i];

if(precoAtual <= nivelCompra && !OrdemExiste(OP_BUYLIMIT, nivelCompra))
{
double tp = nivelCompra * (1 + TakeProfitPct/100);
double sl = nivelCompra * (1 - StopLossPct/100);

if(OrderSend(Symbol(), OP_BUYLIMIT, VolumeOrdem, nivelCompra, 0, sl, tp, "C_"+i))
{
Print("Ordem de COMPRA limitada enviada em ", nivelCompra);
}
}
}

// --- GERENCIAMENTO DE ORDENS DE VENDA ---
for(int i = 0; i < NiveisVenda.size(); i++)
{
double nivelVenda = NiveisVenda[i];

if(precoAtual >= nivelVenda && !OrdemExiste(OP_SELLLIMIT, nivelVenda))
{
double tp = nivelVenda * (1 - TakeProfitPct/100);
double sl = nivelVenda * (1 + StopLossPct/100);

if(OrderSend(Symbol(), OP_SELLLIMIT, VolumeOrdem, nivelVenda, 0, sl, tp, "V_"+i))
{
Print("Ordem de VENDA limitada enviada em ", nivelVenda);
}
}
}

// --- AJUSTE DINÂMICO DO GRID ---
if(UsarAjusteDinamico && Bars > PeriodoVolatilidade)
{
double atr = ATR(PeriodoVolatilidade)[0];
double volatilidade = (atr/precoAtual)*100;

if(volatilidade > 15)
{
Print("Volatilidade detectada: ", volatilidade, "% - Reajustando grid...");
GridPronto = false;
}
}
}

// --- INICIALIZAÇÃO DO ROBÔ ---
void OnInit()
{
Print("Iniciando Grid Trading Bot...");
InicializarGrid();
}

// --- FINALIZAÇÃO ---
void OnDeinit(const int reason)
{
Print("Grid Trading Bot encerrado. Motivo: ", reason);
}

Habilidades desejadas:

Robótica e Automação Cognitiva

Atividades do cliente nesse projeto:

Última visualização: 20/05/2025 às 18:39

Última interação: 20/05/2025 às 18:01

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Outra - Web, Mobile & Software
Orçamento: Aberto
Nível de experiência: Iniciante
Visibilidade: Público
Propostas: 13
Propostas excluídas: 1
Interessados: 19
Valor Mínimo: R$ 50,00

Cliente

Freelancer vencedor

Propostas (12)
  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer Pro Marcos F.
    Top Freelancer Plus
    Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

EIS acelerada por GPU em NVIDIA Jetson Orin (Python/C++) - Procuro um engenheiro de software sênior, com sólida experiência em desenvolvimento embarcado e processamento de imagem em GPU, para um projeto de câmera FPV de alta perfor...

Criar API de checagem de CPFs - Procuro desenvolvedor para automação/API de conferência de cadastros Preciso de um profissional para criar uma solução que automatize a conferência de CPFs ...

Sistema Python de monitoramento e estruturação da legislação do Planalto - # Projeto: Sistema de Monitoramento, Estruturação e Versionamento de Legislação do Portal do Planalto ## Visão Geral Procuro um desenvolvedor Python com experi&...

Automação de tarefas diárias com YouTube e Claude - Estou procurando um freelancer especialista em automação de tarefas repetitivas, preferencialmente com experiência em navegador automatizado, YouTube, IA, planilhas e upload de ...

Automação RPA para extrair dados de app Android em máquina virtual - Preciso de uma automação que rode em uma máquina virtual (emulando um celular Android). Essa automação deve acessar um aplicativo, extrair informaçõ...

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.