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. >
