How do I use Open Price Only Modeling

 

The Userguide says,

Some automated trading systems do not depend on properties of modeling within a bar, they trade on completed bars. The bar is completed if the next one has appeared. These are such experts for that this modeling method was developed.

In this mode, the bar opening is modeled first (Open = High = Low = Close, Volume=1) what allows the expert to identify the completion of the preceding bar precisely. It is this incipient bar that is used to start testing of the expert. At the next step, the fully completed current bar will be given, but no testing is performed on it!"


This web site says, "

Some traders do not wish to depend on particluarities of intrabar modeling, so they create Expert Advisors trading on the bars already completed. The fact that the current price bar is fully completed can only be known when the next one appears. These are the Expert Advisors, for which the mode of "Open Price" modeling is intended.
In this mode, first, bar is opened (Open = High = Low = Close, Volume=1), and this allows the Expert Advisor to identify the end of completion of the preceding price bar. It is this incipient bar, on which the Expert Advisor's testing is launched. At the next stage, the current bar fully completed is yielded, but no testing is performed on it!

This is ALL I can find anywhere on Open Prices Only Modeling. When I run my EA using OPO Modeling NOTHING happens, no results, zero.


My EA uses bar patterns not indicators to give signals so OPO is the best form of modeling (I assume from what it says above). But, HOW DO I GET IT TO WORK?


Thanks for you help,

Jim

 
jfreedom wrote >>

My EA uses bar patterns not indicators to give signals so OPO is the best form of modeling (I assume from what it says above). But, HOW DO I GET IT TO WORK?

Thanks for you help,

Jim

Jim here is a code frag that I am using in my main i.e start() function to do some start of bar processing. Hope this helps.


static datetime prevFastTime; // local static variable in start() function but could also be a global

datetime time;


time = iTime(Symbol(), PERIOD_H1,0); // Get the open time of the latest bar for this timeframe (hourly)

if(time > prevFastTime) // We have a new bar so process the block for this time frame
{
prevFastTime = time; // update the time keeper variable

// do whatever you have to do at the start of each bar here

}

Regards

Tim

 
TSWilson wrote >>

Jim here is a code frag that I am using in my main i.e start() function to do some start of bar processing. Hope this helps.


static datetime prevFastTime; // local static variable in start() function but could also be a global

datetime time;


time = iTime(Symbol(), PERIOD_H1,0); // Get the open time of the latest bar for this timeframe (hourly)

if(time > prevFastTime) // We have a new bar so process the block for this time frame
{
prevFastTime = time; // update the time keeper variable

// do whatever you have to do at the start of each bar here

}

Regards

Tim

This... is interesting - not for the method/functionality BUT the amazing part is the COMMENTS

Had to reply and chuckle at same time Tim, simply because I almost thought was reading my own code - you are [excuse the expression] old tyme/school and I mean that as a compliment :)

ergo, that cultured "in the trenches" intelligence to understand one simple yet overriding and unquestionably most important programming FACT = maintenance starts after the first clean compile/assembly!

Only long-in-tooth'ies fully appreciate this :)

Regards

Tim

 
TSWilson:

Jim here is a code frag that I am using in my main i.e start() function to do some start of bar processing. Hope this helps.


static datetime prevFastTime; // local static variable in start() function but could also be a global

datetime time;


time = iTime(Symbol(), PERIOD_H1,0); // Get the open time of the latest bar for this timeframe (hourly)

if(time > prevFastTime) // We have a new bar so process the block for this time frame
{
prevFastTime = time; // update the time keeper variable

// do whatever you have to do at the start of each bar here

}

Regards

Tim

Tim, thanks for the code, I will try it.

Jim

 
jfreedom:

The Userguide says,

Some automated trading systems do not depend on properties of modeling within a bar, they trade on completed bars. The bar is completed if the next one has appeared. These are such experts for that this modeling method was developed.

In this mode, the bar opening is modeled first (Open = High = Low = Close, Volume=1) what allows the expert to identify the completion of the preceding bar precisely. It is this incipient bar that is used to start testing of the expert. At the next step, the fully completed current bar will be given, but no testing is performed on it!"


This web site says, "

Some traders do not wish to depend on particluarities of intrabar modeling, so they create Expert Advisors trading on the bars already completed. The fact that the current price bar is fully completed can only be known when the next one appears. These are the Expert Advisors, for which the mode of "Open Price" modeling is intended.
In this mode, first, bar is opened (Open = High = Low = Close, Volume=1), and this allows the Expert Advisor to identify the end of completion of the preceding price bar. It is this incipient bar, on which the Expert Advisor's testing is launched. At the next stage, the current bar fully completed is yielded, but no testing is performed on it!

This is ALL I can find anywhere on Open Prices Only Modeling. When I run my EA using OPO Modeling NOTHING happens, no results, zero.


My EA uses bar patterns not indicators to give signals so OPO is the best form of modeling (I assume from what it says above). But, HOW DO I GET IT TO WORK?


Thanks for you help,

Jim

Hi Jim


I think these quotes refer to the strategy tester in MT4. In the strategy tester Settings tab, where it says "Model:" the drop down box allows you to choose between Every Tick, Control points or Open prices only. Refer to the UserGuide under User Interface | Tester | Setup.


Cheers

Jellybean