Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

basic strategy programming

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    basic strategy programming

    I wrote a simple "test" strategy: "if today's open price is higher/lower than yesterday's H/L - trade..." When I back test - no orders are generated (though conditions did occur).
    My questions (see code below):
    1.what do I use to init values each day? (during back test) [I use Initialize() - is it correct?]
    2. to get today's open I use CurrentDayOHL().CurrentOpen[0], for yesterday's low I use Bars.GetDayBar(1).Low - is it correct?]
    3. to get current price, I use Close[0] - is it correct?

    I listed the code below:
    // User defined variables (add any user defined variables below)
    private bool isLowerOpen = false;
    private bool isHigherOpen = false;
    private double refPrice = 0.0;
    private bool tradedToday = false;

    protected override void Initialize()
    {
    SetProfitTarget("Stg001", CalculationMode.Ticks, Profit);
    SetTrailStop("Stg001", CalculationMode.Ticks, Loss, false);
    CalculateOnBarClose = true;
    isLowerOpen = CurrentDayOHL().CurrentOpen[0] < Bars.GetDayBar(1).Low;
    isHigherOpen = CurrentDayOHL().CurrentOpen[0] > Bars.GetDayBar(1).High;
    if (isLowerOpen)
    refPrice = Bars.GetDayBar(1).Low;
    else if (isHigherOpen)
    refPrice = Bars.GetDayBar(1).High;
    }

    protected override void OnBarUpdate()
    {
    if (tradedToday)
    return;
    if (isLowerOpen && Close[0] > refPrice) {
    EnterLong(DefaultQuantity, "Stg001");
    tradedToday = true;
    }
    else if (isHigherOpen && Close[0] < refPrice) {
    EnterShort(DefaultQuantity, "Stg001");
    tradedToday = true;
    }
    }

    #2
    Originally posted by MarkZ View Post
    I wrote a simple "test" strategy: "if today's open price is higher/lower than yesterday's H/L - trade..." When I back test - no orders are generated (though conditions did occur).
    My questions (see code below):
    1.what do I use to init values each day? (during back test) [I use Initialize() - is it correct?]
    2. to get today's open I use CurrentDayOHL().CurrentOpen[0], for yesterday's low I use Bars.GetDayBar(1).Low - is it correct?]
    3. to get current price, I use Close[0] - is it correct?

    I listed the code below:
    // User defined variables (add any user defined variables below)
    private bool isLowerOpen = false;
    private bool isHigherOpen = false;
    private double refPrice = 0.0;
    private bool tradedToday = false;

    protected override void Initialize()
    {
    SetProfitTarget("Stg001", CalculationMode.Ticks, Profit);
    SetTrailStop("Stg001", CalculationMode.Ticks, Loss, false);
    CalculateOnBarClose = true;
    isLowerOpen = CurrentDayOHL().CurrentOpen[0] < Bars.GetDayBar(1).Low;
    isHigherOpen = CurrentDayOHL().CurrentOpen[0] > Bars.GetDayBar(1).High;
    if (isLowerOpen)
    refPrice = Bars.GetDayBar(1).Low;
    else if (isHigherOpen)
    refPrice = Bars.GetDayBar(1).High;
    }

    protected override void OnBarUpdate()
    {
    if (tradedToday)
    return;
    if (isLowerOpen && Close[0] > refPrice) {
    EnterLong(DefaultQuantity, "Stg001");
    tradedToday = true;
    }
    else if (isHigherOpen && Close[0] < refPrice) {
    EnterShort(DefaultQuantity, "Stg001");
    tradedToday = true;
    }
    }
    What are the errors in your log?

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by Brevo, Today, 01:45 AM
    0 responses
    2 views
    0 likes
    Last Post Brevo
    by Brevo
     
    Started by aussugardefender, Today, 01:07 AM
    0 responses
    3 views
    0 likes
    Last Post aussugardefender  
    Started by pvincent, 06-23-2022, 12:53 PM
    14 responses
    238 views
    0 likes
    Last Post Nyman
    by Nyman
     
    Started by TraderG23, 12-08-2023, 07:56 AM
    9 responses
    384 views
    1 like
    Last Post Gavini
    by Gavini
     
    Started by oviejo, Today, 12:28 AM
    0 responses
    4 views
    0 likes
    Last Post oviejo
    by oviejo
     
    Working...
    X