Confira os nossos eBooks, Snippets e Fóruns produzidos para cada plataforma!
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!