Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共30 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:在当前运行的公式中引用是否可以?

1楼
雪球 发表于:2014/6/9 12:06:49
公式1运行在rb00日线下,请问老师如下引用可以吗?
 
公式1:

variable:n1=0,n2=0;
VARIABLE:HIGHPRICE=0,LOWPRICE=0;
B:=REF(MA(C,20),1),PRECISION1,LINETHICK0;
KD1:=CROSS(MA(CLOSE,5),MA(CLOSE,30));
Kk1:=CROSS(MA(CLOSE,30),MA(CLOSE,5));
KD2:=CROSS(MA(CLOSE,10),MA(CLOSE,30));
Kk2:=CROSS(MA(CLOSE,30),MA(CLOSE,10));
KD:=(KD1 and n1=0 )OR( KD2 and n1=0 );
KK:=(KK1 and n2=0) OR( KK2 and n2=0);

t1:=currenttime>=t0totime(timetot0(closetime(0))-5*60)and currenttime<t0totime(timetot0(closetime(0))-30);//开仓时间
t2:=currenttime>=t0totime(timetot0(closetime(0))-5*60);//平仓时间

 


IF HOLDING<0   THEN BEGIN
IF (t2 AND CLOSE>B and n2=0 and STKINDIEX('rb01','公式1.收盘空平,0,6,0,200) and islastbar )or (not(islastbar) and  CLOSE>B and n2=0)  THEN BEGIN 
 收盘空平:SELLSHORT(1,1,marketr);
 n2:=1;
 IF islastbar THEN BEGIN
   DEBUGFILE('D:\TEST.TXT','  收盘空平:%.0f',收盘空平);//输出收盘空平
   DEBUGFILE('D:\TEST.TXT','holding:%.0f',holding);//输出HOLDING
   DEBUGFILE('D:\TEST.TXT','N2:%.0f',N2);//输出N2
 END
END
 
 
IF HOLDING=0 THEN BEGIN
IF ( t1 AND KK and islastbar and ENTERBARS!=0 )or (not(islastbar) and kk and ENTERBARS!=0 )THEN BEGIN

多开:BUY(1=1,1,marketr);
LOWPRICE:=ENTERPRICE;
END
END

IF HOLDING>0   THEN BEGIN
IF (t2 AND CLOSE>B and n2=0  and islastbar )or (not(islastbar) and  CLOSE>B and n2=0)  THEN BEGIN 
 收盘多平:SELL(1,1,marketr);
 n2:=1;
 END
  
 

多损:SELL(1,1,marketr);
 
  n2:=1;
   END
  IF L<LOWPRICE THEN LOWPRICE:=L;
 
   
  IF ENTERPRICE-LOWPRICE>=30 THEN BEGIN
   IF  H >=LOWPRICE*(1+5/1000)and n2=0 THEN BEGIN  
    
   
多赢:SELL(1,1,MARKET);
    n2:=1;
       END
  END
 END  
 

IF HOLDING=0 THEN BEGIN
IF ( t1 AND KK and STKINDIEX('rb01','公式1.空开,0,6,0,200) and islastbar and ENTERBARS!=0 )or (not(islastbar) and kk and ENTERBARS!=0 )THEN BEGIN
空开:BUYSHORT(1=1,1,marketr);
LOWPRICE:=ENTERPRICE;
IF islastbar THEN BEGIN
DEBUGFILE('D:\TEST.TXT',' T1f'&numtostr(T1,0)&' ENTERBARS!=0:'&numtostr(ENTERBARS!=0,1)&' KK:'&numtostr(KK,0)&' N2:'&numtostr(N2,0),0); //输出开仓条件
DEBUGFILE('D:\TEST.TXT',' 空开:%.0f',空开);//输出空开
DEBUGFILE('D:\TEST.TXT','holding:%.0f',holding);//输出HOLDING
//DEBUGFILE('D:\TEST.TXT','N2:%.0f',N2);//输出N2
END
END
END


 IF H>=ENTERPRICE*(1+0.02) and n2=0 and STKINDIEX('rb01','公式1.空损,0,6,0,200)  THEN BEGIN
 
  空损:SELLSHORT(1,1,marketr);
 
  n2:=1;
  IF islastbar THEN BEGIN
   DEBUGFILE('D:\TEST.TXT','  空损:%.0f',空损);//输出空损
   DEBUGFILE('D:\TEST.TXT','holding:%.0f',holding);//输出HOLDING
   DEBUGFILE('D:\TEST.TXT','N2:%.0f',N2);//输出N2
 END
 END
  IF L<LOWPRICE THEN LOWPRICE:=L;
 
   
  IF ENTERPRICE-LOWPRICE>=30 THEN BEGIN
   IF  H >=LOWPRICE*(1+5/1000)and n2=0 and STKINDIEX('rb01','公式1. 空赢,0,6,0,200) THEN BEGIN 
   
    空赢:SELLSHORT(1,1,MARKET);
    n2:=1;
    IF islastbar THEN BEGIN
   DEBUGFILE('D:\TEST.TXT','  空赢:%.0f',空赢);//输出空赢
   DEBUGFILE('D:\TEST.TXT','holding:%.0f',holding);//输出HOLDING
   DEBUGFILE('D:\TEST.TXT','N2:%.0f',N2);//输出N2
 END
   END
  END
 END  
 
 
if (islastbar and currenttime =closetime(0))or (not(islastbar)) then begin
    n1:=0;
    n2:=0;
end
持仓:holding,linethick0;
资产:asset,PRECISION1,linethick1,noaxis,COLOR8586D8;

 

 

2楼
jinzhe 发表于:2014/6/9 13:19:26
自己引用自己?
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2014/6/9 13:20:00编辑过]
3楼
雪球 发表于:2014/6/9 13:24:11
仅品种不同。运行在rb00日线下,引用rb01日线之值。
4楼
jinzhe 发表于:2014/6/9 13:37:14
是不是自己引用自己?
5楼
雪球 发表于:2014/6/9 13:42:51
仅品种不同。公式1运行在rb00日线下,引用rb01日线之值
6楼
雪球 发表于:2014/6/9 13:47:07
请问老师 这样的引用可不可以?
初步测试结果是可以的,但心里不踏实
7楼
jinzhe 发表于:2014/6/9 13:59:22
不能自己引用自己
8楼
雪球 发表于:2014/6/9 14:02:19
跳出提示引用超过50是因为"自己引用自己"吗?
9楼
雪球 发表于:2014/6/9 14:16:13
那要引用同一公式在另一品种上的信号,怎么办?
10楼
雪球 发表于:2014/6/9 14:27:11
哦,老师我搞错了。是这样的,不加引用语句时为公式1,加进引用语句后为公式2,公式2运行在rb00日线下,这样的引用可以吗?我初步测试是可以的,但跳出引用超过50提示。
共30 条记录, 每页显示 10 条, 页签: [1] [2][3]


Powered By Dvbbs Version 8.3.0
Processed in 0.03906 s, 3 queries.