[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: [amibroker] Re: AB autotrading vulnerable to fatal spikes?



PureBytes Links

Trading Reference Links

Hello Keith,


I seem to recall that changing price arrays is not recommended but i am not sure. Personally I prefer to create a new array and know exactly what i am working with. 


Perhaps your function would have worked if it worked on a copy of the price arrays and then assign the return value to the OHLC price arrays.


I suspect that if you use a variable more than once to the right of the equal sign it may start substitution midstream...


Only Tomasz or support can tell you exactly how this works - I really am not sure about it.


herman




Monday, March 12, 2007, 7:52:44 PM, you wrote:


>

Herman --

The statement below "C=C+ATR(3);" reminds me:


In the past, I've had a lot of trouble with "self modifying" arrays outside of loops.  So, I've ruled them out of my code altogether.  Are there any "hard and fast" rules as to when and when not you can do it?  I've tried "x=x+k*Ref(x, -1);", and received unpredictable results (sometimes worked -- sometimes not).


TIA.

-- Keith


Herman wrote: 

ahhh, yes you may have a problem using Ox etc. I forgot because I don't use any traditional TA functions so for me there is no problem. 


In your case you may be able to redefine OHLC arrays at the top of your code, like so:


Plot(C+ATR(3),"",6,1);

C = C+ATR(3);

Plot(C,"",4,1|styleDots);


You'll see that the first plot produces the exact same plot as the second one which uses a redefined C. 


However there may be a reason why redefining the OHLC is not recommended - you may have to ask support what problems this may have.


best regards,

herman


Monday, March 12, 2007, 5:24:02 PM, you wrote:


> Great to know it's on the suggestion list, Herman. Now, how would I go

> about "substituting" the OHLC array with OxHxLxCx", example?  Also,

> will this allow spike elimination without the need to rewrite from

> scratch AB builtin functions like "ATR" or would i still have to

> recode the ATR function from scratch using the newly substituted

> OxHxLxCx array?


> --- In amibroker@xxxxxxxxxps.com, Herman <psytek@xxx> wrote:


>> Hi g,


>> What you are really dreaming of is a user programmable

> data-preprocessor. This is on the suggestion list.


>> Alternatively you can pre-process your data by substituting the OHLC

> arrays with Ox, Hx, Lx and Cx. Where the x variables are preprocessed

> values of OHLC. 


>> btw, I prefer to process/filter Real-Time quotes using Static

> Variables instead of OHLC arrays, its much faster.


>> herman


>> Monday, March 12, 2007, 4:18:31 PM, you wrote:


>> > Thanks for all suggestions, and would be great to hear about other

>> > creative/unique ideas too of how others are getting around this common

>> > problem.


>> > Yes, Ray, futures data is much cleaner compared to ETF and stock data

>> > from IB.


>> > Herman, here's an idea I have been using to filter spikes:


>> > Validbar=O-L<Percentile(O-L,390,99) AND H-O<Percentile(H-O,390,99);


>> > It seems to work OK. Whats kind of annoying, however, is that you have

>> > to deal with spikes "in your code" as opposed to having some AB

>> > built-in settings (like in QT) to remove spikes from data BEFORE they

>> > are operated on by your code or get charted. That way you dont have to

>> > rewrite your code to take care of spikes and rewrite basic AB built-in

>> > functions everytime you use a new function. example: I have to recode

>> > the ATR function from scratch to be able to use it while eliminating

>> > spikes. And yes Im aware i could run IB through QT and use QT's

>> > built-in spike-removal functions, but what if i dont wanna use QT?

>> > Would be great if someone can point out a better way..Thanks a lot


>> > g




>> > --- In amibroker@xxxxxxxxxps.com, Herman <psytek@> wrote:


>> >> You have to write your code so these spikes do not harm you, I have

>> > had spikes of $1000 or greater.


>> >> You can simply ignore prices that fall outside the normal range, ask

>> > for confirmation, average a few quotes, etc.


>> >> Welcome to the real world of Real-Time SAutomated Trading 


>> >> best regards,

>> >> herman


>> >> Monday, March 12, 2007, 3:14:19 PM, you wrote:


>> >> > I'm using AB with IB datafeed and get spikes every now and then

> on SPY

>> >> > 1-minute bars. Today i got a huge spike low of ~$40 while SPY

> trades

>> >> > ~$140. My AB-based autotrading system started giving out

> totally bogus

>> >> > buy/sell signals. I understand that if a spike occurs in my

> datafeed,

>> >> > i will not be able to use AB's QuoteEditor to fix the spike for

> 3 bars

>> >> > since the spike is in the plugin cache. During this time, all the

>> >> > damage will already be done.


>> >> > In the absence of a built-in spike removal tool in AB, what is the

>> >> > best way to prevent spikes from affecting an AB-based autotrading

>> > system?


>> >> > Thanks a lot

>> >> > g





>> >> > Please note that this group is for discussion between users only.


>> >> > To get support from AmiBroker please send an e-mail directly to 

>> >> > SUPPORT {at} amibroker.com


>> >> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:

>> >> > http://www.amibroker.com/devlog/


>> >> > For other support material please check also:

>> >> > http://www.amibroker.com/support.html

>> >> >  

>> >> > Yahoo! Groups Links







>> > Please note that this group is for discussion between users only.


>> > To get support from AmiBroker please send an e-mail directly to 

>> > SUPPORT {at} amibroker.com


>> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:

>> > http://www.amibroker.com/devlog/


>> > For other support material please check also:

>> > http://www.amibroker.com/support.html

>> >  

>> > Yahoo! Groups Links






> ------------------------ Yahoo! Groups Sponsor --------------------~--> 

> Transfer from your equities account.  

> Receive up to $1,000 from GFT. Click here to learn more.

> http://us.click.yahoo.com/aZttyC/X_xQAA/cosFAA/GHeqlB/TM

> --------------------------------------------------------------------~-> 


> Please note that this group is for discussion between users only.


> To get support from AmiBroker please send an e-mail directly to 

> SUPPORT {at} amibroker.com


> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:

> http://www.amibroker.com/devlog/


> For other support material please check also:

> http://www.amibroker.com/support.html

>  

> Yahoo! Groups Links


> <*> To visit your group on the web, go to:

>     http://groups.yahoo.com/group/amibroker/


> <*> Your email settings:

>     Individual Email | Traditional


> <*> To change settings online go to:

>     http://groups.yahoo.com/group/amibroker/join

>     (Yahoo! ID required)


> <*> To change settings via email:

>     mailto:amibroker-digest@xxxxxxxxxps.com 

>     mailto:amibroker-fullfeatured@yahoogroups.com


> <*> To unsubscribe from this group, send an email to:

>     amibroker-unsubscribe@xxxxxxxxxxxxcom


> <*> Your use of Yahoo! Groups is subject to:

>     http://docs.yahoo.com/info/terms/

>  

 

__._,_.___

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html





SPONSORED LINKS
Investment management software Investment property software Investment software
Investment tracking software Return on investment software

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___