Code specifics for the ProBacktest module…

Viewing 12 posts - 16 through 27 (of 27 total)
  • Author
    Posts
  • #247020 quote
    NeoTrader
    Participant
    New

    I’m just speculating here, but it’s possible to draw a correlation between indicator code and backtest, and the final proOrder strategy code because of the call instruction.

    A backtest code only allows a subset of command to be valid in its file, however, it can call an indicator code file that uses other commands, for indicators.

    I guess that when a indicator is called from the backtest, only the results of the indicators returned variable’s are used in the backtest and not the different indicator only commands , however, they influence the indicator calculations.

    These also, come up when you query the current version of the proOrder Strategy file.

    So this could account for why the general proBuilder lauguage commands incorporate the code for indicators, and I guess it’s would be the same for screeners.

    This may be why when looking back from the backtest that indicator code is invalid, but not if it’s called!

    Or looking forward from an indicator and requiring other commands for the backtest.

    Just a thought that came into my head while all the other comments were flying over it.

    Regards

    Hi druby,

    Thank you for taking the time to reply.

    Yep, I am noticing a similar line too, where the ProBacktest Code calls into use, an indicator or the proprietary PRT code.

    This is similar to Python code, calling pandas_ta library.

    Having said that, some of the code syntax errors encountered are not always in relation to that of the indicator in use.

    Hence, my search for a specific ProBacktest code library.

    I have yet to look into anything (Modules of the ProRealTime Platform) other than, the backtest, as this is always my first port of call when using a trading platform.

    Onwards…

    Please feel free to comment, its much appreciated.

    NT

    #247021 quote
    PeterSt
    Participant
    Master
    Hi again NT,

    I am not sure what you are stating, so it is likely I am missing the poignant matters you state.

    I think the most important message from my last post is :

    • You/we are in the lap of the Gods for how PRT – server side ! – deals with our trades in the communication (interfacing) with the two brokers – IG and IB. There is no influence from you, the client, possible, so steering that in good order is eminent. The sheer fact that the two brokers each have their own massive list of rules, implies that all these rules should be made known to the AI or else only misery (thrown out Systems)  come from it.
    • Nobody can make known these rules, because they are not simply listed somewhere. We run into them instead. Note : it takes many months throughput to test this all in Live-Live, knowing that Live-Live is the only real representative for all what can happen (like, no broker present in Demo-Live and therefore half of the misery not happening, the other half still does because it won’t occur in BT – only in ProOrder).

    Somewhere in here lives a thread where about each day I could mention a new error message from IG, stopping my system for thus again another reason.
    Attached a small list of the past month or so, of the throwouts I accept (I just restart and be done with it). I have hundreds of these – probably way more than 1000, divided over 50 or so reasons, say 45 solved. Solved how ? by not executing certain commands, not executing them too frequently, not execute them in certain time periods, and then 40 reasons more – those reasons being different for IG than for IB.
    Plus as we all know : what I as a person may squeeze out of PRT / trading, is in no way equal to what you would do. What we challenge for is thus also different.

    So summarized : if that is not incorporated, then your glossary of commands is fairly useless. What would lead to something IMO, is the discussions in a forum like this (which readily is the only forum about PRT anyway). I recall a last nice discussion between a few (me, GraHal and a couple more) when IG announced a different strategy for amending their rejections policy (= System throwouts) all in the realm of “more happy users”. I forgot the real subject but it was related to Limit Orders from now on being transferred to Market orders so that their internal systems would not reject (under the normally present regime of “price is not present any more”). Let’s say this was a discussion of 50+ posts, everybody guessing what the letter we all received form IG, its real merits were (which for IG is always negative as they do all to get more of your money). Now, *that* is a dicussion for an AI to grasp “intelligence” from, most certainly more into the history of times. It would readily conclude what is really going on, especially looking at the dates after the installment of that letter.
    It-is-the-only-such-discussion I recall, so generally useless. There are no releasenotes. There are a million complaints, nothing ever stated solved (but things get solved). There is thus nothing for an AI. No-thing (except for that one discussion). This is so f*cked up that it is a sheer waste for several reasons to begin with.
    And again I say : it is not Ninja (now not addressed as NT which could have been confusing). Millions of discussions, infinite release notes, uncountable number of solutions or reasoning about client side code which does not exist with PRT. It is a missed opportunity (but by accident) which will never recover.

    I did not see that one coming at all. But today it is sheer fact.
    But who knows … You may come up with the good ideas and I will gladly listen.
    Kind regards,
    Peter

    PS: *are* you familiar with other platforms, as I suggested ?

    image_2025-05-12_184426239.png image_2025-05-12_184426239.png
    #247026 quote
    JS
    Participant
    Senior

    Function Comparison: ProBackTest/ProOrder vs. ProBuilder

    Function Category ProBackTest / ProOrder ProBuilder
    Graphical functions (DRAWTEXT, DRAWLINE, etc.) Not allowed Allowed
    Trading instructions (BUY, SELL, SET STOP, etc.) Allowed Not allowed
    Time and date functions (CurrentTime, Year, etc.) Allowed Allowed
    Indicators (RSI, MACD, ADX, etc.) Allowed Allowed
    Visualization options (COLOURED, STYLE, etc.) Restricted/Not allowed Allowed
    Control logic (IF/THEN/ELSE, WHILE, FOR, etc.) Allowed Allowed
    Array functions (ArraySort, IsSet, etc.) Allowed Allowed
    Result definition (RETURN, AS, ONCE, etc.) “Return” Not allowed Allowed
    robertogozzi and NeoTrader thanked this post
    #247050 quote
    NeoTrader
    Participant
    New

    PeterSt

    Hi PeterSt,
    I think, from my understanding of your post replies, that you are at odds with the coding and any forward coding operations.
    I, on the other hand, only wish to utilise the ProBacktest code features.

    And, I can see from other post updates, that there are limitations with the ProBacktest code (Size and process content of said code).

    But, you have shed light on matters that might affect my future use of the ProRealTime Platform…
    I say might, as I have mentioned that I use my own coded algorithm, which only requires the backtest performance values.

    For my foreseeable future, I have no intention of automating any code ordering, my preference is that I act on the green light algorithm system, for both trade entry and exit.

    Aside, I thank you once again your replies.
    My warmest regards,
    NT

    #247051 quote
    NeoTrader
    Participant
    New

    Function Comparison: ProBackTest/ProOrder vs. ProBuilder

    <table style=”font-weight: 400;”>
    <tbody>
    <tr>
    <td width=”192″>Function Category</td>
    <td width=”192″>ProBackTest / ProOrder</td>
    <td width=”192″>ProBuilder</td>
    </tr>
    <tr>
    <td width=”192″>Graphical functions (DRAWTEXT, DRAWLINE, etc.)</td>
    <td width=”192″>Not allowed</td>
    <td width=”192″>Allowed</td>
    </tr>
    <tr>
    <td width=”192″>Trading instructions (BUY, SELL, SET STOP, etc.)</td>
    <td width=”192″>Allowed</td>
    <td width=”192″>Not allowed</td>
    </tr>
    <tr>
    <td width=”192″>Time and date functions (CurrentTime, Year, etc.)</td>
    <td width=”192″>Allowed</td>
    <td width=”192″>Allowed</td>
    </tr>
    <tr>
    <td width=”192″>Indicators (RSI, MACD, ADX, etc.)</td>
    <td width=”192″>Allowed</td>
    <td width=”192″>Allowed</td>
    </tr>
    <tr>
    <td width=”192″>Visualization options (COLOURED, STYLE, etc.)</td>
    <td width=”192″>Restricted/Not allowed</td>
    <td width=”192″>Allowed</td>
    </tr>
    <tr>
    <td width=”192″>Control logic (IF/THEN/ELSE, WHILE, FOR, etc.)</td>
    <td width=”192″>Allowed</td>
    <td width=”192″>Allowed</td>
    </tr>
    <tr>
    <td width=”192″>Array functions (ArraySort, IsSet, etc.)</td>
    <td width=”192″>Allowed</td>
    <td width=”192″>Allowed</td>
    </tr>
    <tr>
    <td width=”192″>Result definition (RETURN, AS, ONCE, etc.)</td>
    <td width=”192″>“Return” Not allowed</td>
    <td width=”192″>Allowed</td>
    </tr>
    </tbody>
    </table>

    Ah JS,
    How very kind of you to provide the code differentiation of ProBacktest vs ProBuilder.

    I do wonder, given the importance of backtesting, that additional code features are added, that of course would benefit others.

    I shall create such a list, and post that others might also desire such useful code amendments, would you have any such requests for this matter?

    My kindest regards
    NT.

    #247052 quote
    GraHal
    Participant
    Master

    JS wrote: Function Comparison: ProBackTest/ProOrder vs. ProBuilder

    Neo when ‘Quoting’ it is best to only highlight a small part (as I did above) of a previous post then click the Quote button.

    We can easily click back to the full original post if we need to read the whole post etc.

    If we highlight whole posts it becomes messy, too much uneeded text and more scrolling to get to the new posted text etc.

    Just a gentle tip anyway.

    NeoTrader thanked this post
    #247053 quote
    NeoTrader
    Participant
    New

    JS wrote: Function Comparison: ProBackTest/ProOrder vs. ProBuilder

    Neo when ‘Quoting’ it is best to only highlight a small part

    Just a gentle tip anyway.

    Hey GraHal,
    Ah, I was in the process of editing said post, when you message arrived, but it removed the edit feature…. Noted thank you…
    NT

    #247054 quote
    NeoTrader
    Participant
    New

    Hi JS
    Can you clarify, if this is all a no go with the ProBacktest code module…

    Function Category ProBackTest / ProOrder ProBuilder:
    Visualization options (COLOURED, STYLE, etc.) Restricted/Not allowed Allowed <<< is this restriction to all of the visualisation options or partial ??
    and
    Result definition (RETURN, AS, ONCE, etc.) “Return” Not allowed Allowed <<< Is it only the ‘RETURN’ that is not allowed, or all stated ‘Results definition’ components??

    Many thanks,
    NT

    #247058 quote
    JS
    Participant
    Senior

    Hi NT,

    As mentioned, when debugging your strategy in ProBackTest, you can use Graph, GraphOnPrice, and Print.
    For example:

    GraphOnPrice StopLoss as "StopLoss" Coloured("Red")

    This allows you to take advantage of the built-in visualization tools to better analyze your strategy…

    Important: once your strategy goes live, these visualization commands are no longer allowed

    Finally, the Return command must always be the last line in the code of an indicator (ProBuilder)
    Return should not be used in a ProBackTest/ProOrder strategy…

    NeoTrader thanked this post
    #247060 quote
    NeoTrader
    Participant
    New
    Hi NT, As mentioned, when debugging your strategy in ProBackTest, you can use Graph, GraphOnPrice, and Print….
    Hey JS, Just as a heads up…. I never use said code for live purposes… All of my comments relate to the ProBacktest and backtesting purposes… I hope that makes any answering easier…. NT
    JS thanked this post
    #247061 quote
    JS
    Participant
    Senior
    Hi NT, That’s right, I’ve read it, but other forum members are probably reading along as well, so I’m trying to keep things a bit consistent…
    NeoTrader thanked this post
    #247069 quote
    NeoTrader
    Participant
    New
    JS
    Ah, that makes sense…. Righto, all is well ☺️ And thank you for your guidance NT
    JS thanked this post
Viewing 12 posts - 16 through 27 (of 27 total)
  • You must be logged in to reply to this topic.

Code specifics for the ProBacktest module…


ProOrder: Automated Strategies & Backtesting

New Reply
Author
author-avatar
NeoTrader @neotrader Participant
Summary

This topic contains 26 replies,
has 6 voices, and was last updated by NeoTrader
9 months, 1 week ago.

Topic Details
Forum: ProOrder: Automated Strategies & Backtesting
Language: English
Started: 05/11/2025
Status: Active
Attachments: 1 files
Logo Logo
Loading...