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


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

   

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


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

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

美女呀,离线,留言给我吧!
xian_0_9
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
[求助]写个例子。谢谢~  发帖心情 Post By:2011/6/3 9:26:01    Post IP:119.114.115.67[显示全部帖子]

斑竹老师

在金字塔一个品种的图表交易中

如果开仓的条件分  开仓A和开仓B

平仓条件也是对应的平仓A和平仓B

那么请问在具体操作中  当开仓1的条件消失时需要平仓甚至反向开仓时  会不会影响开仓2的仓位?

 

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

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

 

能帮忙写个例子么?谢谢


 回到顶部
美女呀,离线,留言给我吧!
xian_0_9
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
  发帖心情 Post By:2011/6/3 10:34:08    Post IP:119.114.115.67[显示全部帖子]

以下是引用26327756l在2011-6-3 9:32:48的发言:

问题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编辑过]

非常感谢。但是如果我用条件A开仓,遇到条件B的平仓也会平掉的啊。

我想解决的是用条件A开仓,只能用条件A平仓去平。如果条件A开仓以后遇到条件B平仓不会去平。

谢谢您


 回到顶部
美女呀,离线,留言给我吧!
xian_0_9
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
  发帖心情 Post By:2011/6/3 14:12:40    Post IP:119.114.115.67[显示全部帖子]

以下是引用26327756l在2011-6-3 12:03:40的发言:

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

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

 

你的要求可以实现

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

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

嗯。不太好实现啊。我只是用这2个简单的条件举例一下。想找人帮忙写个例子,我学好了自己改。


 回到顶部
美女呀,离线,留言给我吧!
xian_0_9
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
  发帖心情 Post By:2011/6/3 14:13:26    Post IP:119.114.115.67[显示全部帖子]

以下是引用jinzhe在2011-6-3 11:28:06的发言:

这个意思啊,我想想

呵呵。特别废脑细胞~~谢谢图片点击可在新窗口打开查看


 回到顶部
美女呀,离线,留言给我吧!
xian_0_9
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
  发帖心情 Post By:2011/6/3 15:02:21    Post IP:119.114.115.67[显示全部帖子]

以下是引用26327756l在2011-6-3 14:19:32的发言:

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

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

 

是奥。我也不知道我的条件有啥问题啊。那你出个合理的条件呗。我学学怎么写就行。


 回到顶部
美女呀,离线,留言给我吧!
xian_0_9
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
  发帖心情 Post By:2011/6/5 7:38:07    Post IP:175.147.79.132[显示全部帖子]

以下是引用jinzhe在2011-6-3 15:33:24的发言:

我有种被打败的感觉。。。图片点击可在新窗口打开查看

图片点击可在新窗口打开查看肿么了?


 回到顶部
美女呀,离线,留言给我吧!
xian_0_9
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
  发帖心情 Post By:2011/6/5 7:39:20    Post IP:175.147.79.132[显示全部帖子]

以下是引用guotx2010在2011-6-4 9:05:49的发言:

解决办法有两种可供选择:

1、使用框架,两个窗格,分别用不同的策略,就可以两套方案独立进行(推荐使用,相对较简单)

2、使用VBA后台交易系统,策略中使用自定义函数将开仓、平仓信号传到后台,两个策略中传入的参数可以根据条件传不同的值,后台分别针对不同的值进行不同的处理。

嗯。我去研究一下1吧。谢谢。但是这样测试不了公式了啊?


 回到顶部
美女呀,离线,留言给我吧!
xian_0_9
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 BOO
等级:论坛游民 帖子:378 积分:1856 威望:0 精华:0 注册:2010/1/25 18:04:12
  发帖心情 Post By:2011/6/5 7:51:23    Post IP:175.147.79.132[显示全部帖子]

以下是引用26327756l在2011-6-3 16:11:34的发言:

条件简化一下

条件一;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

 

 

拿去先试试,感谢!


 回到顶部