Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Evaluation of Ninja v others (Esignal)

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

    Evaluation of Ninja v others (Esignal)

    Hi,

    I am currently evaluating Ninja Trader versus a few of the other algo trading platforms. I have a some questions and I wonder if someone from Ninja Trader support / development can help me with?

    Firstly, please let me say (echoing others on this forum) so far I’m very impressed with the platform. I am a frustrated user of Esignal (don’t got there is you are trying to develop algo systems) and so far I like what I see in Ninja Trader. I am also very impressed with the pricing structure. It allows us (the user community) to develop for free and you get the pay off later.

    Portfolio analysis
    Does Ninja Trader have the ability to backtest across a set or portfolio of instruments, not just a single instrument? I have linked here the to the equivalent to a description of the functionality I am referring to Ami Broker. They are on the only provider I have come across that does this as yet (http://www.amibroker.com/guide/h_portfolio.html). This functionality is very important. If one is going to run a strategy on a set of instruments (e.g. a basket of forex currency crosses) then one really needs to understand the extent of the drawdowns as there will be correlation between the profit and losses of those currencies with the same strategy trading on them as the underlying currencies will have correlation.

    Optimisation variables
    I know that Ninja Trade can pass in variables during backtesting (http://www.ninjatrader.com/V6_Videos/NT6StrategyAnalyzerOptimization.html) ; however, can user defined variables be switched? For example, if I wanted to backtest a different type of position management strategy (e.g. a 30 pip trailing stop Vs a percentage stop). Therefore, I would want to define a number variable to be switched from 1 too 2, where 1 is a trailing stop position management strategy and 2 is a percent stop strategy; or, switching on various ATM (Advanced Trade Management) strategies for position management (see question below on ATM specifically).

    Strategy / Indicator
    I am not sure I get the logic of the Strategy vs Indicator thing in Ninja Trader. In Esignal the whole of a EFS script can be an Indicator and a Strategy at once. Indeed, the logical of design in Esignal is to incorporate them both onto a single chart. However, in Ninja Trader they appear to be defined as different things. (For further clarification see question below regarding bar replay in Esignal). Could someone in support / dev possibly issue us some documentation that provides an overview of the design logic here? Of the type of document I am referring, a good example is given here: http://www.activequant.org/ (see the quick schematic overview section on the bottom of the page). To give an example of what I’m asking – Can you be executing a strategy and bring up a chart / Super DOM and see that orders pending in both Sim and live modes?

    Bar replay
    One of the good things in Esignal (yes, there are some good features) is the bar replay functionality. You can apply a Trading Strategy to a chart and have it execute bar by bar. Does the same functionality exist in Ninja Trader? I know that there is the Market Replay function, but would a Strategy that is applied to the chart when the market is being replayed also paper trade that strategy. This is for debugging and walk forward analysis purposes.

    Bring to front (work spaces)
    When you are working with multiple windows it is really painful when you have to click on each of the windows to bring them forward. If one has a 15 min, 60 min and a daily timeframe chart, which I am sure is common for Forex traders, then you need to click on each of them to bring them to the front. This is particularly the case when you have other applications (e.g. web browser, email client, etc). Is there something that can be done about this? I would suspect that the best approach for this is to put a “Bring workspace windows to front” option on the Mkt Analyser / Control Centre when right clicking on the particular instrument.

    ATM templates / strategy via Ninja Scripts
    Can a pre-defined / saved ATM template be called from a Ninja Script strategy to manage the position generated by the strategy? If so, is there some documentation or a worked example you can point me towards?

    Compile in Visual Studio
    Upon reading some of the posts in the forum I have noted advice from some support staff recommending to users not to compile scripts in Visual Studio. Is that correct? Are you able to compile Ninja Scripts in Visual Studio? Is one only able to use Visual Studio for debugging purposes? Or can Visual Studio be treated as a full IDE for Ninja Scripts?

    If the answer to the above question is that VS can only be used for debugging, could someone provide a the reasoning why? And state if there are any plans to allow developers whom are more seriously developing algo systems to develop them in a proper IDE (that VS is) and allow those whom want to make minor adjustments to Ninja Scripts to work in the Ninja Scripting environment. This is important as my experience that algo strategies grow quickly once you put in place set-up criteria filtering, position management, etc. Managing the interaction of those elements is best done in a full functioning IDE.

    Support escalation process
    Is there any documentation on the support escalation process? Defining escalation as in the ITIL terminology - http://www.itil-officialsite.com/home/home.asp

    Multi-tread support
    One of the reasons we are needing to step away from Esignal is that it does not have multi-thread support. If one is trying to do more than a simple MA crossover strategy, it simply falls over for want of processing power / RAM. I’m to understand that multi-thread support is going to be implemented in Version 7 of Ninja. Is that correct? If so, how much of a performance improvement is early testing showing? I would greatly appreciate if someone from the community could comment on the performance they have seen with relatively complex strategies / indicators running on charts with the current version?

    User communities
    Do physical user communities exist for Ninja Trader? For example, if you look at something like Oracle which has a strong user group here that helps Oracle with events and functions: http://www.ukoug.org/. Or something like Pro-Shares operated by Digital Look: http://www.proshareclubs.co.uk/. If not, are there any plans to develop such user communities around Ninja Trader?

    Thanks in advance for your assistance.

    Kind regards,

    Dan

    #2

    Portfolio analysis
    Does Ninja Trader have the ability to backtest across a set or portfolio of instruments, not just a single instrument? I have linked here the to the equivalent to a description of the functionality I am referring to Ami Broker. They are on the only provider I have come across that does this as yet (http://www.amibroker.com/guide/h_portfolio.html). This functionality is very important. If one is going to run a strategy on a set of instruments (e.g. a basket of forex currency crosses) then one really needs to understand the extent of the drawdowns as there will be correlation between the profit and losses of those currencies with the same strategy trading on them as the underlying currencies will have correlation.
    NinjaTrader does support backtesting of an instrument list however, meaning it will run a backtest on each individual instrument in a list. We do not support true portfolio backtesting. This is on our list for future consideration.

    Optimisation variables
    I know that Ninja Trade can pass in variables during backtesting (http://www.ninjatrader.com/V6_Videos/NT6StrategyAnalyzerOptimization.html) ; however, can user defined variables be switched? For example, if I wanted to backtest a different type of position management strategy (e.g. a 30 pip trailing stop Vs a percentage stop). Therefore, I would want to define a number variable to be switched from 1 too 2, where 1 is a trailing stop position management strategy and 2 is a percent stop strategy; or, switching on various ATM (Advanced Trade Management) strategies for position management (see question below on ATM specifically).
    Yes, you can do this. This is supported through programming.

    Strategy / Indicator
    I am not sure I get the logic of the Strategy vs Indicator thing in Ninja Trader. In Esignal the whole of a EFS script can be an Indicator and a Strategy at once. Indeed, the logical of design in Esignal is to incorporate them both onto a single chart. However, in Ninja Trader they appear to be defined as different things. (For further clarification see question below regarding bar replay in Esignal). Could someone in support / dev possibly issue us some documentation that provides an overview of the design logic here? Of the type of document I am referring, a good example is given here: http://www.activequant.org/ (see the quick schematic overview section on the bottom of the page). To give an example of what I’m asking – Can you be executing a strategy and bring up a chart / Super DOM and see that orders pending in both Sim and live modes?
    The only documentation we have at this time is in our Help Guide. In short, an indicator should be used when there is a requirement for plotting on a chart only. An indicator can't execute orders. A strategy of course can. If you did not have a plotting requirement, you could move any indicator logic to a strategy however, you lose re-usability if you wanted to call the indicator logic from multiple strategies.

    Bar replay
    One of the good things in Esignal (yes, there are some good features) is the bar replay functionality. You can apply a Trading Strategy to a chart and have it execute bar by bar. Does the same functionality exist in Ninja Trader? I know that there is the Market Replay function, but would a Strategy that is applied to the chart when the market is being replayed also paper trade that strategy. This is for debugging and walk forward analysis purposes.
    Yes. There is a big difference between Market Replay and Bar Replay. Market Replay is so much better since it replays not just a bar by bar but full market data for simultaneously recorded instruments which in turn drive every part of the NinjaTrader application including charts and strategies.

    Bring to front (work spaces)
    When you are working with multiple windows it is really painful when you have to click on each of the windows to bring them forward. If one has a 15 min, 60 min and a daily timeframe chart, which I am sure is common for Forex traders, then you need to click on each of them to bring them to the front. This is particularly the case when you have other applications (e.g. web browser, email client, etc). Is there something that can be done about this? I would suspect that the best approach for this is to put a “Bring workspace windows to front” option on the Mkt Analyser / Control Centre when right clicking on the particular instrument.
    You can toggle between open workspaces via SHFT+F3.

    ATM templates / strategy via Ninja Scripts
    Can a pre-defined / saved ATM template be called from a Ninja Script strategy to manage the position generated by the strategy? If so, is there some documentation or a worked example you can point me towards?
    Yes. Please see the Help Guide section NinjaScript > NinjaScript Language Reference > Custom Strategy Methods and Properties > AtmStrategy Methods.

    Compile in Visual Studio
    Upon reading some of the posts in the forum I have noted advice from some support staff recommending to users not to compile scripts in Visual Studio. Is that correct? Are you able to compile Ninja Scripts in Visual Studio? Is one only able to use Visual Studio for debugging purposes? Or can Visual Studio be treated as a full IDE for Ninja Scripts?

    If the answer to the above question is that VS can only be used for debugging, could someone provide a the reasoning why? And state if there are any plans to allow developers whom are more seriously developing algo systems to develop them in a proper IDE (that VS is) and allow those whom want to make minor adjustments to Ninja Scripts to work in the Ninja Scripting environment. This is important as my experience that algo strategies grow quickly once you put in place set-up criteria filtering, position management, etc. Managing the interaction of those elements is best done in a full functioning IDE.
    You can debug in VS but not compile. Please compile in the NS Editor since there are automated code generation performed to ensure that everything works behind the scenes.

    Support escalation process
    Is there any documentation on the support escalation process? Defining escalation as in the ITIL terminology - http://www.itil-officialsite.com/home/home.asp
    No there is not.

    Multi-tread support
    One of the reasons we are needing to step away from Esignal is that it does not have multi-thread support. If one is trying to do more than a simple MA crossover strategy, it simply falls over for want of processing power / RAM. I’m to understand that multi-thread support is going to be implemented in Version 7 of Ninja. Is that correct? If so, how much of a performance improvement is early testing showing? I would greatly appreciate if someone from the community could comment on the performance they have seen with relatively complex strategies / indicators running on charts with the current version?
    NinjaTrader is already multi-threaded. NT7 will support true multi-core in the areas of backtesting optimization. We are not in a position to disclose any further information at this time.

    User communities
    Do physical user communities exist for Ninja Trader? For example, if you look at something like Oracle which has a strong user group here that helps Oracle with events and functions: http://www.ukoug.org/. Or something like Pro-Shares operated by Digital Look: http://www.proshareclubs.co.uk/. If not, are there any plans to develop such user communities around Ninja Trader?
    The only official user community we support is this forum. We are not aware of any others.
    RayNinjaTrader Customer Service

    Comment


      #3
      Ray,

      Thank you very much for your reply.

      I’m very impressed with the response on the weekend. I appreciate it very much.

      I have put some additional questions / comments below. I would greatly appreciate if replies could be provided.

      Kind regards,

      Dan


      NinjaTrader does support backtesting of an instrument list however, meaning it will run a backtest on each individual instrument in a list. We do not support true portfolio backtesting. This is on our list for future consideration.


      When you say “future consideration” can you please clarify what that means? Where in the Software Development Lifecycle does it sit?


      Quote:
      Optimisation variables
      I know that Ninja Trade can pass in variables during backtesting (http://www.ninjatrader.com/V6_Videos/NT6StrategyAnalyzerOptimization.html) ; however, can user defined variables be switched? For example, if I wanted to backtest a different type of position management strategy (e.g. a 30 pip trailing stop Vs a percentage stop). Therefore, I would want to define a number variable to be switched from 1 too 2, where 1 is a trailing stop position management strategy and 2 is a percent stop strategy; or, switching on various ATM (Advanced Trade Management) strategies for position management (see question below on ATM specifically).
      Yes, you can do this. This is supported through programming.
      Great news. Thanks for that.

      The only documentation we have at this time is in our Help Guide. In short, an indicator should be used when there is a requirement for plotting on a chart only. An indicator can't execute orders. A strategy of course can. If you did not have a plotting requirement, you could move any indicator logic to a strategy however, you lose re-usability if you wanted to call the indicator logic from multiple strategies.
      I’m sorry but I’m not sure I understand you response here. Can you please clarify some more or could we see some draft documentation? Or could I please arrange a call with someone whom understands the functionality clearly to make sure I understand?

      Yes. There is a big difference between Market Replay and Bar Replay. Market Replay is so much better since it replays not just a bar by bar but full market data for simultaneously recorded instruments which in turn drive every part of the NinjaTrader application including charts and strategies.
      My question here is related to my request for clarification above. I'm not sure if I've understood. It is great that we can replay the whole market. However, the important element of that replay is to see the strategy being tested executing in the market being replayed. I guess I need to understand your reply a little more to the above point to ensure the market replay is of value.

      In Esignal one can see the strategy executing the orders and reacting the incomig market data on the chart. That is the type of functionality I am referring to here.

      You can toggle between open workspaces via SHFT+F3.
      Thanks for the clarification on the workspaces. After some playing I have sort of addressed the functionality gap. As a workaround this does the job. Again, I think the improvement suggestion stands – a “bring workspace to front” function would be helpful.

      I have acheived the work around by having a blank workspace, then the actual required workspace listed. Then click on any window in the workspace, toggle the workspaces to bring it forward.

      Yes. Please see the Help Guide section NinjaScript > NinjaScript Language Reference > Custom Strategy Methods and Properties > AtmStrategy Methods.
      Thank for that. I will review the documentation. Appreciated.

      No there is not.
      Ok, this slightly worries me. Are you saying that there exists no support escalation route whatsoever?

      The only official user community we support is this forum. We are not aware of any others.


      Ok, thanks for that. Are there any plans to generate any of the type I refer to?

      Comment


        #4
        When you say “future consideration” can you please clarify what that means? Where in the Software Development Lifecycle does it sit?
        It means that I will consider implementing a feature like this in a future NinjaTrade release.

        I’m sorry but I’m not sure I understand you response here. Can you please clarify some more or could we see some draft documentation? Or could I please arrange a call with someone whom understands the functionality clearly to make sure I understand?


        There is no more draft documentation. The indicator class has methods/properties relative to drawing on a chart. This is documented in the Help Guide. The strategy class has methods/properties relative to an automated strategy, also documented in the Help Guide. In short, if you want to write an automated trading system/strategy --> Use the Strategy class else, use the indicator class.


        My question here is related to my request for clarification above. I'm not sure if I've understood. It is great that we can replay the whole market. However, the important element of that replay is to see the strategy being tested executing in the market being replayed. I guess I need to understand your reply a little more to the above point to ensure the market replay is of value.

        In Esignal one can see the strategy executing the orders and reacting the incomig market data on the chart. That is the type of functionality I am referring to here.
        Yes you can run a strategy in Market Replay and seeing orders executed against replayed streaming data.

        Ok, this slightly worries me. Are you saying that there exists no support escalation route whatsoever?
        That is not what I am saying. I am saying that there is no documentation on how our internal support processes work. If you have an issue, you report it and we resolve it in the most efficient manner we can and escalate internally as required.

        Are there any plans to generate any of the type I refer to?
        Nothing I am in a positition to discuss at this time.
        RayNinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by XXtrader, Yesterday, 11:30 PM
        2 responses
        11 views
        0 likes
        Last Post XXtrader  
        Started by Waxavi, Today, 02:10 AM
        0 responses
        6 views
        0 likes
        Last Post Waxavi
        by Waxavi
         
        Started by TradeForge, Today, 02:09 AM
        0 responses
        11 views
        0 likes
        Last Post TradeForge  
        Started by Waxavi, Today, 02:00 AM
        0 responses
        2 views
        0 likes
        Last Post Waxavi
        by Waxavi
         
        Started by elirion, Today, 01:36 AM
        0 responses
        7 views
        0 likes
        Last Post elirion
        by elirion
         
        Working...
        X