欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → [原创]公布一个可以实用的自动交易程序

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有83464人关注过本帖树形打印复制链接

主题:[原创]公布一个可以实用的自动交易程序

帅哥哟,离线,有人找我吗?
zg611029
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/16 23:21:38 [显示全部帖子]

以下是引用wd369在2012-2-16 15:29:49的发言:

我也这样认为, 还举了具体例子,但楼主坚持己见也没办法.

 

我明白啊火说的是什么,所以我同意啊火的意见。而你说的测试方法已经改变了我模型的核心思想所以我才有那么多的话。关于一根k线穿越两(三)根轨线信号不对的问题,你可以参考啊火秘籍里的方法去解决。你也可以用1分钟周期或秒周期就可以大大减少这个问题。我建议用5分钟周期,不是因为模型的需要,而是用一分钟周期我的机子就比较慢了。秒周期机子基本上不动了,我想大部分的人的机子不会比我的好,所以才建议用5分钟的。程序是我在论坛上随手写的,说实话我开始也没有测试,更不知道里面有什么问题。后来我也没有太细看。其实要测试程序是否可行两个步骤,1检查所有的信号是你的策略所需要的既没有增加也没有减少。并且出现在你的策略认为该出现的地方。2对于这种突破模型测试时向不利的方向加3跳就可以了。实盘时以限价指令下单2-3秒不成交再市价追单,有3跳基本上可以覆盖你可能产生的滑点损失。有关提前预判下单,也不是完全不可能的,也有人这么做了,只是不是这么简单罢了。

 

[此贴子已经被作者于2012-2-16 23:47:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/17 8:44:44 [显示全部帖子]

以下是引用wd369在2012-2-17 0:10:44的发言:

我的意思是说你的公式测试结果和实盘有差别,因为主要问题没有解决,就是把H,L用在CROSS,因此带来的相关的处理和判断也欠缺.所以坚持的认为你的现公式测试结果和实盘结果不太符合.相比较,阿火秘笈的"十二、突破模型信号也会消失的一个例子及其处理方法,大家小心。"中的创新高策略就只是小问题,而且经过阿火版主的修正,和实盘结果就很吻合.

 

[此贴子已经被作者于2012-2-17 0:11:26编辑过]

你这么说是对的。但用“C"来测试是不对的。


 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/17 10:41:56 [显示全部帖子]

以下是引用太极王在2012-2-16 18:58:10的发言:

小妹在这里有请各位高的和,前辈帮个忙,帮我下面的交易思路写个程序:

 

股脂日内交易思路:

1、进场条件:

A、MACD 穿越 0 轴时,且在 5 根柱线之内,MACD 参数(12,26,9);

B、EMA 20 天指数均线与 K 线交叉后,价格超过 4 个点后,开仓,

2、 出场条件

A、开仓成功后,初始固定止损 6 个点,达到就平仓走人。

B、开仓成功后,盈利达到或者大于 6 个点以上的利润,将止损抬到开仓价位处。

C、开仓成功后,当盈利达到 15 点利润时,将止损抬到10 个点利润处。

D、开仓成功后,盈利达到 20 点利润时,将止损抬到 15 点处。

 

 

//程序名称

//版本v1.0

//编制:

//修改日期:

//上一版本已存入目录------文件名----------

input:n(6,5,30,1);

{

1、进场条件:

A、MACD 穿越 0 轴时,且在 5 根柱线之内,MACD 参数(12,26,9);

B、EMA 20 天指数均线与 K 线交叉后,价格超过 4 个点后,开仓,

}

{???你是使用日k线吗?看你的出场条件好像不是,算了搞一个通用的吧。先写一个技术指标mnw

   r1:=ema(o,20);}

r1:stkindi('','mnw.r1',0,6);//注意在技术指标中使用的是开盘价o,如果使用收盘价c,这里就要调用前一周期的ema(c,20)的值,否则就使用了未来数据。

//macd的计算

DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA), COLORSTICK;//你也可以用stkindi来调用macd的值,怎么用效率更好这只有金字塔的系统设计工程师可以告诉你。

r2:=barslast(cross(macd,0));

//开仓

if r2<=5 and h>=r1+4 then

begin

buy(1,1,limitr,r1+4+0.6);//0.6是作为你测试考虑滑点用的,实际使用时要去了。

end

//你的出场条件,其实就是一个移动止损,使用金字塔系统自带的移动止损可能效率更好。

//不过为了测试我还是帮你写一下。为了简便把5和6都改为一个值n

r3:=enterbars;

r4:=enterprice;

r5:=hhv(h,r3+1);

if r3>0 and r4-l>n then

begin

sell(1,0,limitr,r4-n-0.6);

end

