以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  帮修正下代码  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=76809)

--  作者:黄金精算师
--  发布时间:2015/3/24 10:03:34
--  帮修正下代码

2个地方请帮我修正下

原来程序是这样的,5 分钟条件运行滑点太多,改调1分钟K柱

 

  1分钟K柱:= all(isup,5);//原来是5 分钟条件K柱,现要改成1分钟K柱                     改的时候还是用这种格式,单行处理
 开多标记:=(MA1>MA2 AND L>MA2 AND 1分钟K柱);

 

 1、我想把第三个条件“1分钟K柱"写成前面5根1分钟阳线(5 分钟条件下运行的K柱调1分钟K柱)不指定品种

//----------------------------------------------------------------------------------------------------------------


 2、我看了论坛里有很多关于信号闪烁的问题,我要在开单位加锁,就是我只要收到一个达成开仓的信号,这信号如果进入我的开仓程序位軒,那么我就认为这个就是我要的信号,不管K线过后这个信号还在不在,我都要在图表上开仓

不知道程序在哪里加锁位合适,

程序是

1分钟K柱:= all(isup,3);//

 开多标记:=(MA1>MA2 AND L>MA2 AND 1分钟K柱);                    看锁位是在这稳还是在下在开仓位稳定

//开多单
IF HOLDING=0 THEN BEGIN
 IF DUOKONG=1 OR DUOKONG=2 THEN BEGIN
  IF 开多标记 THEN BEGIN//BUY1
   多开:BUY(1=1,ORDVOL,MARKET);                                         开仓位加写一个条件锁
   HIGHPRICE:=ENTERPRICE;  //将开仓价保存到最高价
  END
 END
END

锁仓意思是这样,

当条件(1、2、3、4、锁位)满足开仓//平时锁位是无信号

开仓程序执行开仓,同时上锁,意思就是如果K线走完合信号如果消失了,那么,那个锁位也被认为是达成开仓要求的条件之一,


可能产生新的问题,就是锁位几时撤销,撤销后开仓信号会不会又消失了


--  作者:jinzhe
--  发布时间:2015/3/24 10:09:26
--  

1

  1分钟K柱:= ref(all(isup,5),1);

2

   实现不了,信号消失了就记录不了


--  作者:黄金精算师
--  发布时间:2015/3/24 10:24:02
--  

1、1分钟K柱:= ref(all(isup,5),1);我这不是要引用前面5分钟K柱,是要在5分钟K线图下引用1 分钟K柱,

   昨天问了说是建议用callstock  和 stkindi的,不会用

 

 

2、我们不能强制图表开仓吗,当我的在收到不稳定的开仓信号时强制开仓也不行吗,那个锁就是强加的开仓信号,那也算是一种条件呀

 


--  作者:黄金精算师
--  发布时间:2015/3/24 10:28:49
--  

如果说图表不能对过后不存在的条件执行,那反过来,我当收到这种不确定的信号时,我回测当时前一根K柱数据,如前一根K柱为5,那我要求他达到5时,开仓,这就由一个不定因数变为确定因数了。

 


--  作者:jinzhe
--  发布时间:2015/3/24 10:34:25
--  

公式1:

kk:all(isup,3);

 

公式2:

1分钟k柱:stkindi(\'\',\' 公式1.kk\',0,1);

公式1用来被引用,不可省略,不应用到k线图上。公式2是实际使用公式


--  作者:jinzhe
--  发布时间:2015/3/24 10:34:54
--  

用ref1,效果如果走完k线一般

比如:c>o就改为 ref(c>o,1)


--  作者:黄金精算师
--  发布时间:2015/3/24 10:47:53
--  

可能误会了,

我说一下我的要求,

这是原程序,原程在5 分钟下需要5根5分钟阳柱才开仓
1分钟K柱:= all(isup,5);//这是5根5分钟阳柱,因为我是在5分钟K线下运行

 开多标记:=(MA1>MA2 AND L>MA2 AND 1分钟K柱);

 

 我要改成

1分钟K柱:= all(isup,5);//我要把这个改为5根1 分钟阳线

 开多标记:=(MA1>MA2 AND L>MA2 AND 1分钟K柱);


--  作者:jinzhe
--  发布时间:2015/3/24 10:49:34
--  

那就把kk后面那句里面的3改成5,其他不变,

要引用你就要写两个公式,一个引用一个实际应用


--  作者:黄金精算师
--  发布时间:2015/3/24 11:00:06
--  

 那个1分钟K柱容易让人误会,我们把DDDDD代表5根1 分钟阳柱,程序在5分钟K线下运行

 

得出的软件是,当条件为滿足条件MA1>MA2 AND L>MA2 和 在5 分钟K线下的连续5根1分钟K柱    开仓

 

kk:all(isup,3);

DDDDD:stkindi(\'\',\' kk\',0,1);

开多标记:=(MA1>MA2 AND L>MA2 AND DDDDD);


--  作者:jinzhe
--  发布时间:2015/3/24 11:07:11
--  
以下是引用jinzhe在2015/3/24 10:34:25的发言:

公式1:

kk:all(isup,3);

 

公式2:

1分钟k柱:stkindi(\'\',\' 公式1.kk\',0,1);

公式1用来被引用,不可省略,不应用到k线图上。公式2是实际使用公式

要这样写,写两个公式,实在不行你照着函数说明写,不要自由发挥


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/3/24 11:07:25编辑过]