Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

ValueTrader

Automation Not Working

Recommended Posts

Hello Everyone,

 

I've been coding some EL automated stratgies on my OEC platform, with some success.

 

The latest one is causing me problems however...

 

The original code was 'Dynamic S&R' which if im correct, TAMS kindly posted on the forum.

 

I made a couple of alterations to the original code, and as a result have a nice S&R indicator that works along the lines of Don Jones' Auction Market Value Theory Principles.

 

The next logical step for me was to try to automate it into a strategy. However when i come to backtest, it isnt placing any orders. I've mest around with the wordings, setting and everything elsei can think of. Can anyone Help?

 

All i need it to do is at least place some trades, i can then alter the parameters / conditions to suit. The Buy / Sell commands are exactly the same as other Codes i've done, So i'm obviously missing something. Thanking you all in advance

 

inputs:


iMode("No"),	{ if "auto" code sets xPeriods, if not "auto" code uses iPeriods}

iPeriods(05),
HighColor(  red), 
LowColor(  blue) ;

variables:

xPeriods(60),
xInterval(0),
sFirstPass(true),
HavePrevLines( false ), 
TLHigh( 0 ), 
TLLow( 0 ), 
PushHigh( 0 ), 
PushLow( 0 ),
OldPushHigh( 0 ), 
OldPushLow( 0 ),
PrevPushHigh( 0 ), 
PrevPushLow( 0 ) ,
Uo(0),Mid(0),Lo(0),Range(0);

{first time through}

if sFirstPass
then begin

sFirstPass = false;

{bar test}

If bartype = 4
then xInterval = 94
else
If bartype = 3
then xInterval = 93
else
If bartype = 2
then xInterval = 92
else
If bartype = 1
then begin
xInterval = BarInterval;
end; { If bartype = 1  }

{mode test}

If iMode <> "Auto" and iMode <> "auto" and iMode <> "AUTO"
   then xPeriods = iPeriods
else xPeriods = _fPushPeriods(xInterval);

end; {if sFirstPass}

{save old values}

If PushHigh <> PrevPushHigh
then OldPushHigh = PrevPushHigh;

If PushLow <> PrevPushLow 
then OldPushLow  = PrevPushLow ;

OldPushHigh = PrevPushHigh ;
OldPushLow = PrevPushLow ;

PrevPushHigh = PushHigh ;
PrevPushLow = PushLow ;

{ high / low for period }

PushHigh = Highest( H, xPeriods);
PushLow  = Lowest( L, xPeriods) ;

If PushHigh <> H
and PushHigh < PrevPushHigh
then PushHigh = PrevPushHigh;

If PushLow <> L
and PushLow > PrevPushLow
then PushLow = PrevPushLow;

Range=PushHigh-PushLow;

Uo=PushHigh-Range/8;

Mid=Range/2+PushLow;

Lo=PushLow+Range/8;

//Removed plots from here//

if open[2] < Lo then if Close > Lo  Then Buy next bar at Market; 
if open[2] > Uo then if Close < Uo Then Sell Next Bar at Market;
SetDollarTrailing(250);



#function _fPushPeriods
inputs: iInterval(NumericSimple); 
variables: xPeriods(60); 
{ calculations } 
If iInterval < 5 then xPeriods = 60 else 
If iInterval < 10 then xPeriods = 45 else 
If iInterval = 10 then xPeriods = 6 else 
If iInterval = 15 then xPeriods = 12 else 
If iInterval = 30 then xPeriods = 4 else 
If iInterval = 60 then xPeriods = 6 else 
If iInterval > 60 then xPeriods = 10; 
_fPushPeriods = xPeriods;

Share this post


Link to post
Share on other sites
Hello Everyone,

...

All i need it to do is at least place some trades, i can then alter the parameters / conditions to suit. The Buy / Sell commands are exactly the same as other Codes i've done, So i'm obviously missing something. Thanking you all in advance

...

 

have you tested your buy/sell triggers with a plot?

 

add this to the plot:

 

if barstatus = 2 then 
begin
    {--- plot buy/sell logic here---}
end;

Share this post


Link to post
Share on other sites

Ok, Thanks TAMS:), I can now see whats happend... I added this code

if open[2] < Lo then if Close > Lo Then Plot6(L,"Long"); 
if open[2] > Uo then if Close < Uo Then Plot7(S,"Short");

 

along with the associated Vars, to the Indicator, as OEC does not plot in strategy mode (maybe its the same in TS? i dont know), anyway, and my intermediate S&R that is

Uo(0),Mid(0),Lo(0),Range(0)

have dissapeared, so something in the commands

if open[2] < Lo then if Close > Lo Then Plot6(L,"Long"); 

is telling the Lo (which stands for Lower Octant) to change, instead of trading off it. This possibilty had already crossed my mind, but as i say my other strategys use varables (PVP,VWAP,Volume delta) all from home cooked indicators to signal entrys with no problem, so im still stumpped!

Share this post


Link to post
Share on other sites
Ok, Thanks TAMS:),... OEC does not plot in strategy mode (maybe its the same in TS? i dont know), ...

 

Neither TS nor MC plots in strategy mode.

 

as part of your programming steps,

you MUST first use the plot IN PLACE of buy/sell in your system development.

 

ie

 

replace the following code

if open[2] < Lo then if Close > Lo  Then Buy next bar at Market; 
if open[2] > Uo then if Close < Uo Then Sell Next Bar at Market;

 

with


if barstatus = 2 then
begin
    if open[2] < Lo then if Close > Lo Then plot10(high, "BUY"); 
    if open[2] > Uo then if Close < Uo Then plot10(low, "SELL");
end;

 

set the plot to a large dot...

you can then visually verify whether your code is actually triggering the buy/sell orders at the places you wanted them to.

 

if you can see the dots in your indicator... but the strategy's orders are not getting filled... then the problem is with the broker.

 

if you CANNOT see the dots in your indicator... then the strategy's orders are not getting TRIGGERED...

the problem is with the logic.

you then have to verify each variable has the appropriate value at each stage of the logic development.

Edited by Tams

Share this post


Link to post
Share on other sites

That works.

 

I can see dots on entry points, I can now fine tune these in the indicator mode.

 

I assume once im happy with the entrys i can simply change the plot statement to buy @ market for backtesting on the strat mode?

 

Thanks TAMS

 

VT

Share this post


Link to post
Share on other sites
That works.

 

I can see dots on entry points, I can now fine tune these in the indicator mode.

 

I assume once im happy with the entrys i can simply change the plot statement to buy @ market for backtesting on the strat mode?

 

Thanks TAMS

 

VT

 

that's right... always visually inspect the trigger points first... before jumping to the order managements.

 

good to hear your logic is working.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.