Neo traderBot

Neo traderBot

Você sabia?

Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)

leaf leftleaf right
Notifications
Clear all

Codigo de estrategia dando erro na comp

1 Posts
1 Usuários
0 Reactions
95 Visualizações
(@julianosalima)
Novo membro
Registrou: 5 meses 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