最初的程序化交易策略编写Word下载.doc
《最初的程序化交易策略编写Word下载.doc》由会员分享,可在线阅读,更多相关《最初的程序化交易策略编写Word下载.doc(4页珍藏版)》请在冰豆网上搜索。
程序交易的基础其实一点都不难,IfAhappens,thenbuy.IfBhappens,thensell.用中文来解释就是:
当符合某种情形时,就买进。
当符合某种情形时,就卖出。
所以我们只要去定义A、B,以及更明确地把Buy、Sell的模式定义出来就好。
这已经几乎快要变成咱们MC认得的easylanguage程序语言了。
难道一定要有工程背景的人才能写出程序吗?
其实在交易领域里面所使用的程序语言与英文很像,而且使用的都是很简单的英文。
其实,电脑的执行也是依据K棒的价格变化,K棒上最重要的四个价位显示了价格的变化:
Low最低价,Open开盘价,High最高价,Close收盘价。
语法中Close>
100(表示收盘价大于100),Low<
100(最低价小于100),High>
Open(最高价大于开盘价)。
上面是平铺直述的直述句,若是加上一点简单的if...then...(假如...发生,就....),就可以变成一个可执行的策略,
举例:
(先不考虑marketposition目前手中部位的情形)
ifHigh>
Openthenbuynextbaratmarket;
//当最高价高于开盘价时,买进1手市价。
ifLow<
Openthensellnextbaratmarket;
//当最低价低于开盘价时,卖出1手市价。
备注:
nextbar是指下一根K棒,market是指市价。
再进阶一些可以开始使用一些技术分析的指标来协助。
例如RSI,中文名称是相对强弱指标RelativeStrengthIndex,是一个0~100的指标,50以下代表目前偏空,50以上代表目前偏多。
我们来一起写一个简单的策略:
RSI大于52买进1口(做多),RSI小于48卖出1口(做空or平仓),(意思是,趋势转向上,我就跟跟看,趋势转向下就快跑),
首先我们得知道什么是变数,望文生义,就像开车时的时速表,就是在程序执行中,会一直变动的数字。
所以我们得先告诉电脑,RSI的定义。
这个动作叫做宣告。
所以在策略一开头,
inputs:
Price(close),Len(12);
//input是未来可以在MC里调整的参数,price(收盘价)以及时间周期Len(在这边是12根K棒),
vars:
var1(0);
//vars告诉系统我们要宣告变数了,定义一下var1变数(variable),告诉电脑我们有这个变数要侦测。
var1=RSI(Price,len);
//定义,var1=RSI让var1这个变数等于指标RSI,而且是用上面定义的时间以及价格参数去计算RSI,此例为12根K棒的收盘价。
ifmarketposition=0andvar1>
52thenbegin
buy("
buy"
)nextbaratmarket;
end;
//假如目前没有部位(marketposotion=0)而且var1(RSI)大于52,就在下一根K棒开始时(nextbar),市价(market)买进(buy)。
多单进场!
没有写手数就1手。
并在图上标记buy("
)。
记得尾巴要写end;
告诉电脑这部分策略的结尾。
marketposotion是指您在市场的部位,
Marketposition=0没有部位,
Marketposition=1手上多单,
Marketposition=-1手上空单。
继续
ifmarketposition=0andvar1<
48thenbegin
sellshort("
sell"
//空单进场!
sellshort是空单的进场的语法并标记sell在图上。
ifmarketposition>
0andvar1<
48thenbegin
sell("
exit_buy"
//假如手上是多单而且RSI小于48,就把手中的多单市价平仓。
ifmarketposition<
0andvar1>
52thenbegin
buytocover("
exit_sell"
//假如手上是空单而且RSI大于52,就把手中的空单市价平仓。
MultiChartsRSI策略完整程序码
ifmarketposition=0=0andvar1<