How do I create a Limit-On-Open Order for backtesting?

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #31409 quote
    ijackdoe85ijackdoe85
    Participant
    New

    I want to backtest buying at a Limit Price, but only on the Open.

    Example: I want to buy 100 shares on today’s Open, but only if today’s Open is at yesterday’s Close or Less. I don’t want to buy if today opens above yesterday’s Close, and then during the day the price drops down to the limit price. I want it to occur only on the Open, and if it doesn’t, then I want it to be disregarded.

    What is the coding for that?

    Thank you,

    Jack

    #31421 quote
    GraHalGraHal
    Participant
    Master

    Just my initial thoughts, guess you tried similar to below?

    ‘GH code’ to save me thinking / finding the correct syntax …

    If DOpen <= DClose[1] Then
    Set BuyStop at DOpen
    Endif

    Code is only read at the end of a bar and the Buy / Sell Short / Exit is completed at the beginning of the next bar … I guess you know that? So depending on what Timeframe you are using the Price may very well have zoomed past the DOpen level so best you allow some %, i.e. DOpen + 5*pipsize or whatever?

    Also did you know that – as a general rule – most Up days start with the Day Open > Day Close yesterday and if it is a big range UP day then that day will finish close to / on the High of the day.

    Just a few thoughts
    GraHal

    #31432 quote
    GraHalGraHal
    Participant
    Master

    Sitting in the garden in the sun and my answer flicked through my mind! 🙂

    You can’t read Daily Open Price until at least 1 bar has closed after the Daily Open (code is read at the end of bars) and so you would need to be on TimeFrame 1 Min or less else Price may run away and you would never get a Buy at or near the Open.

    Here’s a question … when is the Daily Open anyway? Is it at 120001 (a new day / date) in the Timezone of the market or is it at the Market Open for the Timezone? So Dax Open is 090000 CET?? Anybody??

    #31519 quote
    ijackdoe85ijackdoe85
    Participant
    New

    Thank you GraHal for your suggestion. But that doesn’t seem to do what I’m wanting.

    Another way of stating what I’m trying to do is:

    I want to buy 100 shares on tomorrow’s Open, but only if tomorrow’s Open is at today’s Close or Less. I don’t want to buy if tomorrow opens above today’s Close, and then during tomorrow the price drops down to the limit price. I want the buy to occur only on the Open, and if it doesn’t, then I want it to be disregarded.

    Here is what I have so far:

    IF c1 AND c2 AND c3 THEN
    BUY 100 shares AT CLOSE limit
    ENDIF

    What I don’t know, is how to limit the order to only to be filled on the Open of tomorrow.

    Thank you,

    Jack

    #31586 quote
    GraHalGraHal
    Participant
    Master

    Hi Jack

    There is no code for Tomorrow Open so 1 bar needs to have closed tomorrow so that code can decide if Todays Open was <= Yesterday Close

    If DOpen <= DClose[1] Then
    BUY 100 shares AT CLOSE limit
    ENDIF

    I’ll have a think about … buy to occur only on the Open, and if it doesn’t, then disregard … my grandson is here so  I have to get off my computer 🙂

    GraHal

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

How do I create a Limit-On-Open Order for backtesting?


ProOrder: Automated Strategies & Backtesting

New Reply
Author
author-avatar
ijackdoe85 @ijackdoe85 Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by GraHalGraHal
9 years, 5 months ago.

Topic Details
Forum: ProOrder: Automated Strategies & Backtesting
Language: English
Started: 04/08/2017
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...