以文本方式查看主题

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

--  作者:13505480838
--  发布时间:2019/5/21 14:03:50
--  代码编写求助
得到当前位置之前日线上的最近一次开仓信号,如果是多信号,则30分钟上只做多,如果是空信号,则30分钟上只做空。能不能用公式实现?谢谢老师
--  作者:yukizzc
--  发布时间:2019/5/21 15:50:38
--  

A是另一个交易策略,里面定义下a:开仓信号,stkindi(\'\',\'A.a\',0,6,0);
用这个函数就可以引用日线级别下策略A下的信号

--  作者:13505480838
--  发布时间:2019/5/21 20:31:01
--  
可能是我没表达清楚,不是这个意思。下面是个简单的开空、开多,拿开多来说就是满足KD金叉和和红色处的条件就开多仓,想请老师给写个红色处的条件

jc:=cross(d,k);

cd:=在这里加个条件:得到当前位置之前日线上的最近一次开仓信号,并且判断是开空信号

开空:jc and cd;

 

jc1:=cross(k,d);

cd1:=在这里加个条件:得到当前位置之前日线上的最近一次开仓信号,并且判断是开多信号

开多:jc1 and cd1;


--  作者:13505480838
--  发布时间:2019/5/21 20:57:33
--  
日线上最近一次开仓信号出现后到平仓信号出现前的任意一天去判断最近一次开仓信号是开多仓还是开空仓的
图片点击可在新窗口打开查看此主题相关图片如下:qq浏览器截图20190521205555.png
图片点击可在新窗口打开查看


--  作者:13505480838
--  发布时间:2019/5/21 21:17:22
--  
我需要的条件是定义最近一次开仓的方向(开多或是开空),而不是定义信号何时出现,谢谢老师,辛苦您了
--  作者:wenarm
--  发布时间:2019/5/22 8:20:38
--  

在日线公式中定义一个被引用变量,用于保存最近一次的开仓类型

AA:TYPE(1);//输出:0、无信号1、开多2、平多3、开空;4、平空

 

再在30分钟的公式中使用stkindi函数,引用该变量aa的返回值即可得到状态。

 

注:小周期引用大周期会造成信号闪烁。建议日线周期的值向前引用一根


--  作者:13505480838
--  发布时间:2019/5/22 9:14:34
--  
麻烦老师给写个完整的引用公式,再把30分钟的写一下。您上面写的看不懂,真心感谢
--  作者:yukizzc
--  发布时间:2019/5/22 9:17:13
--  
A:
jc:TYPE(1);


B公式
if stkindi(\'\',\'A.jc\',0,6,0) then buy(1,1,marketr);
[此贴子已经被作者于2019/5/22 9:45:41编辑过]

--  作者:13505480838
--  发布时间:2019/5/22 9:59:10
--  

老师,麻烦你把我需要的条件加到下面的策略里,真心不懂。引用条件是 stkindi(\'\',\'日策略日1.AA\',0,6,0)


RSV:= (CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

FASTK:=SMA(RSV,P1,1);

K:=SMA(FASTK,P2,1);

D:=SMA(K,P3,1);

 

jc:=cross(d,k);

cd:=在这里加个条件:得到当前位置之前日线上的最近一次开仓信号,并且判断是空信号

开空:jc and cd;

 

jc1:=cross(k,d);

cd1:=在这里加个条件:得到当前位置之前日线上的最近一次开仓信号,并且判断是多信号

开多:jc1 and cd1;

 

KD:=开多;

KK:=开空;

 

IF KD AND HOLDING<=0 THEN

 BEGIN

 SELLSHORT(HOLDING<0,SS,MARKETR);

 BUY(HOLDING=0,SS,MARKETR);

 END

 

 IF KK  AND HOLDING>=0 THEN

 BEGIN

 SELL(HOLDING>0,SS,MARKETR);

 BUYSHORT(HOLDING=0,SS,MARKETR);

 END

 

 

当前持仓:HOLDING,COLORGRAY,LINETHICK0;

当前资产:ASSET,NOAXIS,COLORGRAY; 
--  作者:yukizzc
--  发布时间:2019/5/22 10:00:48
--  

RSV:= (CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

FASTK:=SMA(RSV,P1,1);

K:=SMA(FASTK,P2,1);

D:=SMA(K,P3,1);

 

jc:=cross(d,k);

cd:=stkindi(\'\',\'日策略日1.AA\',0,6,0)=3;

开空:jc and cd;

 

jc1:=cross(k,d);

cd1:=stkindi(\'\',\'日策略日1.AA\',0,6,0)=1;

开多:jc1 and cd1;

 

KD:=开多;

KK:=开空;

 

IF KD AND HOLDING<=0 THEN

 BEGIN

 SELLSHORT(HOLDING<0,SS,MARKETR);

 BUY(HOLDING=0,SS,MARKETR);

 END

 

 IF KK  AND HOLDING>=0 THEN

 BEGIN

 SELL(HOLDING>0,SS,MARKETR);

 BUYSHORT(HOLDING=0,SS,MARKETR);

 END

 

 

当前持仓:HOLDING,COLORGRAY,LINETHICK0;

当前资产:ASSET,NOAXIS,COLORGRAY;