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

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Consultoria em automação e n8n - Preciso de consultoria e auxílio em um projeto. Busco alguém experiente em automação e n8n, além de agentes de IA. Pago por hora.

Desenvolvimento de chatbot para suporte psicológico - # Sistema de prospecção de leads com suporte psicológico *A princípio, o sistema é simples de compreender: entrar nos comentários das redes sociais escolh...

Criar recepcionista com inteligência artificial para petshop - Olá, eu preciso criar uma recepcionista com inteligência artificial para um petshop. Ela precisa atender ligações, responder dúvidas e guiar os potenciais clientes...

Subir site em servidor - Preciso subir um site em React puro para um servidor comum da Hostinger. Seria apenas subir esse projeto, sem alterações.

Configuração de site e app no Google Cloud - Estou desenvolvendo uma página e um app com o Studio AI. Não tenho conhecimento técnico, mas sou curioso e gosto de ser do tipo faça você mesmo, embora tudo tenha ...

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.