I would suggest taking the opposite approach.

Isolate the strategy logic in a single file. Then, you can have specialized 
files for each operation, each importing the strategy logic. The strategy logic 
is the common element of each operation.

For example;
- Have the Buy/Sell logic of your strategy in one file (say logic.afl).
- Have a separate file for exploration (#include_once logic.afl) to set Filter 
and AddColumn.
- Have a separate file for backtesting (#include_once logic.afl) to add custom 
backtester code upon the signals generated by the logic file.
- Have a separate file for plotting (#include_once logic.afl) to add Plot 
statements.
- etc.

Every statement must be evaluated in an .afl file. So, each custom operation 
file will be faster by not having to evaluate the statements relating to the 
other operations not currently in use.

It also allows you to experiment with new or existing presentation (e.g. plot, 
exploration) without the risk of accidentally messing up your strategy logic.

Separation of model (i.e. strategy logic) and presentation is usually a good 
thing and is a guiding principle in object oriented programming.

Mike

--- In [email protected], "murthysuresh" <mo...@...> wrote:
>
> i have my trading strategy on the coded in afl. i want to use the same file 
> for indicator and scans and backtesting.
> 
> can i do it as a include file
> for eg
> INDICATOR=1;
> 
> 
> if(status("action")==INDICATOR)
> #include <magicformula.afl>
> plot(buy)
> plot(short)
> 
> else
> if(status("action")==backtester)
> TimeFrameSet( inDaily) ;
> #include <magicformula.afl>
> TimeFrameRestore();
> Buy=TimeFrameExpand(Buy_signal,inDaily,expandFirst);
> process signals.
>


Reply via email to