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

Multiple strings?

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

    Multiple strings?

    Is it possible to define multiple strings such as machine ID's? So it's (private string 1st, or 2nr, or 3rd) to allow the same line of guard code? Or do I have to define each as a string line and each have their own logic with an Or (||) between them?

    #2
    Hello Conceptzx,

    If you have multiple strings you need stored, you can declare separate variables to hold these or you can use a collection such as a List<string> or string[] array.

    With a collection you can loop through the elements with a for loop or foreach loop.
    Chelsea B.NinjaTrader Customer Service

    Comment


      #3
      OK, so
      #
      private string[] MachineID = new string[] { "mid1", "mid2" } ;
      If(Cbi.License.MachineID != Console.WriteLine(MachineID[] );
      #
      Is that all?
      Last edited by Conceptzx; 02-21-2024, 04:29 PM.

      Comment


        #4
        Never mind, I got it... Thanks for the quick response

        Code:
        private string[] allowedMachineIDs = new string[] { "mID1", "mID2" };
        
        protected override void OnBarUpdate()
        {
        string currentMachineID = Cbi.License.MachineId;
        bool isMachineIDAllowed = false;
        foreach (string id in allowedMachineIDs) { if (currentMachineID == id) { isMachineIDAllowed = true; break; } }
        if (!isMachineIDAllowed)
        {
        Print("Unauthorized access detected!");​
        }
        Can this be moved to a different section so that it isn't called upon every time the bar updates? Say like a daily recheck?
        Last edited by Conceptzx; 02-21-2024, 04:54 PM.

        Comment


          #5
          Hello Conceptzx,

          If this is put in State.DataLoaded it would only evaluate when the script is enabled.

          For a once a day check, you would need to put this in OnBarUpdate() and add a 1 day series and check this when BarsInProgress is 1.
          Or you could use a C# timer.
          Chelsea B.NinjaTrader Customer Service

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by fx.practic, 10-15-2013, 12:53 AM
          5 responses
          5,403 views
          0 likes
          Last Post Bidder
          by Bidder
           
          Started by Shai Samuel, 07-02-2022, 02:46 PM
          4 responses
          94 views
          0 likes
          Last Post Bidder
          by Bidder
           
          Started by DJ888, Yesterday, 10:57 PM
          0 responses
          6 views
          0 likes
          Last Post DJ888
          by DJ888
           
          Started by MacDad, 02-25-2024, 11:48 PM
          7 responses
          158 views
          0 likes
          Last Post loganjarosz123  
          Started by Belfortbucks, Yesterday, 09:29 PM
          0 responses
          8 views
          0 likes
          Last Post Belfortbucks  
          Working...
          X