Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

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 burtoninlondon, Today, 12:38 AM
            0 responses
            5 views
            0 likes
            Last Post burtoninlondon  
            Started by AaronKoRn, Yesterday, 09:49 PM
            0 responses
            14 views
            0 likes
            Last Post AaronKoRn  
            Started by carnitron, Yesterday, 08:42 PM
            0 responses
            11 views
            0 likes
            Last Post carnitron  
            Started by strategist007, Yesterday, 07:51 PM
            0 responses
            13 views
            0 likes
            Last Post strategist007  
            Started by StockTrader88, 03-06-2021, 08:58 AM
            44 responses
            3,982 views
            3 likes
            Last Post jhudas88  
            Working...
            X