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 Perr0Grande, Today, 08:16 PM
        0 responses
        2 views
        0 likes
        Last Post Perr0Grande  
        Started by elderan, Today, 08:03 PM
        0 responses
        3 views
        0 likes
        Last Post elderan
        by elderan
         
        Started by algospoke, Today, 06:40 PM
        0 responses
        10 views
        0 likes
        Last Post algospoke  
        Started by maybeimnotrader, Today, 05:46 PM
        0 responses
        9 views
        0 likes
        Last Post maybeimnotrader  
        Started by quantismo, Today, 05:13 PM
        0 responses
        7 views
        0 likes
        Last Post quantismo  
        Working...
        X