As for it being a 'deal breaker' Conrad... trust me it's not.
Lots of us are running complicated logic. In my main piece of AFL I have over 
3,000 lines of code running across 9 charts, on a 25,000 bar 15 second 
Database, and it's running very quickly.

However, what you will absolutely have to be aware of is,

1. writing efficient code
2. minimizing the number of historical bars required in your calculations
3. keeping the max size of your historical DB within limits that will allow 
symbol data to fit within the CPU cache (this is important for live RT trading 
- not so much for backtesting)


--- In [email protected], "Conrad Joach" <consolejo...@...> wrote:
>
> Well this is illuminating and disturbing. Are you saying the IQFeed plugin is 
> autorefreshing AB? The only time it should be doing that is when actual ticks 
> come in. And then AB should be smart enough to only refresh my AFL if the 
> ticks that have come in are on the chart that is hosting a given AFL script.
> 
> Is that not how it works? Is this specific to IQFeed?
> 
> If this is true, then I think this is a major deal breaker for me. I am going 
> to run complicated logic in my AFL. I can't have it running 3 times a second 
> just because IQFeed happens to be connected. It needs to *only* run when a 
> tick crosses the wire, or on a scheduled timer that I create and that I find 
> useful to the problem I'm trying to solve.
> 
> Hopefully I'm not understanding you and there is a way out of this.
> 
> 
> --- In [email protected], "brian_z111" <brian_z111@> wrote:
> >
> > Hi Conrad,
> > 
> > I don't know the answer but I have been following along and I can hazard a 
> > guess:
> > 
> > - when a plugin is actioned it auto enables timed refresh (otherwise the 
> > charts would not refresh while we are away from the desk?
> > 
> > http://www.amibroker.com/guide/afl/afl_view.php?id=320
> > 
> > - refreshes would continue, tick or no tick, until the plug is pulled on 
> > the plugin?
> > 
> > - going to daily bar view makes no difference because the underlying 
> > database is RT and it continues to refresh as per the timer? (in RT the 
> > daily bar is a compression of RT bars and not an EOD 'snapshot' of the OHLC 
> > for the day.
> > 
> > If I am correct I suppose there is an argument for users being able to 
> > toggle on/off an auto adjustment for refresh time when changing to a higher 
> > timeframe...... there is no need for high frequency refresh if you are only 
> > interested in a timeframe > than the basetime.
> > 
> > In that case though you wouldn't see the bar build you would just see the 
> > latest finished bar appear.
> > 
> > I dare say the topguns probably code up their own solutions.
> > 
> > If you set the timed refresh to a ridiculously high number I guess timed 
> > refresh would halt and you would only get a refresh on 'user action'.
> > 
> > from the timed refresh reference:
> > 
> > Hint: to detect whenever given refresh comes from timer or user action you 
> > can use Status("redrawaction") function. It returns 0 for regular refresh 
> > (user action) and 1 for timer-refresh 
> > 
> > Re 'data page' referred to by Tomasz
> > 
> > I don't know what he was talking about either ... I think he means the 
> > QuoteEditor page.
> > 
> > 
> > 
> > --- In [email protected], "Conrad Joach" <consolejoker@> wrote:
> > >
> > > Another update, I hit the "Close" button on this little backfill window. 
> > > It warned me that I would lose the ability to get quotes until I loaded 
> > > the database again. I hit Yes, and it said it was shutting down the 
> > > IQFeed plugin. As soon as I did this, my TRACE window stopped updating.
> > > 
> > > So we now know the culprit, the question is why on earth is the fact that 
> > > the IQFeed plugin is running causing my AFL to be invoked over and over 
> > > again in a chart?? 
> > > 
> > > --- In [email protected], "Conrad Joach" <consolejoker@> wrote:
> > > >
> > > > One other variable I'll mention is that there is a little window 
> > > > running saying "Backfilling AAPL, 4500 bars", and "0 running 
> > > > backfills". I don't know what this has to do with AFL and a chart. 
> > > > There's no way this window or whatever backfilling its doing (which it 
> > > > can't possibly be doing if the network is unplugged) should have any 
> > > > impact on how often an AFL gets invoked in a chart window. But I 
> > > > thought I'd mention it here to see if means anything.
> > > > 
> > > > --- In [email protected], "Conrad Joach" <consolejoker@> wrote:
> > > > >
> > > > > I tried your test, I got results that showed time was changing, see 
> > > > > below.
> > > > > 
> > > > > Also, I disconnected my network connection, and guess what, the trace 
> > > > > kept on printing, line after line, with a new time stamp, never 
> > > > > stopping. I was on an AAPL chart before I disconnected.
> > > > > 
> > > > > So the question is why is the chart refreshing multiple times per 
> > > > > second when the network is unplugged, which rules out ticks, and when 
> > > > > there is no interaction with the chart window??
> > > > > 
> > > > > test215723    Formulas\Drag-drop\DebugPlot 4.afl      4       20      
> > > > > 21:57:23.89
> > > > > test215724    Formulas\Drag-drop\DebugPlot 4.afl      4       20      
> > > > > 21:57:24.89
> > > > > test215725    Formulas\Drag-drop\DebugPlot 4.afl      4       20      
> > > > > 21:57:25.89
> > > > > test215726    Formulas\Drag-drop\DebugPlot 4.afl      4       20      
> > > > > 21:57:26.89
> > > > >    
> > > > > 
> > > > > --- In [email protected], "monitorit" <monitorit@> wrote:
> > > > > >
> > > > > > Hi,
> > > > > > Just a few thoughts from a non-pro ABer
> > > > > > 1. If you have entered more than 1 ticker since the time AB session 
> > > > > > started and are in realtime mode, AB will try to get those quotes 
> > > > > > as well as for the displayed ticker (running an AA session or have 
> > > > > > tickers in an open realtime quote window also counts I believe).  
> > > > > > The number of tickers AB will try to get I think depends on your 
> > > > > > data provider - 200 sounds to be plausable.
> > > > > > 2. Could your data provider be sending ticks for the ticker many 
> > > > > > times/sec (ie 200 times in 20sec)?
> > > > > > 
> > > > > > Consider changing your afl to
> > > > > > 
> > > > > > _SECTION_BEGIN("YOURTITLE");
> > > > > > plot(C,"Close",colorblack
> > > > > >  _TRACE("test"+Now(4));
> > > > > > _SECTION_END();
> > > > > > 
> > > > > > save it
> > > > > > check to see if all times are ~the same or show a continum (could 
> > > > > > the 200 traces just be the last 200 but they are continuing while 
> > > > > > the window is open)?
> > > > > > consider disconnecting from your data provider
> > > > > > consider quitting and restarting AB and checking the above.
> > > > > > 
> > > > > > Would like to see the results of above
> > > > > > Dan
> > > > > > 
> > > > > > --- In [email protected], "Conrad Joach" <consolejoker@> 
> > > > > > wrote:
> > > > > > >
> > > > > > > I have posted in excruciating detail exactly what I'm doing. My 
> > > > > > > code is one line:
> > > > > > > 
> > > > > > > _TRACE("test");
> > > > > > > 
> > > > > > > That's it. One line. On one chart. The chart is minutely, on a 
> > > > > > > database with 5000 minutes. EURUSD. 
> > > > > > > 
> > > > > > > It prints 200 times then stops. I have no refresh on the chart. 
> > > > > > > 
> > > > > > > If I clear the trace window, it prints it 200 times again, as if 
> > > > > > > that is somehow causing a chart refresh, which is very weird 
> > > > > > > behavior.
> > > > > > > 
> > > > > > > What else can I tell you. You can reproduce this yourself very 
> > > > > > > easily with my explanation. Let me know what other info you need.
> > > > > > > 
> > > > > > > Thanks.
> > > > > > > 
> > > > > > > >>Re: [amibroker] Re: I'm having a very hard time doing something 
> > > > > > > >>that I think should be simple
> > > > > > > 
> > > > > > > You have to take it one step at a time. If you set AB to log only 
> > > > > > > 200 lines than that is what you get, no more.
> > > > > > > 
> > > > > > > 
> > > > > > > Anyway, I haven't seen your code yet, did you post it? Also 
> > > > > > > include the exact conditions you run it with.
> > > > > > > 
> > > > > > > 
> > > > > > > Everybody is guessing what you are doing - you'll never learn 
> > > > > > > anything this way.
> > > > > > > 
> > > > > > > 
> > > > > > > herman
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Reply via email to