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

Desenvolver chatbot inteligente com IA - Desenvolvimento de chatbot com IA para WhatsApp e Instagram – Coworking Descrição do projeto: Estamos em busca de um(a) desenvolvedor(a) experiente para criar um chatbot intel...

Gerador de UTM com exportação para Excel - Estou criando um MVP simples para uma ferramenta web que ajuda profissionais de marketing digital a estruturarem campanhas e gerarem links com parâmetros UTM automaticamente. Preciso de um d...

Desenvolver API para WhatsApp e automação com ligação - Requisitos Login - Por página de acesso na internet e acesso por WhatsApp Cadastro - Totalmente feito por WhatsApp, assim como o “meu assessor”. Funcionalidades por WhatsApp...

Criarivos + site para Meta Ads - Olá, estou à procura de alguém que faça criativos para o Meta Ads e também sites para tal, no nicho de cash on delivery. Procuro quem realmente saiba de design, p...

Fluxo de cobrança e atendimento automatizado - Atualmente, não tenho nenhum fluxo de cobrança em uso, então a ideia é montar algo do zero, mas que eu consiga manter e adaptar sozinha depois, sem depender de suporte t...

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.