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

Custom serialization

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

    Custom serialization

    Hi

    Is it possible to override the default object serialization ? I looking into providing my own serialization strategies without the use of code attributes.

    #2
    Hello,

    Thank you for the post.

    You could certainly use C# to serialize an object as you want, you can also prevent properties from being serialized using the [XmlIgnore()] attribute on any properties that should not be serialized. A strategy by default will be serialized if it is left in the workspace as this is needed to reapply it later. You cannot directly disable this but you can disable any custom properties you create and then create logic to save as you wish.

    In this situation, you would likely need to wait for a later state like DataLoaded to set a boolean value to know the script was in fact started and applied, then later in State.Terminated check if the bool was set and then serialize your properties or objects in a way you want.


    I look forward to being of further assistance.
    JesseNinjaTrader Customer Service

    Comment


      #3
      >A strategy by default will be serialized if it is left in the workspace as this is needed to reapply it later

      this sounds like if I remove the strategy from the workspace it will not be serialized? does it make sense? and if yes would it be possible to custom deserialize it again and add it to the workspace next time is loaded?

      Comment


        #4
        Hello,

        If you remove the strategy, it would not reappear the next time you load the workspace or platform. There are no programmatic ways to remove or apply strategies at this time. If you are trying to have it reappear when you start the platform, it would not make sense to remove it.

        If you can provide some detail on what you are trying to do specifically, potentially I could recommend other ideas.

        If you are trying to create some form of a template loading system to your strategy you can, but the default way the platform handles strategies cannot be changed. You would instead need to use attribute tags to prevent items that should not be serialized from being saved. This is the [XmlIgnore] attribute.


        I look forward to being of further assistance.
        JesseNinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by gemify, 11-11-2022, 11:52 AM
        6 responses
        803 views
        2 likes
        Last Post ultls
        by ultls
         
        Started by ScottWalsh, Today, 04:52 PM
        0 responses
        3 views
        0 likes
        Last Post ScottWalsh  
        Started by ScottWalsh, Today, 04:29 PM
        0 responses
        7 views
        0 likes
        Last Post ScottWalsh  
        Started by rtwave, 04-12-2024, 09:30 AM
        2 responses
        22 views
        0 likes
        Last Post rtwave
        by rtwave
         
        Started by tsantospinto, 04-12-2024, 07:04 PM
        5 responses
        70 views
        0 likes
        Last Post tsantospinto  
        Working...
        X