以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  关于一根K线上出现多次开仓的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=10582)

--  作者:cong
--  发布时间:2012/3/15 15:02:39
--  关于一根K线上出现多次开仓的问题

各位大侠你好,我简单的一个思路,当前收盘价突破上一个开仓至当前周期的最高价的一个价格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
--  发布时间:2012/3/15 15:13:47
--  

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


--  作者:cong
--  发布时间:2012/3/15 15:16:30
--  
我也感觉是这个出问题了。。但不知道出在哪里,所以请帮忙找找哦
--  作者:why123456
--  发布时间:2012/3/15 20:44:00
--  

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

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

这问题我遇到过


--  作者:阿火
--  发布时间:2012/3/15 21:56:28
--  

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
--  发布时间:2012/3/17 0:51:52
--  

感谢您的解答,我按照您所说的改了一下代码,但还是出现一根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
--  发布时间:2012/3/17 0:57:11
--  

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

 


--  作者:cong
--  发布时间:2012/3/17 1:00:38
--  
还有,你所说的首次开仓难道还要另外写?
--  作者:阿火
--  发布时间:2012/3/17 8:06:59
--  
按我的写法不会出现你所说的问题了吧 goto 什么意思见函数说明
--  作者:cong
--  发布时间:2012/3/19 20:08:18
--  
goto 我知道是什么意思,为什么后面SKIP@?