据说是能稳定盈利的系统,不知道能不能改成c++

Discussion in 'C++ / C# / Java' started by silverness, Jul 18, 2015.

  1. ..........
     
  2. 抛砖引玉,请大家多多交流吧
     
  3. 砖呢? 这是让交流啥?
     
  4. 交流空气啊
     

  5. http://bbs.ihoms.com/bbs/cljs/5005.htm 【经典策略】海龟交易系统-恒生量化社区
    http://bbs.ihoms.com/bbs/cljs/5007.htm 【日内策略】横盘突破-恒生量化社区
    http://bbs.ihoms.com/bbs/cljs/5015.htm 【中长期策略】布林强盗系统-恒生量化社区
    http://bbs.ihoms.com/bbs/cljs/5111.htm [逻辑探讨] 龟汤交易法--海龟的克星-恒生量化社区
    http://bbs.ihoms.com/bbs/cljs/5166.htm 【日内策略】空中花园
    http://bbs.ihoms.com/bbs/cljs/5167.htm 【日内策略】唐奇安通道(海龟系统前身)
    http://bbs.ihoms.com/bbs/cljs/5172.htm 一个实用的交易策略:3分钟四线趋势交易系统和源码
    http://bbs.ihoms.com/bbs/cljs/5175.htm 【长期策略】动态突破II
    http://bbs.ihoms.com/bbs/cljs/5290.htm [策略探讨] 趋势策略-三均线利剑
    http://bbs.ihoms.com/bbs/cljs/5498.htm 个人如何实现程序化交易?
    http://bbs.ihoms.com/bbs/tzzt/5451.htm 程序化模型怎样才算好
    http://bbs.ihoms.com/bbs/zt/5569.htm 要做程序化 先了解五种经典日内策略
    http://bbs.ihoms.com/bbs/zt/5912.htm 国外著名交易策略:R-Breaker模型设计原理
    http://www.yafco.com/show.php?contentid=261733 【中长期策略】布林强盗系统_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=261738 【日内策略】Hans123_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=261739 【日内策略】Dual Thrust_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=261740 【日内策略】R-Breaker_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=261743 【经典策略】海龟交易系统_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=262234 【日内策略】唐奇安通道_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=264199 【另类策略】闪灵交易者策略_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=264200 【长线策略】Aberration_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=264203 【震荡+趋势混合策略】恒温器策略_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=264204 【日内策略】横盘突破_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=264205 【日内策略】菲阿里四价_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=264206 【中长期策略】金肯特纳系统_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=268590 【日内策略】超级日内组合策略-金字塔平台_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=317325 国外成熟程序化策略交易模型介绍_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=324278 通道止损策略_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=326878 不同程序化交易策略收益的度量_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=326879 程式化交易中的比较与叠加理念_国际国内策略介绍_永安期货股份有限公司
    http://www.yafco.com/show.php?contentid=326880 现今交易员们最钟爱的技术指标_国际国内策略介绍_永安期货股份有限公司
     
  6. 我知道海洋这边有人在用Aberration,长期效果应该还不错。
     
  7. 为什么一定要改成C++?
     
  8. 你上面贴的哪个是Aberration?
     
  9. 不好意思,看到了,刚才眼花了。
     
  10. mark
    thanks
     
  11. diy

    diy

    【经典策略】海龟交易系统
    海龟交易系统相对而言是一个比较早的交易系统了,也是世界著名的机械交易系统,对于想学习程序化系统交易的投资者来说是一个很好的入门学习材料。

    一套完整的机械的交易系统都有明确并且唯一的交易信号,例如两条均线就构成了一个交易系统,只不过它更好的说是属于技术指标的范畴。而完整的交易系统所持头寸(仓位)调整和风险控制是交易系统的核心,而海龟交易系统就是这样一套交易系统。

    海龟交易系统简介:

    交易信号:海龟的交易信号其实很简单,当价格创20或50天新高就买入,当价格创10天或20天新低就卖出,时间上具体的参数使用者也可以自己调整。

    头寸管理和风险控制策略:海龟交易系统由总资金风险百分比和N波动的系数策略来决定交易头寸的多少,用N确定什么时候加仓、加多少,同时用2N来确定头寸的保护性损止。N每7天调整一次(五个交易日)。这就是海龟交易系统的交易策略,属于一套完整的交易系统。
     
  12. diy

    diy

    【日内策略】横盘突破

    横盘突破

    较易于实现量化的形态突破,有分形、窄幅横盘突破、各种K线组合、双底双顶、缠论三买三卖;较难于实现量化的形态突破,有趋势线、圆弧顶底、旗形、菱形、三角形等各种经典技术分析形态,趋势之后是盘整,盘整之后是趋势。横盘突破的交易策略,充分体现了波动性循环的价格波动规律。我们需要做的事情就是,合理量化盘整的定义,比如周期跨度、波动的幅度。

    主要特点:

    日内交易策略,收盘平仓;

    横盘突破在过去30根K线的高低点围绕中轴上下0.5%的范围内波动时;

    上轨=过去30根K线的最高价;

    下轨=过去30根K线的最低价;

    当价格突破上轨,买入开仓;

    当价格跌穿下轨,卖出开仓。
     
  13. diy

    diy

    【中长期策略】布林强盗系统

    布林带(BOLL)是由John Bollinger在20世纪60年代创建的。最初,布林带是用来判断市场走势的边界,现在国内很多人也依然这么用,即当价格移动到上轨或下轨附近后,预测价格将会回归到中轨。但是经过测试,已经发现将上、下轨作为突破指标的效果要远好于做为阻力指标。

    布林强盗交易系统是一个中长线策略(本例假想的使用周期是日线),将采用后者的规则,价格超过50日移动平均线上方1个标准差作为买进信号的标准,跌破50日移动平均线下方1个标准差作为卖出信号的标准(主体交易条件)。

    除了上文讲到的主体交易系统外,作为通道趋势交易,布林强盗交易系统还增加了确认模块。

    之前我们提到过上轨下轨是潜在的买入卖出点。这里潜在的是一个关键字眼。在建立头寸前我们必须进行多次确认:当日收盘价必须高于30日前的收盘价才能做多,当日收盘价必须低于30 日前的收盘价才能做空。这个额外的要求是一个趋势过滤器。我们只希望在上升趋势中做多或者在下降趋势中做空。

    接下来要介绍一个该系统最具特色一个部分——出场:我们都知道常规3条线组成的通道策略,都是以突破上下轨开仓,回归中轨平仓。但是这种平仓方式,将舍弃很大一块利润。布林强盗交易系统采用了一个较另类、较积极的方式(主条件):当建立仓位时,保护性止损设置在50 日均线(中轨)。之后持有头寸的时间每多一天,计算移动平均线的天数减一。持有头寸时间越长,我们越容易带着利润离场。计算移动平均线的天数最小可以递减到10。如果达到10,则不再递减。除了主条件,次交易为如果持多仓,移动平均低于上轨发出平仓信号;如果持空仓,移动平均(代码中的出场MA)高于下轨发出平仓信号。加入这个离场条件是为了防止布林强盗系统在止损之后重复入场。如果我们不使用这个离场条件,当移动平均在上轨上方时,多头入场条件仍然成立,因此多头头寸将会建立。

    总结:

    入场条件:

    价格突破布林带上轨,收盘价大于30周期收盘价最高值,即做多;

    价格跌破布林带下轨,收盘价小于30周期收盘价最低值,即做空;

    出场条件:

    持多仓的情况下,收盘价小于出场MA,出家MA小于上轨,平仓。
    持空仓的情况下,收盘价大于出场MA,出家MA大于下轨,平仓。
    出场MA的值根据持仓周期变化。刚开仓为50,持仓每增加一个周期,减1,最小到10。
     
  14. 以上策略有哪些共性?有哪些个性?
    优点是什么?缺点是什么?
    如何扬长避短?如何改进?
    怎样组合使用不同的策略?
    策略的适用性依赖哪些条件?
    怎样提前判断一个策略是否适用于当下的市场?
     
  15. diy

    diy

    值得研究:)
     
  16. 改成哪种语言(如C++)并不关键,重要的是理解算法或策略
     
  17. diy

    diy

    龟汤交易法专门针对海龟交易法则,是海龟家族的克星!

    适用于假突破后的反转。当市场强势推进的时候,假突破往往非常短暂。但是在少数情况下,假突破后的反转可能是中期甚至是长期趋势反转,能够带来可观盈利。
    规则:
    *今天市场创20天以来的新低;
    *20天新低必须出现在至少4个交易日以前;
    *在市场创20天以来新低以后,在前期低点以上5-10点放置停损买入单(当天有效);
    *如果买入停损成交,马上放置在当天日低以下放置GTC止损卖单;
    *当头寸开始获利,使用追踪停损Trail保护利润,其中一些交易可能持续2-3小时,一些可能持续几天;
    *如果当天或者第二天被止损,你可以在之前入场位置重新设置买入止损单(当天有效),这样可以小幅增加胜算。



    1、9月29日 ,市场创20天高点并反转,之前20天高点在592.25(9月20日 ),距今至少4个交易日,我们可以在592抛空,比9月20日 高点低5T。我们最初的保护止损在592.65,比当天日高高1T;
    2、两天后,市场跌至582,跟踪止损Trail使我们可以锁定大部分利润;
    3、10月10日 ,市场创20天新低并且反转,之前20天新低为9月27日 的579.20,我们在9月27日 低点以上5T设置止损并成交做多,第一次止损放置在575.45,比当天日低仅仅低1T,一旦交易获利,迅速提高止盈单;
    4、市场在随后几天迅速上扬,指数攀升到591点,比我们入场点高出12点;
    5、失败的交易,市场创20天新高并反转,我们在592.35成交,比9月29日20天高点低5T,止损设置在当天日高593.4以上1T;
    6、在收盘前被止损,损失1.05点,包括滑点和手续费;
    7、20天新低,之前低点至少出现在4个交易日之前,因为市场反转,我们在10月10日 低点以上5T做多,止损设置在当天日低;

    8、市场在5个交易日内反弹了至少16点。
    代码如下,试用前请自行测试!

    INPUT: LENGTH(20),PREV(4),ENTRYADD(10 POINTS);

    VAR:HH(0),LL(0),NEWH(999),NEWL(999),Z(0),LEN(0),CD AYS(0),MP(0),
    TSSELL(0),TSBUY(99999),LGO(FALSE),SGO(FALSE),
    REBUY(99999),REBUYLIFE(0),RESELL(0),RESELLLIFE(0);
    ARRAY:HI[40](0),LO[40](99999);

    MP=MARKETPOSITION;

    IF DATACOMPRESSION=1 THEN BEGIN

    IF CURRENTBAR=1 THEN BEGIN
    LEN=MINLIST(LENGTH,39);
    IF LEN<1 THEN LEN=1;
    END;
    if D>D[1] then begin
    for value1=LEN downto 1 begin
    HI[value1]=HI[value1-1];
    LO[value1]=LO[value1-1];
    end;
    end;
    HI[0]=idhigh;
    LO[0]=idlow;
    IF D>D[1] THEN BEGIN
    CDAYS=CDAYS+1;
    NEWH=NEWH+1;
    NEWL=NEWL+1;
    LGO=TRUE;
    SGO=TRUE;
    REBUYLIFE=REBUYLIFE-1;
    RESELLLIFE=RESELLLIFE-1;
    HH=HI[LEN];LL=LO[LEN];
    FOR Z=1 TO LEN-1 BEGIN
    IF HI[Z]>HH THEN HH=HI[Z];
    IF LO[Z] END;
    IF HI[1]=HH THEN NEWH=1;
    IF LO[1]=LL THEN NEWL=1;
    END;

    IF H>=TSBUY[1] THEN BEGIN
    TSBUY=99999;
    REBUY=TSBUY[1];
    REBUYLIFE=2;
    END;
    IF (H>=REBUY[1] AND MP[1]=0) OR REBUYLIFE<=0 THEN BEGIN
    REBUY=99999;
    REBUYLIFE=0;
    END;
    IF REBUYLIFE>0 AND MP=0 AND MP[1]=0 THEN Buy("TS-ReBuy") Next Bar REBUY STOP;
    IF L<=TSSELL[1] THEN BEGIN
    TSSELL=0;
    RESELL=TSSELL[1];
    RESELLLIFE=2;
    END;
    IF (L<=RESELL[1] AND MP[1]=0) OR RESELLLIFE<=0 THEN BEGIN
    RESELL=0;
    RESELLLIFE=0;
    END;
    IF RESELLLIFE>0 AND MP=0 AND MP[1]=0 THEN Sell Short("TS-ReSell") Next Bar RESELL STOP;

    IF CDAYS>LEN THEN BEGIN
    IF HH>0 AND NEWH>=PREV AND IDHIGH>HH AND SGO THEN BEGIN
    TSSELL=HH-ENTRYADD;
    Sell Short("TS-Sell") Next Bar TSSELL STOP;
    SGO=FALSE;
    END;
    IF LL>0 AND NEWL>=PREV AND IDLOW TSBUY=LL+ENTRYADD;
    Buy("TS-Buy") Next Bar TSBUY STOP;
    LGO=FALSE;
    END;
    END;
    END;
    Sell("Initial LX") Next Bar IDLOW STOP;
    Buy to Cover("Initial SX") Next Bar IDHIGH STOP;