独特的思路,开拓者抛物线转向交易系统源码分享[开拓者公式]
- 思路内容: 刚才看到群里讨论了会SAR,很多人也想写一个SAR系统,最近比较忙,利用午饭时间写了个SAR系统,大家拿去扩充吧
- 原创作品,转载注明出处 作者 穿堂风 WWW.CXH99.COM
- //------------------------------------------------------------------------
- // 简称: SAR_system
- // 名称:
- // 类别: 公式应用
- // 类型: 用户应用
- // 输出: 穿堂风
- //------------------------------------------------------------------------
- Params
- Numeric AfStep(0.02);
- Numeric AfLimit(0.2) ;
- Numeric malen(120);
- Numeric stopLoss(1);
- Numeric BuyLots(1);
- Numeric offset(0);
- Vars
- Numeric oParCl( 0 );
- Numeric oParOp( 0 );
- Numeric oPosition( 0 );
- Numeric oTransition( 0 );
- NumericSeries oParOp_s;
- Numeric oParOp_p;
- Numeric i_offset;
- Numeric ma;
- Bool bUpline;
- string strkey;
- string strValue;
- Numeric i_stopLoss;
- Begin
- ma = Average(Open,malen);
- bUpline = Open>= ma;
- ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition ) ;
- oParOp_s = oParOp;
- oParOp_p = oParOp_s[1];
- i_offset = offset*MinMove*PriceScale;
- i_stopLoss = stopLoss*(OpenD(0)/100);
- Commentary("oParOp:"+Text(oParOp));
- Commentary("oTransition:"+Text(oTransition));
- Commentary("oPosition:"+Text(oPosition));
- If(CurrentBar>malen)
- {
- PlotNumeric("oParCl",oParCl);
- If(malen != 0)
- {
- PlotNumeric("ma",ma);
- }
- If(MarketPosition == 0)
- {
- If(malen == 0)
- {
- bUpline = True;
- }
- If(oTransition == 1 and bUpline)
- {
- Buy(BuyLots,Max(Open,oParOp_p)+i_offset);
- Return;
- }
- If(malen == 0)
- {
- bUpline = False;
- }
- If(oTransition == -1 and bUpline==False)
- {
- SellShort(BuyLots,Min(Open,oParOp_p)-i_offset);
- Return;
- }
- }
- If(MarketPosition == 1)
- {
- If(malen == 0)
- {
- bUpline = False;
- }
- If(LastEntryPrice-Low>=i_stopLoss)
- {
- Sell(BuyLots,Min(Open,LastEntryPrice-i_stopLoss)-i_offset);
- Return;
- }
- If(oPosition == -1)
- {
- If(oTransition == -1 and bUpline==False)
- {
- SellShort(BuyLots,Min(Open,oParOp_p)-i_offset);
- }
- Else
- {
- Sell(BuyLots,Min(Open,oParOp_p)-i_offset);
- }
- }
- }
- If(MarketPosition == -1)
- {
- If(malen == 0)
- {
- bUpline = True;
- }
- If(High-LastEntryPrice>=i_stopLoss)
- {
- BuyToCover(BuyLots,Max(Open,LastEntryPrice+i_stopLoss)+i_offset);
- Return;
- }
- If(oPosition == 1)
- {
- If(oTransition == 1 and bUpline)
- {
- Buy(BuyLots,Max(Open,oParOp_p)+i_offset);
- }
- Else
- {
- BuyToCover(BuyLots,Max(Open,oParOp_p)+i_offset);
- }
- }
- }
- }
- End
- //------------------------------------------------------------------------
- // 编译版本 GS2010.12.08
- // 用户版本 2011/09/05 12:21
- // 版权所有 穿堂风
- // 更改声明 TradeBlazer Software保留对TradeBlazer平台
- // 每一版本的TrabeBlazer公式修改和重写的权利
- //------------------------------------------------------------------------
- 因为时间短促,已尽量考虑逻辑性,如果有质疑的地方,一定要细看代码,我不希望没分析清楚就说未来函数,这是对我的不尊重.
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容