- Joined
- 20 May 2008
- Posts
- 1,158
- Reactions
- 8
Cond1 = C > (LLV(Low,20)*1.1)
MA1 = MA (C, 20)
MA2 = MA (C, 100)
Cond2 = MA1 > (MA2*1.1)
SetPositionSize( 5, spsPercentOfEquity );
SetOption( "MaxOpenPositions", 20 );
Just want to know if I'm doing the following correctly:
(1) I want Cond1 to find a stock that has closed 10% above the lowest low in the past 20 days:
Code:Cond1 = C > (LLV(Low,20)*1.1)
(2) I want Cond2 to find a stock where its 20 day MA is 10% above its 100 day MA:
Code:MA1 = MA (C, 20) MA2 = MA (C, 100) Cond2 = MA1 > (MA2*1.1)
Also after a backtest, when I look at the Reports --> Trades section, the position sizes are fluctuating wildly. I am using the following for position size and max. open positions:
I understand that there should be some fluctuation as my open equity fluctuates, but the variations in trade size are far larger than they should be.Code:SetPositionSize( 5, spsPercentOfEquity ); SetOption( "MaxOpenPositions", 20 );
Also in Backtester Settings the minimum position value can be set so there is no small position trades below the setting.I understand that there should be some fluctuation as my open equity fluctuates, but the variations in trade size are far larger than they should be.
Just want to know if I'm doing the following correctly:
(1) I want Cond1 to find a stock that has closed 10% above the lowest low in the past 20 days:
Code:Cond1 = C > (LLV(Low,20)*1.1)
1) try this instead: a = Ref(LLV(L,20),-1);
Cond1 = c>=(1.1*a);
3) check settings>portfolio>limit trade size...
A fixed position size will be more useful for most systems. Positionsize = 20,000;
Also in Backtester Settings the minimum position value can be set so there is no small position trades below the setting.
Have you considered the Cross function to achieve this as well? It may reduce the number of signals you get - this may or may not be what you want to do
How/where do you get data for these applications ? How often/how do you get the updates ect.. ?
Just looking for something to get me started to monitor stocks..
I think IQFeed only has SFE data and not ASX data for Aussie players.Well you won't get intra-day data for free (easily) so you would need to choose a paid service of data vendors like esignal or iqfeed or ... .
What do you mean by "applications"? Do you mean Amibroker?
Well you won't get intra-day data for free (easily) so you would need to choose a paid service of data vendors like esignal or iqfeed or ... . Or you can get data from Interactive Brokers (all mentioned ones are supported by Amibroker). IB data feed is for free if you generate $30 in trading commissions each month else it's $10/month.
If you want EOD (end of day) data only then you can choose yahoo or google or msn service. All three are supported by Amibroker as well.
Greetings --
Do not rely on intra-day data provided by a brokerage platform to build a database that will be used for testing. Brokers send as much data as the capabilities of the computers and data transmission facilities allow. In periods of heavy activity, quotes will be intentionally omitted. Brokerages seldom (never?) correct bad ticks. They provide data as a side activity to their brokerage business.
Instead, get the intra-day from a data vendor -- their business is supplying high quality data.
Thanks,
Howard
New question:
If I use positionsize = -5;
and have a very large starting equity, say 10 million, presumably a backtest will pick up all signals so I can get a good idea of overall performance when no trades are left out.
But then I add Positionscore = random(); and the whole thing goes very weird. Repeat backtests yield very different equity curves.
Any ideas what's going on? I've never really understood how AB chooses which stocks to trade. The description in the manual is very hard to follow.
Does positionscore = random() override any/all entry criteria?
What do you mean by "applications"? Do you mean Amibroker?
Well you won't get intra-day data for free (easily) so you would need to choose a paid service of data vendors like esignal or iqfeed or ... . Or you can get data from Interactive Brokers (all mentioned ones are supported by Amibroker). IB data feed is for free if you generate $30 in trading commissions each month else it's $10/month.
If you want EOD (end of day) data only then you can choose yahoo or google or msn service. All three are supported by Amibroker as well.
Right click on chart, click on Parameters, click on EMA Price Field and then click on ^AORD.Any ideas appreciated.
Right click on chart, click on Parameters, click on EMA Price Field and then click on ^AORD.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?