Neo traderBot

Neo traderBot

Você sabia?

A NeoTraderBot é a primeira comunidade aberta no Brasil com foco em compartilhar informações sobre automatização de estratégias

leaf leftleaf right
Notifications
Clear all

Codigo de estrategia dando erro na comp

1 Posts
1 Usuários
0 Reactions
11 Visualizações
(@julianosalima)
Novo membro
Registrou: 1 semana atrás
Posts: 1
Iniciador do tópico  

Bom dia!!

estou tentando adicionar essa estrategia no Ninja trader e na hora que compila da os seguintes erros conforme a imagem anexada!

estrategia de fechar operação quando chegar um valor X.

Poderiam me ajudar, não sei nada de programação, codigo gerado na IA

 

using NinjaTrader.Gui.Tools;
using NinjaTrader.NinjaScript;
using NinjaTrader.NinjaScript.Strategy;
using NinjaTrader.Gui.Tools;
using NinjaTrader.NinjaScript.StrategyGenerator;
using NinjaTrader.Gui.Tools;
using NinjaTrader.Cbi;
using NinjaTrader.Cbi;
using NinjaTrader.NinjaScript.Strategy;

namespace NinjaTrader.NinjaScript.Strategy
{
public class CloseOnTargetProfit : Strategy
{
// Defina o valor do lucro alvo aqui (em dólares)
private double targetProfit = 100.0;

// Variável para armazenar o preço de entrada
private double entryPrice = 0.0;

protected override void OnStartUp()
{
base.OnStartUp();
}

protected override void OnBarUpdate()
{
// Verifica se há uma posição aberta
if (Position.MarketPosition != MarketPosition.Flat)
{
// Calcula o lucro atual
double currentProfit = Position.GetProfitLoss(Close[0], PerformanceUnit.Currency);

// Verifica se o lucro atual alcançou o alvo
if (currentProfit >= targetProfit)
{
// Fecha a posição com base no tipo de posição (Long ou Short)
if (Position.MarketPosition == MarketPosition.Long)
{
ExitLong("TargetProfitExit");
}
else if (Position.MarketPosition == MarketPosition.Short)
{
ExitShort("TargetProfitExit");
}
}
}
}

// Esta função é chamada quando uma nova posição é aberta
protected override void OnExecution(IExecution execution)
{
base.OnExecution(execution);
// Armazena o preço de entrada ao abrir uma posição
if (execution.Order.OrderState == OrderState.Filled)
{
entryPrice = execution.Order.AvgFillPrice;
}
}
}
}

 

Desde já agradeço!


   
Citar