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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于一根K线上出现多次开仓的问题

   

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


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

主题:关于一根K线上出现多次开仓的问题

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


加好友 发短信
等级:新手上路 帖子:66 积分:125 威望:0 精华:0 注册:2012/2/7 13:12:58
关于一根K线上出现多次开仓的问题  发帖心情 Post By:2012/3/15 15:02:39    Post IP:218.66.130.9[只看该作者]

各位大侠你好,我简单的一个思路,当前收盘价突破上一个开仓至当前周期的最高价的一个价格H1做多,同理当前收盘价跌破上一个开仓至当前的周期的最低价的一个价格H2做空。我实现了,但是出现了有些一根K线上出现多次开仓的情况。代码如下,图如下,我做铜连续测试的,两张图时间分别是五分钟周期的3月7日9点40分和3月15日14点40分,之前还有很多根K线出现这个问题。请各位帮我解决这个问题。

h1:=300;
myhigh:=hhv(high,enterbars);
mylow:=llv(low,enterbars);
if close>mylow+h1 then
begin
sellshort(holding<0,0,thisclose);
buy(holding=0,1,thisclose);
end

if close<myhigh-h1 then
begin
sell(holding>0,0,thisclose);
buyshort(holding=0,1,thisclose);
end

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/3/15 15:13:47    Post IP:58.246.57.26[只看该作者]

估计是myhigh:=hhv(high,enterbars);
mylow:=llv(low,enterbars);这两句出问题了,我先研究下



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:新手上路 帖子:66 积分:125 威望:0 精华:0 注册:2012/2/7 13:12:58
  发帖心情 Post By:2012/3/15 15:16:30    Post IP:218.66.130.9[只看该作者]

我也感觉是这个出问题了。。但不知道出在哪里,所以请帮忙找找哦

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


加好友 发短信
等级:新手上路 帖子:26 积分:162 威望:0 精华:0 注册:2012/3/1 8:44:27
  发帖心情 Post By:2012/3/15 20:44:00    Post IP:114.246.169.84[只看该作者]

开仓时刻enterbars=0,hhv(high,0)为已有K线序列中的最高价而非当前K线high,

改为 hhv(high,if(enterbars=0,1,enterbars));

这问题我遇到过


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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/3/15 21:56:28    Post IP:121.204.191.79[只看该作者]

h1:=300;
myhigh:=hhv(high,enterbars);
mylow:=llv(low,enterbars);
if close>mylow+h1 then
begin
  sellshort(holding<0,0,thisclose);

  if holding=0 then begin

    buy(1,1,thisclose);

    goto skip@;

  end
end

if close<myhigh-h1 then
begin
  sell(holding>0,0,thisclose);
  buyshort(holding=0,1,thisclose);
end

skip@; 

 

另外 ,首次开仓语句的顺序要注意,要放在 myhigh:=hhv(high,enterbars);mylow:=llv(low,enterbars);这2句的后面

[此贴子已经被作者于2012-3-15 22:05:46编辑过]

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


加好友 发短信
等级:新手上路 帖子:66 积分:125 威望:0 精华:0 注册:2012/2/7 13:12:58
  发帖心情 Post By:2012/3/17 0:51:52    Post IP:120.35.111.12[只看该作者]

感谢您的解答,我按照您所说的改了一下代码,但还是出现一根K线出现多次开仓的情况,你看看

h1:=300;
myhigh:=hhv(high,if(enterbars=0,1,enterbars));
mylow:=llv(low,if(enterbars=0,1,enterbars));
if close>mylow+h1 then
begin
sellshort(holding<0,0,thisclose);
buy(holding=0,1,thisclose);
end

if close<myhigh-h1 then
begin
sell(holding>0,0,thisclose);
buyshort(holding=0,1,thisclose);
end

您看看什么情况


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


加好友 发短信
等级:新手上路 帖子:66 积分:125 威望:0 精华:0 注册:2012/2/7 13:12:58
  发帖心情 Post By:2012/3/17 0:57:11    Post IP:120.35.111.12[只看该作者]

阿火你好,goto skip;是什么意思?加上这句的效果是什么呢?

 


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


加好友 发短信
等级:新手上路 帖子:66 积分:125 威望:0 精华:0 注册:2012/2/7 13:12:58
  发帖心情 Post By:2012/3/17 1:00:38    Post IP:120.35.111.12[只看该作者]

还有,你所说的首次开仓难道还要另外写?

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/3/17 8:06:59    Post IP:61.155.206.57[只看该作者]

按我的写法不会出现你所说的问题了吧 goto 什么意思见函数说明

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


加好友 发短信
等级:新手上路 帖子:66 积分:125 威望:0 精华:0 注册:2012/2/7 13:12:58
  发帖心情 Post By:2012/3/19 20:08:18    Post IP:59.57.215.198[只看该作者]

goto 我知道是什么意思,为什么后面SKIP@?

 回到顶部