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

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

  2. victormork • 87 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 • 87 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 • 87 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 • 87 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 • 87 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 • 86 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 • 86 days ago #

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

  8. Gertrade • 86 days ago #

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

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

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

  10. stockdemon • 81 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 • 81 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 • 81 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
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...
AlexF Hi Gertrde, your code gives error at line 24 Wins = positionperf(38)limh is it correct?
danibo Hi Francesco, please may you explain how to reproduce your test? I use IG markets. Where...
Francesco78 Hi Danibo, I am not sure I undesrtand your question, you simply need to run a backtest on PR...
danibo Hi Francesco, thank you for replying. I try to be crearer. My question is: - what is the...
JR1976 Hi Danibo , Is an error in the attachment Not consider screenshot cac40 . Soon I enclose...
danibo JR1976, thank you for your reply. Still I can't make the TS work with the US 550 because ...
JR1976 NOthing change ... tried with CFD US500 cash mini
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 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
hvluthy@sunrise.ch I tried to backtest this code but don't get any restults. Can any body help me?
CKW  Thanks Doctrading for sharing Is this Daily Time frame?  
Doctrading Hello, Yes, it is daily timeframe.
air Good job. 

Top