以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  搞了一通宵还是搞不出来,眼睛都快睁不开了,唉  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=82007)

--  作者:y
--  发布时间:2015/8/4 9:01:58
--  搞了一通宵还是搞不出来,眼睛都快睁不开了,唉
-----------------价格带上限X                    |    |
                                                            |    |
                                                            |    | 
-----------------价格带下线Y                    |    |
                                                            A    B


情况如上图:X、Y两条价格带,A、B两条价格带,

                 无止损条件,交易模式为平仓反手,时刻都有仓位。

条件1:A、B线同时向上穿越Y时,平空翻多;A、B线同时向上穿越X时,平空翻多。

条件2:A、B线同时向下穿越X时,平多翻空;A、B线同时向下穿越Y时,平多翻空。

条件3:当满足一个开仓条件并开仓一个单位后,紧接着出现第二个同方向信号,则加仓一个单位。

条件4:当满足一个平仓条件后,全平并反手一个单位、、、、、依此类推。

------------求穿越公式;求平多翻空、平空翻多、加仓、全平仓交易公式(系统交易模版,K线的下一个周期市价发单)。


快要顶不住了,我真的想睡觉了,请老师帮助,万分感谢!!!(因为是双条件,条件1和2我搞来搞去信号都是重复的,加仓信号和平仓反手信号是混淆的)



--  作者:y
--  发布时间:2015/8/4 9:04:11
--  
注::上面的A、B线是两根平行线,发帖后乱了
--  作者:jinzhe
--  发布时间:2015/8/4 9:11:27
--  

if cross(a,y) or cross(b,y) then begin
 sellshort.......;
 buy......;
end

if cross(a,x) or cross(b,x) then begin
 sellshort.......;
 buy......;
end

if cross(x,a) or cross(x,b) then begin
 sell.......;
 buyshort......;
end

if cross(y,a) or cross(y,b) then begin
 sell.......;
 buyshort......;
end

if 开多条件 and type(1)=1 then buy.....;
if 开空条件 and type(1)=3 then buyshort......;

if 平多条件 then begin
 sell....;
 buyshort.....;
end

if 平空条件 then begin
 sellshort.....;
 buy...;
end


--  作者:y
--  发布时间:2015/8/4 9:17:16
--  

晕哦,老师既然不到一根烟功夫就搞出来了图片点击可在新窗口打开查看

 

老师是单独写的条件,我是把多条件放在一个句子里,难道这就是问题所在?

 


--  作者:y
--  发布时间:2015/8/4 10:38:38
--  
以下是引用jinzhe在2015/8/4 9:11:27的发言:

if cross(a,y) or cross(b,y) then begin
 sellshort.......;
 buy......;
end

if cross(a,x) or cross(b,x) then begin
 sellshort.......;
 buy......;
end

if cross(x,a) or cross(x,b) then begin
 sell.......;
 buyshort......;
end

if cross(y,a) or cross(y,b) then begin
 sell.......;
 buyshort......;
end

if 开多条件 and type(1)=1 then buy.....;
if 开空条件 and type(1)=3 then buyshort......;

if 平多条件 then begin
 sell....;
 buyshort.....;
end

if 平空条件 then begin
 sellshort.....;
 buy...;
end

----------------------------------------------

请问老师,定义多空条件的时,比如把AB上穿Y、和AB上穿X定义在同一个条件里,还是分别定义为两个多头条件?


--  作者:jinzhe
--  发布时间:2015/8/4 10:39:21
--  

按照我写的设定即可


--  作者:y
--  发布时间:2015/8/4 10:58:27
--  


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

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

 

谢jinzhe老师,开平仓信号很混乱,问题出在哪里呢?因为才刚刚学了3天,还请老师见谅


--  作者:y
--  发布时间:2015/8/4 10:59:45
--  

手数:=ss;
//---------------------------------------------
jf:INTPART(sum(h-l,n)/n)NOAXIS,LINETHICK0;
jg:INTPART(sum(high,n)/n )LINETHICK0;
jd:INTPART(sum(low,n)/n )LINETHICK0;
//---------------------------------------------
x:INTPART(jd+jf)COLORRED;
y:INTPART(jd-jf)COLORBLUE;
a:(C+jf)COLORGREEN;
b:(C-jf)COLORGREEN;
//------------------------------------------------
开多条件:=cross(a,y) or cross(b,y);
开空条件:=cross(x,a) or cross(x,b);
平多条件:=cross(x,a) or cross(x,b);  
平空条件:=cross(a,y) or cross(b,y);
//---------------------------------------
if cross(a,y) or cross(b,y) then begin
 sellshort(1,SS,MARKET);
 buy(1,SS,MARKET);
end

if cross(a,x) or cross(b,x) then begin
 sellshort(1,SS,MARKET);
 buy(1,SS,MARKET);
end

if cross(x,a) or cross(x,b) then begin
 sell(1,SS,MARKET);
 buyshort(1,SS,MARKET);
end

if cross(y,a) or cross(y,b) then begin
 sell(1,SS,MARKET);
 buyshort(1,SS,MARKET);
end

if 开多条件 and type(1)=1 then buy(1,SS,MARKET);
if 开空条件 and type(1)=3 then buyshort(1,SS,MARKET);
if 平多条件 then begin
 sell(1,SS,MARKET);
 buyshort(1,SS,MARKET);
end

if 平空条件 then begin
 sellshort(1,SS,MARKET);
 buy(1,SS,MARKET);
end


--  作者:jinzhe
--  发布时间:2015/8/4 10:59:56
--  
很混乱?看上去的样子是不好看,但是你测试过上面的开平信号是不是体现了代码的结果?
--  作者:y
--  发布时间:2015/8/4 11:01:20
--  
以下是引用jinzhe在2015/8/4 10:59:56的发言:
很混乱?看上去的样子是不好看,但是你测试过上面的开平信号是不是体现了代码的结果?

仔细对比了,信号没有遵循开平仓规则