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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]写个例子。谢谢~

   

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


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

主题:[求助]写个例子。谢谢~

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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/6/3 9:32:48    Post IP:58.246.57.26[显示全部帖子]

问题1 同一品种的交易,多条件的同时执行会影响持仓量。

 

//10日均线上穿30日均线平空开多
if ma(10)>ma(30) then
begin
SELLSHORT( 1,1 ,market );
BUY( 1,1 ,market);
end
//下穿就平多开空
if ma(10)<ma(30) then
begin
SELL( 1,1 ,market )
BUYSHORT( 1,1 ,market )
end
//收盘价大于20日前的最高价平空开多
 if c>HHV(c,20) then
 begin
SELLSHORT( 1,1 ,market );
BUY( 1,1 ,market);
end
 //收盘价小于20日前的最低价平多开空
if c<HHV(c,20) then
begin
SELL( 1,1 ,market )
BUYSHORT( 1,1 ,market )
end
 

[此贴子已经被作者于2011-6-3 9:46:40编辑过]

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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/6/3 11:05:55    Post IP:58.246.57.26[显示全部帖子]

问题正在解决

[此贴子已经被作者于2011-6-3 11:12:32编辑过]

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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
金字塔程序化交易基础培训班(北京站)开始报名啦  发帖心情 Post By:2011/6/3 12:03:40    Post IP:58.246.57.26[显示全部帖子]

条件一;10日均线上穿30日均线平空开多,下穿就平多开空。

条件二;收盘价大于20日前的最高价平空开多,收盘价小于20日前的最低价平多开空。

 

你的要求可以实现

不过你的这两个条件设的不太好,  条件设的很是出现概率都很高,条件1很容易实现,不是高就是低,那么根据你的要求,条件2的执行概率很低。只有在条件1的两个参数相等时,才会进入条件2.

而且每个条件执行后,都会有持仓。根据要求,第二个的条件的执行概率有会很低。


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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/6/3 14:19:32    Post IP:58.246.57.26[显示全部帖子]

你想要的功能实现不是问题,你给的条件有点问题。

你给个合理点的条件我可以写一下。

 


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


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/6/3 16:11:34    Post IP:58.246.57.26[显示全部帖子]

条件简化一下

条件一;10日均线上穿30日均线开多,10日均线下穿30日均线平空。

条件二;收盘价大于20日前的最高价开多,收盘价小于20日前的最低价平空。

 

关键就是控制变量 k的使用,条件设的很简单,可变的空间很大。

只要是实现你的 条件1开仓,由条件1平仓,条件2不干扰。条件2开仓,由条件2平仓,条件1不干扰。

 

 

VARIABLE:k=0;
ma1:=MA(c,10);
ma2:=MA(c,30);


//10日均线上穿30日均线开多
if ma1>ma2  then
begin
BUY( 1,1 ,market);
k:=1;
end
//下穿就平多
if ma1<ma2 and k=1 then
begin
BUYSHORT( 1,1 ,market );
k:=0;
end
//收盘价大于20日前的最高价开多
if c>HHV(c,20)  then
begin
BUY( 1,1 ,market);
k:=2;
end
 //收盘价小于20日前的最低价平多开空
if c<LLV(c,20) and k=2 then
begin
SELL( 1,1 ,market );
k=0;
end

 

 


 回到顶部