Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

error en la primera estrategia que intento hacer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    error en la primera estrategia que intento hacer

    region Using declarations
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Xml.Serialization;
    using NinjaTrader.Cbi;
    using NinjaTrader.Gui;
    using NinjaTrader.Gui.Chart;
    using NinjaTrader.Gui.SuperDom;
    using NinjaTrader.Gui.Tools;
    using NinjaTrader.Data;
    using NinjaTrader.NinjaScript;
    using NinjaTrader.Core.FloatingPoint;
    using NinjaTrader.NinjaScript.Indicators;
    using NinjaTrader.NinjaScript.DrawingTools;
    #endregion

    // This namespace holds strategies in this folder and is required. Do not change it.
    namespace NinjaTrader.NinjaScript.Strategies
    {
    public class jesuschatgpt : Strategy
    {
    private Stochastic stochastic;
    private Rsi rsi;

    protected override void OnStateChange()
    {
    if (State == State.SetDefaults)
    {
    Description = @"Escriba la descripción de su nuevo Estrategia personalizado aquí.";
    Name = "jesuschatgpt";
    Calculate = Calculate.OnBarClose;
    EntriesPerDirection = 1;
    EntryHandling = EntryHandling.AllEntries;
    IsExitOnSessionCloseStrategy = true;
    ExitOnSessionCloseSeconds = 30;
    IsFillLimitOnTouch = false;
    MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix;
    OrderFillResolution = OrderFillResolution.Standard;
    Slippage = 0;
    StartBehavior = StartBehavior.WaitUntilFlat;
    TimeInForce = TimeInForce.Gtc;
    TraceOrders = false;
    RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose;
    StopTargetHandling = StopTargetHandling.PerEntryExecution;
    BarsRequiredToTrade = 20;
    // Disable this property for performance gains in Strategy Analyzer optimizations
    // See the Help Guide for additional information
    IsInstantiatedOnEachOptimizationIteration = true;
    }
    else if (State == State.Configure)
    {
    stochastic = Stochastic(14, 3, 3);
    AddChartIndicator(stochastic);

    rsi = Rsi(14, 3);
    AddChartIndicator(rsi);
    }
    }

    protected override void OnBarUpdate()
    {
    // Condition for entering long position
    if (stochastic.PercentK[0] < 20 && stochastic.PercentD[0] < 20 &&
    rsi[0] < 30 && Close[0] > Close[1])
    {
    EnterLong();
    }

    // Condition for entering short position
    if (stochastic.PercentK[0] > 80 && stochastic.PercentD[0] > 80 &&
    rsi[0] > 70 && Close[0] < Close[1])
    {
    EnterShort();
    }

    // Condition for exiting position
    if (Position.MarketPosition == MarketPosition.Long &&
    (stochastic.PercentK[0] > 80 || stochastic.PercentD[0] > 80 ||
    rsi[0] > 70))
    {
    ExitLong();
    }
    else if (Position.MarketPosition == MarketPosition.Short &&
    (stochastic.PercentK[0] < 20 || stochastic.PercentD[0] < 20 ||
    rsi[0] < 30))
    {
    ExitShort();
    }
    }
    }
    }

    Este seria el codigo que estoy utilizando, cuando intento darle a compilar obtengo estos dos errores:

    hay dos errores en las lineas 30 y 31 son los siguientes : No se puede encontrar el tipo o el nombre de espacio de nombres Stochastic ¿falta una directiva using o una referencia de ensamblado? No se puede encontrar el tipo o el nombre de espacio de nombres Rsi ¿falta una directiva using o una referencia de ensamblado?


    si me podeis orientar un poco, soy novato y no doy con el fallo, gracias

    #2
    Hello Ershu,

    Welcome to the NinjaTrader forums!

    Indicators cannot be called from State.Configure, this will need to be moved to State.DataLoaded.

    The Stochastics indicator has an 's' on the end.

    The RSI indicator is all capital letters.
    Chelsea B.NinjaTrader Customer Service

    Comment


      #3
      entonces, seria correcto a si:

      region Using declarations
      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.ComponentModel.DataAnnotations;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using System.Windows;
      using System.Windows.Input;
      using System.Windows.Media;
      using System.Xml.Serialization;
      using NinjaTrader.Cbi;
      using NinjaTrader.Gui;
      using NinjaTrader.Gui.Chart;
      using NinjaTrader.Gui.SuperDom;
      using NinjaTrader.Gui.Tools;
      using NinjaTrader.Data;
      using NinjaTrader.NinjaScript;
      using NinjaTrader.NinjaScript.Indicators;
      using NinjaTrader.NinjaScript.DrawingTools;
      #endregion

      // Este espacio de nombres contiene estrategias en esta carpeta y es obligatorio. No lo cambies.
      namespace NinjaTrader.NinjaScript.Strategies
      {
      public class jesuschatgpt : Strategy
      {
      private Stochastic stochastic;
      private RSI rsi;

      protected override void OnStateChange()
      {
      if (State == State.SetDefaults)
      {
      Description = @"Escriba la descripción de su nueva Estrategia personalizada aquí.";
      Name = "jesuschatgpt";
      Calculate = Calculate.OnBarClose;
      EntriesPerDirection = 1;
      EntryHandling = EntryHandling.AllEntries;
      ExitOnSessionClose = true;
      ExitOnSessionCloseSeconds = 30;
      FillLimitOnTouch = false;
      MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix;
      OrderFillResolution = OrderFillResolution.Standard;
      Slippage = 0;
      StartBehavior = StartBehavior.WaitUntilFlat;
      TimeInForce = TimeInForce.Gtc;
      TraceOrders = false;
      RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose;
      StopTargetHandling = StopTargetHandling.PerEntryExecution;
      BarsRequiredToTrade = 20;
      // Deshabilite esta propiedad para aumentar el rendimiento en las optimizaciones de Strategy Analyzer
      // Consulte la Guía de ayuda para obtener información adicional
      IsInstantiatedOnEachOptimizationIteration = true;
      }
      else if (State == State.DataLoaded)
      {
      stochastic = Stochastic(14, 3, 3);
      AddChartIndicator(stochastic);

      rsi = RSI(14, 3);
      AddChartIndicator(rsi);
      }
      }

      protected override void OnBarUpdate()
      {
      // Condición para entrar en una posición larga
      if (stochastic.PercentK[0] < 20 && stochastic.PercentD[0] < 20 &&
      rsi[0] < 30 && Close[0] > Close[1])
      {
      EnterLong();
      }

      // Condición para entrar en una posición corta
      if (stochastic.PercentK[0] > 80 && stochastic.PercentD[0] > 80 &&
      rsi[0] > 70 && Close[0] < Close[1])
      {
      EnterShort();
      }

      if (Position.MarketPosition == MarketPosition.Long &&
      (stochastic.PercentK[0] > 80 || stochastic.PercentD[0] > 80 ||
      rsi[0] > 70))
      {
      ExitLong();
      }
      else if (Position.MarketPosition == MarketPosition.Short &&
      (stochastic.PercentK[0] < 20 || stochastic.PercentD[0] < 20 ||
      rsi[0] < 30))
      {
      ExitShort();
      }
      }
      }
      }

      Comment


        #4
        Hello Ershu,

        The Stochastics indicator has an 's' on the end.​

        Use Stochastics instead of Stochastic.
        Chelsea B.NinjaTrader Customer Service

        Comment


          #5
          cree que lo he echo bien ahora?


          region Using declarations
          using System;
          using System.Collections.Generic;
          using System.ComponentModel;
          using System.ComponentModel.DataAnnotations;
          using System.Linq;
          using System.Text;
          using System.Threading.Tasks;
          using System.Windows;
          using System.Windows.Input;
          using System.Windows.Media;
          using System.Xml.Serialization;
          using NinjaTrader.Cbi;
          using NinjaTrader.Gui;
          using NinjaTrader.Gui.Chart;
          using NinjaTrader.Gui.SuperDom;
          using NinjaTrader.Gui.Tools;
          using NinjaTrader.Data;
          using NinjaTrader.NinjaScript;
          using NinjaTrader.NinjaScript.Indicators;
          using NinjaTrader.NinjaScript.DrawingTools;
          #endregion
          // Este espacio de nombres contiene estrategias en esta carpeta y es obligatorio. No lo cambies.
          namespace NinjaTrader.NinjaScript.Strategies
          {
          public class jesuschatgpt : Strategy
          {
          private stochastics stochastics;
          private RSI rsi;
          protected override void OnStateChange()
          {
          if (State == State.SetDefaults)
          {
          Description = @"Escriba la descripción de su nueva Estrategia personalizada aquí.";
          Name = "jesuschatgpt";
          Calculate = Calculate.OnBarClose;
          EntriesPerDirection = 1;
          EntryHandling = EntryHandling.AllEntries;
          ExitOnSessionClose = true;
          ExitOnSessionCloseSeconds = 30;
          FillLimitOnTouch = false;
          MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix;
          OrderFillResolution = OrderFillResolution.Standard;
          Slippage = 0;
          StartBehavior = StartBehavior.WaitUntilFlat;
          TimeInForce = TimeInForce.Gtc;
          TraceOrders = false;
          RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose;
          StopTargetHandling = StopTargetHandling.PerEntryExecution;
          BarsRequiredToTrade = 20;
          // Deshabilite esta propiedad para aumentar el rendimiento en las optimizaciones de Strategy Analyzer
          // Consulte la Guía de ayuda para obtener información adicional
          IsInstantiatedOnEachOptimizationIteration = true;
          }
          else if (State == State.DataLoaded)
          {
          stochastics = stochastics(14, 3, 3);
          AddChartIndicator(stochastics);
          rsi = RSI(14, 3);
          AddChartIndicator(rsi);
          }
          }
          protected override void OnBarUpdate()
          {
          // Condición para entrar en una posición larga
          if (stochastics.PercentK[0] < 20 && stochastics.PercentD[0] < 20 &&
          rsi[0] < 30 && Close[0] > Close[1])
          {
          EnterLong();
          }
          // Condición para entrar en una posición corta
          if (stochastics.PercentK[0] > 80 && stochastics.PercentD[0] > 80 &&
          rsi[0] > 70 && Close[0] < Close[1])
          {
          EnterShort();
          }
          if (Position.MarketPosition == MarketPosition.Long &&
          (stochastics.PercentK[0] > 80 || stochastics.PercentD[0] > 80 ||
          rsi[0] > 70))
          {
          ExitLong();
          }
          else if (Position.MarketPosition == MarketPosition.Short &&
          (stochastics.PercentK[0] < 20 || stochastics.PercentD[0] < 20 ||
          rsi[0] < 30))
          {
          ExitShort();
          }
          }
          }
          }

          Comment


            #6
            Hello Ershu,

            Stochastics has a capital S.

            Use Stochastics instead of stochastics.

            Please open the Stochastics indicator in the NinjaScript Editor. Highlight and copy the class name. Paste this into your code. This will ensure the class name is correct.
            Chelsea B.NinjaTrader Customer Service

            Comment

            Latest Posts

            Collapse

            Topics Statistics Last Post
            Started by NullPointStrategies, Today, 05:17 AM
            0 responses
            50 views
            0 likes
            Last Post NullPointStrategies  
            Started by argusthome, 03-08-2026, 10:06 AM
            0 responses
            126 views
            0 likes
            Last Post argusthome  
            Started by NabilKhattabi, 03-06-2026, 11:18 AM
            0 responses
            69 views
            0 likes
            Last Post NabilKhattabi  
            Started by Deep42, 03-06-2026, 12:28 AM
            0 responses
            42 views
            0 likes
            Last Post Deep42
            by Deep42
             
            Started by TheRealMorford, 03-05-2026, 06:15 PM
            0 responses
            46 views
            0 likes
            Last Post TheRealMorford  
            Working...
            X