Universal Strategy

Universal Strategy

If you have followed the thread found here: https://www.prorealcode.com/topic/profitable-strategy-that-work-on-any-market/

You will be aware that I have placed a challenge to the forum to create a universal market neutral strategy. In other words a strategy that can be adapted to any market without ANY optimization. Below is my attempt at exactly this. I have opted to add a trading time filter as all markets have their sweet spot.

No variables have to be optimized for this strategy to work other than the trading time and spread. Attached is 2 screenshots of the same code executed on 2 different markets (same 1Hr timeframe but different spreads) where in both instances the code has significantly outperformed Buy and Hold. Spread on CAC40 set to 3 and spread on ZAF40 set to 20.

Note that this strategy was not meant to be a jaw dropper in terms of performance but rather a proof of concept that a single strategy can be applied to different markets with positive results. Obviously optimizing this strategy to individual markets will yield better results but that was never the idea. Hopefully the whole ProRealCode community can benefit from this (and even improve on it).

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

New! PRC is also now on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Nicolas • 169 days ago #

    Thanks for this interesting concept. I successfully test the strategy on DAX and Bund (same kind of results as your other tests on SAF40 and CAC40), but I’m not able to get relevant backtests on other timeframes than 1 hour, and because you stated that this trading strategy is “non timeframe dependent”, that’s why I’m talking about it. Good job!

  2. juanj • 169 days ago #

    I just want to expand a bit on the mechanics of how this strategy should theoretically perform in both ranging and trending markets. The idea is that in a ranging market you would likely see Bollinger reversals between the bands whereas in a trending market you would see a successful Bollinger breakout. This strategy aims to take advantage of both. Then also just to be fair (in answering Nicolas’s question above) although I mentioned the strategy to be timeframe independent, it would more accurate to just call it market neutral. The above set of ‘static’ variables is more suited to a specific timeframe. For lower timeframes such as the 5min chart, a smaller MA such as 50 would likely be ‘more’ suited along with an ATR[1] period. However once configured for an timeframe, it should be compatible between different markets on that timeframe.

  3. juanj • 169 days ago #

    @nicolas it would be interesting to see the 200k bar backtests of the CAC40 and SAF40, if you can post them? Would also be interesting to see if another trading time-frame is maybe better suited back then? I also think that maybe we can look into adding a different stop mechanism, maybe something like your trailing stop? The idea is for the PRC COMMUNITY to build onto this to get it to perform even better and more consistently on all markets.

  4. juanj • 168 days ago #

    I have made a minor modification to the Exit criteria and the result is looking very promising (check the EUR/USD 1Hr with spread of 0.8) for example.

  5. juanj • 168 days ago #

    If longonmarket and ((close[2] > BollU and close[1] > BollU and close BollU and high[1] > BollU and high < BollU)) Then
    LE = 1
    ElsIf shortonmarket and ((close[2] < BollL and close[1] BollL) or (low[2] < BollL and low[1] BollL)) Then
    SE = 1
    EndIf

    If ((close 95 Then
    Sell at market
    ElsIf ((close > close[1] + ATR) or (SE = 1)) and RS2 < 5 Then
    Exitshort at market
    EndIf

  6. juanj • 168 days ago #

    For above modification also add to the entry criteria to initialize the values;

    ‘LE = 0’ below every ‘Buy possize contract at market’
    ‘SE = 0’ below every ‘Sellshort possize contract at market’

  7. juanj • 168 days ago #

    @Nicolas I see it also significantly brings down the drawdown on the CAC40.

    Btw why is the Add PRT Code function not working on here? Also cannot attach screenshots, there are some very sexy curves on for instance the EUR/USD that need some showing off.

  8. juanj • 166 days ago #

    To follow new developments or get the latest version of this strategy please visit the forum:
    https://www.prorealcode.com/topic/profitable-strategy-that-work-on-any-market/

  9. tahar • 146 days ago #

    Hello Juan, I wanted to test Universal Strategy via a demo account on PRT but nothing happens, the auto trading is in process but nothing occured after 6 hours, the screen has no orders at all. What could be the problem to your opinion? Cheers.

  10. BravoDelta • 76 days ago #

    @juanj wondering if you may help me please. I am looking for a simply strategy to use on the South African Alsi through IG markets, would you be able to discuss this with me? Thanks

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
ALE Hello, can i help you in the topic?
Frank Hi, will the strategy ever go short? In back-test it was only long trades...
ALE Yes of course
MaoRai54 Hi, first of all Happy New Year. Well, I've inserted your indicator in DAX 1h but I cann...
Vinks_o_7 Hi Mao Happy New Year ! This is just an improved RSI where you plot a standard price momen...
LuisMi Hello merci pour l'indicateur j'ai un message d'erreur Veuillez définir la variable suiva...
LuisMi J'ai trouvé pour rajouter les variables... thanx for indicator
Inertia Very nice Franceso. Like it. Q: to turn your indicator into a strategy, shall I just replac...
Nicolas
1 month ago
TradeNavigator RSI
TradeNavigator RSI
10
Indicators
Nicolas Tutte le impostazioni che hanno la parola "period" sono quelle dedicate ai periodi di cambio...
GianfrancoCeck Le chiedo una ultima cosa, ossia se è possibile personalizzare l'indicatore con una scritta ...
Nicolas Spiacente che non sia possibile, le coordinate grafiche non sono in pixel ma nel prezzo e ne...
Alai-n Merci pour ce travail...
patmaba merci Alai-n. C'est ma première participation sur prorealcode, merci pour à toi pour ton co...
wintreb Un outil très visuel et utile Merci
darbes Hi Nicolas How could I use the indicator in a strategy ? Coding do not recognize the indica...
Nicolas What do you want to do exactly? Because dots are plotted afterwards..
juanj Definitely, need to code this into an automated strategy.
Marc Boliart dear nicolas, tyvm for your indicators and strategies, i have this following error when i ch...
Nicolas Your picture is too small, but for sure the problem is about the fact you are still using v1...
swapping Oups nicolas ! je pense que tu a oublié de mettre les variables "setting" accessible en exte...
Nicolas Je viens de vérifier, elles y sont pourtant?
swapping Mea culpa, j'ai fait un bête (copier/coller) et forcément cela ne pouvait pas y être puisqu'...
Jessar Hello, could you tell me how to use this indicator? I think the simplest things can still be...
TempusFugit Masala, thanks for your contribution. I don´t like the offmarket spreads neither ;) I unders...
Uveus Tempus, me da un error al validar el codigo, sobre la variable N. Al crear el indicador me ...
TempusFugit Hi Uveus, I am guessing you inserted the code of the indicator into the system code, is ...
Mirko Vaglio Interesting idea to bypass the limit of PRT about multiple timeframe, and I am just trying t...
Mirko Vaglio Looking a little bit more, now I understand what had to be absolutely obvious from the first...
Seb nice code! I'm trying to use your method to do a higher timeframe EMA, without success yet. ...
Robin von Bauhn Here you go! Would like to hear your feedback :) cl = RSI[2]100-a if cl and close &...
Francesco78 Sorry there might be few typos, pls send the full code. Thank you
Robin von Bauhn Oh, it's "cs" that's missing. I don't have the code right now but it's the exact same condit...
Nicolas That's right, it depends from when you start the strategy! ...
Jessar Hallo Leute, es wäre interessant aus dieser Strategie mit Hilfe von diesen indikator https:/...
verdi55 Funny. Just try this one on NASDAQ 100 (or any other big index) since 2009. Starting capital...
primo1 Bonjour Nicolas, sur quelle échelle de temps minimum tu utilises l indicateur je pense...
primo1 Bonjour Nicolas Pour créer la strategie comment peux tu traduire l"apparition des points....
Nicolas Exemple dans ce sujet du forum ProOrder : https://www.prorealcode.com/topic/perfect-trend-in...
Nicolas I don't think so.. You can try to make one with the assisted creation tool in ProOrder window.
Stanko Ok. Thanks
thierryp Bonjour Nicolas, merci pour le travail que vous effectuez. Je ne suis vraiment pas bon dans ...

Top