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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 开仓触发价的设置

   

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


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

主题:开仓触发价的设置

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


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/12/7 22:44:06
开仓触发价的设置  发帖心情 Post By:2016/9/8 22:26:34 [只看该作者]

程序化开仓条件请教:逐K线下,原来写的是BUYSHORT (开空 and holding=0,1,LIMITR,(REF(LOW,1) -1)),需要市价触及(ref(LOW,1)-1))才以该价或该价出现后的市价成交(暂不考虑复杂的追价等),该怎么实现呢?LIMITR改为stop么?
另外查询STOP“一般用在测试交易策略,一般不用在图表的自动交易中”;那么实盘后台应该怎么写呢?

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


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2016/9/9 8:53:09 [只看该作者]

意思是当价格达到上根最低价是市价下单吗?写法

ll:ref(low,1);

buyshort(c=ll,1,market);


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


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/12/7 22:44:06
  发帖心情 Post By:2016/9/9 12:01:29 [只看该作者]

逐K线模式下,本K线触及上K线低L-0.5则市价下卖单,这时K线没走完啊

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


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2016/9/9 12:28:21 [只看该作者]

ll:ref(low,1)-0.5;

buyshort(c=ll,1,market);

c在k线没走完是表示最新价


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


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/12/7 22:44:06
  发帖心情 Post By:2016/9/17 23:27:04 [只看该作者]

您提到“ll:ref(low,1);

buyshort(c=ll,1,market);”


已改成BUYSHORT (开空 and holding=0 AND c<=(REF(LOW,1) -REF(close,1)*1.5/10000),1,MARKETR);
根据函数解释,测评:1,如果用MARKET是按次周期开盘价;2,按MARKETR是按本周期收盘价。按这样测评实际都是亏损的;我只能用LIMITR测评才能接近预期。
我的实际要求是本周期突破上周期的+-万分之1.5价位则开仓,实际是条件单,工作人员已经一再对我说只有大连可接受,参见我在http://www.weistock.com/bbs/dispbbs.asp?BoardID=2&ID=71496&replyID=&skin=1
的互动,
我还是不明白您说“c在k线没走完是表示最新价”的含义,这里需要引入“走完k线+固定轮询混合模式”么?

简单的方法,我应该用几个交易所的实盘找便宜品种测一下,找跳动大的就明白了,但是如果不测呢?

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2016/9/18 8:20:14 [只看该作者]

close在最新的k上面,就是当前品种的最新的行情数据。

MARKET和MARKETR只是在图表上显示的位置由区别,在实盘中效果是一样的

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
施季礼茨
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/12/7 22:44:06
  发帖心情 Post By:2016/9/18 17:25:41 [只看该作者]

谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
施季礼茨
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/12/7 22:44:06
还是不明白,需求很简单:突破(触发)最新价开仓  发帖心情 Post By:2016/9/23 1:23:04 [只看该作者]

根据模拟盘观察,都是在K线走完后下单的,逐K模式,强调下我的语句判断是上根线满足开多或开空条件(比如某种CROSS),则下根线没走完但触发了比上根线高点或低点再+-2个点的价位,就以市价开仓;

现在的语句是并列条件,是不是改成IF THEN 才合理,

BUY(开多 and holding=0 and c>=(REF(high,1) + 2),1,MARKETR )

 
BUYSHORT ( 开空 AND holding=0 AND c<=(REF(LOW,1) -2),1,MARKETR);

 

这个“最新价”是K线走完才确定的么,还是要引入轮询?我一般在5K周期以上,

 
a:=REF(high,1);
b:=REF(LOW,1);

SELLSHORT(PK,0,THISCLOSE);
SELL(PD,0,THISCLOSE);

if  zxk and KK and holding=0 then begin

BUYSHORT ( c<=(b -2),1,MARKET);

end

if   zxd and Kd and holding=0,then  begin

BUY( c>=(a + 2),1,MARKET );

end

 

这样写测试通过,但对不对?先平后开的排列对么?

 


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2016/9/23 8:47:35 [只看该作者]

1.if then 语句可以用来作为分支模块,你的这段代码其实没有必要。看个人使用习惯。

2.最近价就是当前的close。至于你要走完k,和固定时间间隔,是你自己决定通过什么样开仓方式检测信号,

3.你策略中不要使用中文的输入法,黄色不应该有的,红色是中文的

a:=REF(high,1);

b:=REF(LOW,1);

SELLSHORT(PK,0,THISCLOSE);
SELL(PD,0,THISCLOSE);

if  zxk and KK and holding=0 then begin

BUYSHORT ( c<=(b -2),1,MARKET);

end

if   zxd and Kd and holding=0, then  begin

BUY( c>=(a + 2)1,MARKET )

end

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
施季礼茨
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:0 威望:0 精华:0 注册:2015/12/7 22:44:06
谢谢及时跟进,触发交易就是这么难么?  发帖心情 Post By:2016/9/23 9:17:10 [只看该作者]

我也觉得这样改了好像和IF条件里的AND逻辑没什么区别,是我不理解轮询吧;

在哪里改为轮询呢,信号线(比如某种CROSS)出来后(比如5分钟K ),下一个5分钟内用什么轮询方法,只要在这个周期内突破前高的+2点就做多?


 回到顶部
总数 13 1 2 下一页