if r3>0 and r5-c>n then

begin

sell(1,0,limitr,c-0.6);

end

 


持仓:holding,colorwhite,linethick0;
交易总数:totaltrade,colorwhite,linethick0;
盈亏:asset-1000000,noaxis,colorred,linethick1;

 

//这里应该使用l而不是c,那样的话就要加几个判断,你使用小一点的周期比如1分钟,测试结果是可信的,并且不会出现一个周期之内来回震荡的问题。

 

 

我没有测试,你测试一下,看看有没有错误,我的直觉是你的止损点有点小,使用N后你可以调整看看。还有你怎么不开空仓?

 

 

 

[此贴子已经被作者于2012-2-17 10:46:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/17 10:59:54 [显示全部帖子]

//后面应该加一段日内平仓

 

if time>151000 and holding<>0 then

begin

sell(holding>0,0,thisclose);

sellshort(holding<0,0,thisclose);

end


 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/17 13:09:37 [显示全部帖子]

以下是引用太极王在2012-2-17 13:00:45的发言:

唉呀,是哦。空怎么办呢。能帮我一下吗。图片点击可在新窗口打开查看

美女王:我建议你不要急着去交易,还是好好地金字塔搞明白,然后自己写一些策略,再进行模拟交易。之后再考虑实盘的问题。要用好金字塔这个系统不是那么容易的。


 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/18 14:05:47 [显示全部帖子]

讨论4 信号过滤

不会贴图,这个问题讲起来有点费劲。

所谓的信号过滤,就是对那些“假”信号不进行操作,对于不同的策略过滤的手法可能完全不同。我就这个模型谈谈我怎么考虑过滤的,至于过滤后模型的收益以及模型中不是影响策略主方向的的问题大家自己去测试和修改吧。对于这个模型,我们主要过滤的是突破开仓的假信号,而对于平仓信号一旦开仓假信号减少,平仓信号也就少了。并且对于平仓止损,一定要对自己狠一点,不管什么原因,价格只要一碰中轨就平仓。以突破上轨开仓为例,我们可以发现,很多次价格碰到上轨后,就返回了,这个突破显然是假突破。那么我们可以考虑让价格在上轨上停留一段时间再开仓。以1分钟周期为例代码如下:

r3:=barslast(c>r6);

//开多仓

if r3>=3 and holding=0 then

    begin

    buy(1,tn,thisclose);

    end

当然为了更保险,我们可以使用l替代c;

再有就是技术指标在高位而产生的突破,大部分也是假突破。对于技术指标我希望大家有一个清晰的认识,是先有价格然后才有技术指标。就像开车,你踩了油门速度表上的速度才会起来,这个速度表的速度就是你的技术指标,但你什么时候松油门或者踩刹车,速度表是不知道的。如果这车跑到200公里/小时,正常情况下那么它减速就是大概率事件(但也不能排除开车这个小子喜欢飙车200不过瘾个跑到300公里)。下面以1分钟k线kdj的j指标为例代码如下:

r2:=stkindi('','kdj.j',0,1);

r3:=hhv(r2,3);

r4:=if(r2<r3 and r3>80,1,0);

//开多仓

if cross(h,r6) and r4<>1 then

      begin

      buy(holding=0,tn,limitr,r6);

      end

一些参数自己去调准。表示尽管价格触及了上轨,但是j到达80后开始下降时不开多仓。

这么做有没有风险,答案是肯定的(该赚的没有赚到也是风险),用这种方法过滤必须要加保护,保护的方法很多主要的如下:

1.j线降到一定的值价格还在上轨之上,你可以开仓;

2.几根k线之后,价格还在上轨之上,开仓;

同样你可以用macd,w&r等等去做过滤,也可以把多种方法结合起来,只要合理,并且和没有过滤比收益好就行,当然交易次数也不能增加太多(对于这个模型不会增加交易次数)。

 

 

(本来是抱一种玩世不恭的态度来发表这个主题的,看到大家的素质这么高,没有一个骂娘的,我自己都不好意思了。本来写到这里就不想再写了,该干一点正事了,看在没有一个骂娘的份上,我想把我对模型设计中的有关参数的设计,模型的收益等方面的思考写出来和大家分享,不一定对,但确实是我的真实思考)

[此贴子已经被作者于2012-2-18 14:16:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/23 10:41:35 [显示全部帖子]

以下是引用太极王在2012-2-20 18:58:20的发言:
我想问一下前辈们,这个模型现在用于实战的话,多大资金比较合适?如果我现在用 1 千来万资金现在就实盘的话,只开50% 的仓位在股指上可行吗! 没有

没有这么玩过,我真的不知道!

 


 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/23 10:42:16 [显示全部帖子]

以下是引用太极王在2012-2-22 18:52:43的发言:
急,请教高手,能不能帮我把 MT5 里面的这个指标转换成 金字塔?

什么指标?


 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/2/26 14:31:56 [显示全部帖子]

讨论5 模型参数及其他

本来想把我对参数的设计的理解好好地总结一下写出来,但怕误导大家,简单地说一下。

一个模型的收益可表示为y=f(x,n);

y:你模型的收益;

x:k线中的4个量,H,L,O,C以及他们的各种组合;

n:模型中的常数;

严格地讲x,n都是收益的参变量,都是收益的参数,但在实际中我们只把n做为参数,主要是x相对固定且很难产生歧义。

参数的设置时要考虑3个值

1.参数的理论取值范围;比如ma(c,n),这个n的理论取值范围n(1,+);

2.参数合理的取值范围;它必须在理论取值范围内,同样是ma(c,n)在不同的模型中n的取值范围是不同,这与设计者对自己模型以及对市场对理解有很大的关系。

3.最优值;通过对历史数据的检验,使得模型收益最大的那个值。

参数设计时除了范围外,最重要的是他的合理性,这是决定模型成败的关键。这是一个设计者能力的体现。

在前面我写的模型中有3个参数,分别为:N,M,M1。N是对市场波动的描述,在这个模型中它的合理取值范围6~15是可行的,而M1同也是对市场波动的描述。但是M这个参数就是“唯心”的东西,它不能真实去描述市场,而是在特定的条件下使得你的收益增加。如果你的模型中出现类似M这样的参数,那么你的模型从长期来看,肯定是失败的。

那么模型设计好后如何检验正确性,在充分考虑到可成交性可以后,可从一下几个方面考虑:

1:在所有参数的合理取值范围内,年收益为正;如果严格一点季收益应该为正。

2:在所有参数的合理取值范围内,盈亏(资产)曲线应该呈现出一条近似直线,不能出现大的波动,也就是说回撤不能太大,控制在6万/手/(2年内)(如果按日线看的话,应控制在4万以内)。

3:交易次数合理;对于日内模型350~500次/年我个人认为比较好。

4:不交易的天数小于20%,否则你的模型可能缺乏普遍性。

5:不盈利的时间不能太长,这个可根据自己的情况适当考虑。

6:非常重要的一点,你的参数在合理的取值范围内,收益是一条抛物线或者近似梯形且在梯形上边不能有大的波动,也就是说y=f(x,n)应该是一根抛物线(指某个具体时点时,不同参数变化收引起益曲线的变化)。

 

模型收益:

模型设计完后,我们会根据历史数据,进行评测,把所有的参数调整为最优值。那么在使用这个模型是对未来的收益如何评价?这个很难有一个统一的方法,我个人是这样来考虑的:

q=x1+(x2-x1)*30%-w;

q:未来一年的收益;

x1:过去二年所有参数的合理取值范围中平均年最小收益;

x2:过去二年最优参数平均年收益;

w:不可见的损失;比如电源,网络,软件,把星期五当星期六等等;我取10万/手/年;

30%我称为市场相似性系数,由于我们的股指期货仅仅开始了两年,历史数据不多,也许5年后我们可以把这个系数提高到50%甚至更高。

比如我们有一个模型至今为止参数合理取值范围中最小收益40万;最优收益100万,那么未来一年的收益可能为:

q=40/2+(100/2-40/2)*30%-10=19万/手。

 

 

这个主题到此就结束了,我再不会发表新的帖子了。谢谢大家来访。有兴趣的朋友并且水平和我差不多可以加我的QQ,否则您水平太高了您说的我不懂,水平太低了我说的你不懂,就没有意思了。我从不认为一个人可以设计出一个优秀的模型,因为个人的看法总有局限性的,只有相互交流,才有可能激发各人的潜力,达到共赢的目的(QQ2313936161)。

[此贴子已经被作者于2012-2-26 14:39:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zg611029
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:2802 威望:0 精华:0 注册:2011/11/17 19:20:51
  发帖心情 Post By:2012/3/9 20:08:36 [显示全部帖子]

以下是引用王润生在2012-3-9 0:06:06的发言:

这位前辈,请允许我这样称呼您!

看了很多帖子,也在论坛趴了快一个月了!

是您的帖子让我看到了一丝光亮,让我对模型有了一点了解,谢谢您的无私奉献,给后来人指引方向,可能您认为您是举手之劳,但对于后来人,起到了莫大的帮助!写下这段话记录下,感恩的心情!祝:家人平安幸福!!

谢谢你的祝福,有什么需要帮忙的请E_MAIL我。


 回到顶部
总数 31 上一页 1 2 3 4 下一页