2 days buy and hold SP500

2 days buy and hold SP500

I found the baseline of this long only code online and did a few small changes to it.

It works as follow:

Entry rules:

  1. 2 periods moving average 1 day ago is greater than moving average of today.
  2. 2 periods moving average 10  days ago is greater than 11 days ago.
  3. Close above 7 periods moving average

Exit rule:

When the first entry rule is no longer true; exit.

 

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 • 32 days ago #

    Thank you Victor, I added a full ‘buy and hold’ chart comparison as an attached file.

  2. victormork • 32 days ago #

    Thanks for the comparsion. This code would need some additional money management to take advantage of the steady equity curve in order to make sense. The selection of number of days to use for entry signal can also be optimised for a better return.

  3. Gertrade • 32 days ago #

    Hi victor, below “Buy Sell and Hold” code optimized with money management on DAX 4h. Thank’s

    DEFPARAM CumulateOrders = False
    DEFPARAM PreloadBars = 200

    // Money Management
    Equity = 500+(StrategyProfit*3)
    Risk = 0.1
    n = Max(1,Equity*Risk/51/PipValue)

    // ————
    Losses = positionperf(38)>0
    Wins = positionperf(38)ma1[0]
    b1 = b1 and ma1[10]>ma1[11]
    b1 = b1 and close > ma2

    b3 = ma1[1]<ma1[0]
    b3 = b3 and ma1[10]<ma1[11]
    b3 = b3 and close < ma2

    // Entry
    if b1 then
    buy positionsize contracts at market
    endif

    if b3 then
    sellshort positionsize contracts at market
    endif

    // Exit
    e1 = ma1[1]ma1[0]

    if e1 and longonmarket then
    sell at market
    endif

    if e3 and shortonmarket then
    exitshort at market
    endif

    // Stoploss and Profit
    set stop %loss sl
    set target %profit tp

    • victormork • 32 days ago #

      thanks! works alright but I think something when wrong in the last part of the code you attached (from “b3” and down)? There is no command for entry.

  4. Gertrade • 32 days ago #

    thanks victor! below the original code modified with no errors.
    //————————————————————————-
    // Code principal : buy sell and hold DAX 4h
    //————————————————————————-
    DEFPARAM CumulateOrders = False
    DEFPARAM PreloadBars = 200

    // Money Management
    Equity = 500+(StrategyProfit*3)
    Risk = 0.1
    n = Max(1,Equity*Risk/51/PipValue)

    // ————
    Losses = positionperf(38)>0
    Wins = positionperf(38)ma1[0]
    b1 = b1 and ma1[10]>ma1[11]
    b1 = b1 and close > ma2

    b3 = ma1[1]<ma1[0]
    b3 = b3 and ma1[10]<ma1[11]
    b3 = b3 and close < ma2

    // Entry
    if b1 then
    buy positionsize contracts at market
    endif

    if b3 then
    sellshort positionsize contracts at market
    endif

    // Exit
    e1 = ma1[1]ma1[0]

    if e1 and longonmarket then
    sell at market
    endif

    if e3 and shortonmarket then
    exitshort at market
    endif

    // Stoploss and Profit
    set stop %loss sl
    set target %profit tp

  5. victormork • 32 days ago #

    Hi! it’s still incorrect. There’s something wrong when you copy codes to this comment section. I’ve had this problem here too. If you don’t mind could you pls put the code in a new forum topic?

  6. Gertrade • 32 days ago #

    Hi! replace the code at the line 43 by the code below. Thank’s
    b3 = ma1[1]<ma1[0]
    b3 = b3 and ma1[10]<ma1[11]
    b3 = b3 and close < ma2

    // Entry
    if b1 then
    buy positionsize contracts at market
    endif

    if b3 then
    sellshort positionsize contracts at market
    endif

    // Exit
    e1 = ma1[1]ma1[0]

  7. victormork • 32 days ago #

    @Nicolas do you think you can solve the issue with copy paste code into this comment field? Thanks

  8. Gertrade • 31 days ago #

    I’m sorry but it impossible to post the original true code. May be, Nicolas can solve this problem.

    • Nicolas • 31 days ago #

      I’m aware of this comment engine issue. Would you mind send me the code as I could try to fix the problem, probably due to the codes’characters.. Please use the contact form: https://www.prorealcode.com/contact/
      Thanks a lot for your help!

  9. Gertrade • 31 days ago #

    I don’t send the original code by the contact form:https://www.prorealcode.com/contact/. The contact form don’t run when i push on the button “send”.

    • Nicolas • 31 days ago #

      Send me the code with email: nicolas[at]prorealcode.com

  10. stockdemon • 26 days ago #

    The problem is that the markup is assuming you’re writing. markup 🙂

    Try the code tags, might do the trick, e.g.

    b3 = ma1[1]<ma1[0]

    • stockdemon • 26 days ago #

      Well that didn’t work. Next attempt:
      b3 = ma1[1]<ma1[0]

      https://www.freeformatter.com/html-escape.html#ad-output (Try this site)

    • Nicolas • 26 days ago #

      Sorry for the problem. It should be fixed now. Post code and refresh the page, then codes should no longer been truncated.

avatar
Register or

Likes

avatar avatar avatar
Related users ' posts
gabri Dani, questo e' un sistema di investimento (non trading) o buy and hold come qualcuno lo ...
dani85pc pensavo fosse un trading system non hai niente del genere??
gabri La differenza tra trading e investing rimane nel tempo di hold. Meno di tre mesi (per qualcu...
robdav Thanks Francesco, interesting.
stefou102 I came up with a pretty similar strategy, although in my experience the following test works...
Wilko The close at MA condition does't make much sense as this strategy will stay in market until ...
Ricx Hi! Looks like a good system, I would like to try it out and see if I can make it fit into a...
JR1976 I Ricx, Thanks an advance for your comment The most important condition to go long are : SP...
JR1976 I Ricx Sorry but there is an error in copy paste of the previous reply. The follow the s...
rejo007 C'est à propos de la partie "short" proposée par SimoneDasGupta un peu plus haut dans les co...
Doctrading AH ok, I think the ca3 is the same : ca3 = pB[1] < 0.2 and pB < 0.2 Best regards,
chromosome21 Hello everybody, First, thank you so much for all your advices, I'm a begginer in trading a...
Miguel1980 Hi gabri, I was not asking you to run any backtest but a PRT screener on any market to find...
gabri Miguel, copy. I just came back from vacation, I will pass you some data soon.
gabri Miguel, I will give you some stocks. I would buy (I probably will) Serneke group AB. I will...
Iber0 Con esta modificación reinviertes las ganancias y la curva mejora bastante arriesgando menos...
Iber0 Asi quedaria con el spread de IG [IMG]http://i65.tinypic.com/2418ism.jpg[/IMG]
avatar
bjoern Seems to work nice on BUND - M15 with SL 70 and TP 120
CKW  Thanks Doctrading for sharing Is this Daily Time frame?  
Doctrading Hello, Yes, it is daily timeframe.
air Good job. 

Top