欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 为什么不输出maxc

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3268人关注过本帖树形打印复制链接

主题:为什么不输出maxc

帅哥哟,离线,有人找我吗?
uime
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
为什么不输出maxc  发帖心情 Post By:2015/6/21 18:15:44    Post IP:123.11.81.144[显示全部帖子]

问题如下:
1、在图表缩放的过程中,maxc不输出
2、在公式测试的过程中,如果不是从起始k线开始测试,中间没有信号。
3、用debugfile2输出后,asset和maxc没有数值,不知道原因何在。我想要在调试目标文件中显示每一根k线下对应的maxc值和asset值。
代码如下:
variable:position=0,maxc=asset,N=0,myentryprice=0,myexitprice=0;
input:tupo(10,2,100,1),zhis(15,5,100,1),zhiying(3,1,10,1);
hi20:ref(hhv(h,tupo),1);
lo20:ref(llv(l,tupo),1);
ATR:=ma(tr,20);
zhisun:=zhis/10;
kd:=cross(h,hi20);
kk:=cross(lo20,l);


//如果没有持仓,开多仓

IF POSITION=0 AND barpos>20  THEN BEGIN
                if maxc<asset then maxc:=asset;
                N:=atr;
                if CASH(0)<MAXC*0.9 and CASH(0)>MAXC*0.8 THEN PosNum:=cash(0)*0.015/n/MULTIPLIER ;
                else if
                CASH(0)<MAXC*0.8 and CASH(0)>MAXC*0.7 THEN PosNum:=cash(0)*0.0075/N/MULTIPLIER;
                else if
                CASH(0)<MAXC*0.7 and CASH(0)>MAXC*0.6 THEN PosNum:=cash(0)*0.004/N/MULTIPLIER;
                else if
                else PosNum:=cash(0)*0.03/N/MULTIPLIER;
                posnum:=floor(posnum);
                
                if kd  THEN BEGIN
                        MYENTRYPRICE := IF(OPEN>hi20+MINDIFF ,OPEN ,hi20+MINDIFF ) ;
                        //posnum:=intpart (asset*0.02/N/MULTIPLIER);
                        BUY(cash(0)>(posnum*myentryprice+posnum*zhisun*N*MULTIPLIER),POSNUM,LIMITR,MYENTRYPRICE);
                        POSITION := 1 ;        
                end
                if kk then BEGIN
                        MYENTRYPRICE := IF(OPEN<lo20+MINDIFF ,OPEN ,lo20-MINDIFF ) ;
                        BUYshort(cash(0)>(posnum*myentryprice+posnum*zhisun*N*MULTIPLIER),POSNUM,LIMITR,MYENTRYPRICE);
                        POSITION := -1 ;
                end        
end




//如果已经开仓,加多仓;
if position>0 and h>myentryprice+zhiying*N and (cash(0)-posnum*h-(holding+posnum)*zhisun*N*MULTIPLIER)>0 THEN
        begin
        myentryprice:=if(open>enterprice+zhiying*N+mindiff,open,enterprice+zhiying*N+mindiff);
        buy(1,posnum,limitr,myentryprice);
        position:=position+1;
        myentryprice:=myentryprice+zhiying*N;
        end
        
//如果已经开空仓,加仓;
if position<0 and l<myentryprice-zhiying*N and (cash(1)-posnum*h-(abs(holding)+posnum)*zhisun*N*MULTIPLIER)>0 THEN
        begin
        myentryprice:=if(open<enterprice-zhiying*N+mindiff,open,enterprice-zhiying*N+mindiff);
        buyshort(1,posnum,limitr,myentryprice);
        position:=position-1;
        myentryprice:=myentryprice-zhiying*N;
        end
        
        
//多仓出局
if position>0 and low<enterprice-zhisun*N then
begin
                MYEXITPRICE := IF(OPEN<MYENTRYPRICE-zhisun*N ,OPEN ,MYENTRYPRICE-zhisun*N ) ;                
                MYEXITPRICE := FLOOR(MYEXITPRICE/MINDIFF)*MINDIFF ;        
                SELL( 1,0,LIMITR,MYEXITPRICE);
                POSITION := 0 ;
                //if maxc<cash(0) then maxc:=cash(0);
END

//空仓止损
if position<0 and high>enterprice+zhisun*N then
begin
                MYEXITPRICE := IF(OPEN>MYENTRYPRICE+zhisun*N ,OPEN ,MYENTRYPRICE+zhisun*N ) ;                
                MYEXITPRICE := ceiling(MYEXITPRICE/MINDIFF)*MINDIFF ;        
                SELLshort( 1,0,LIMITR,MYEXITPRICE);
                POSITION := 0 ;
                //if maxc<cash(0) then maxc:=cash(0);
END

持仓:holding,linethick0;
maxasset:maxc,noaxis;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
DEBUGFILE2('d:\DEBUGFILE.TXT','maxc=%.0F' ,maxc,0) ;
DEBUGFILE2('d:\DEBUGFILE.TXT','asset=%.0F' ,asset ,0) ;

 回到顶部
帅哥哟,离线,有人找我吗?
uime
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/23 15:58:26    Post IP:218.28.92.185[显示全部帖子]

2、在公式测试的过程中,如果不是从起始k线开始测试,中间没有信号?


 回到顶部
帅哥哟,离线,有人找我吗?
uime
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/25 9:46:07    Post IP:123.11.84.191[显示全部帖子]

以螺纹钢指数为标的来进行测评,如果从螺纹钢上市就开始测评有数据。
如果从2010年开始测评就没有任何测试数据

 回到顶部
帅哥哟,离线,有人找我吗?
uime
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/25 11:06:01    Post IP:123.11.84.191[显示全部帖子]

时段限制在哪儿

 回到顶部
帅哥哟,离线,有人找我吗?
uime
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/25 11:07:39    Post IP:123.11.84.191[显示全部帖子]

现在倒好,开始一段时间还好,多了反倒没信号了,请问什么情况下会有时段限制?
如何设置时段限制?

 回到顶部
帅哥哟,离线,有人找我吗?
uime
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/25 11:08:21    Post IP:123.11.84.191[显示全部帖子]

测评时,不是自动被充的吗?

 回到顶部
帅哥哟,离线,有人找我吗?
uime
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/25 11:11:29    Post IP:123.11.84.191[显示全部帖子]

工具-数据接收-补充后没有解决问题


 回到顶部
帅哥哟,离线,有人找我吗?
uime
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/25 11:12:37    Post IP:123.11.84.191[显示全部帖子]

我把数据换成参数后的代码

//cash现金存量      DYNAINFO( 12) 涨跌  TACCOUNT(19) 当前可用资金  
//当平仓资金权益从最高点回撤大于10%小于20%,开仓比例为本金的1.5%;
// 当平仓资金权益从最高点回撤大于20%小于30%,仓位使用为本金的0.75%;
// 当平仓资金权益从最高点回撤大于30%小于40%,仓位使用为本金的0.4%;
// 正常情况(平仓资金权益从最高点回撤小于10%),开仓比例为本金的3%;

variable:position=0,maxc=cash(0),N=0,myentryprice=0,myexitprice=0;
input:jinru(10,5,100,1),yingli(3,1,10,1),zhisun(15,5,100,2),tuichu(10,5,20,1);
zhis:=zhisun/10;
hi20:ref(hhv(h,jinru),1);
lo20:ref(llv(l,jinru),1);
TR1 := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR : =MA(TR1,20);


//如果没有持仓,开多仓
IF POSITION=0 AND BARPOS>jinru  THEN BEGIN
N:=atr;
if CASH(0)<MAXC*0.9 and CASH(0)>MAXC*0.8 THEN PosNum:=cash(0)*0.015/n/MULTIPLIER ;
else if
CASH(0)<MAXC*0.8 and CASH(0)>MAXC*0.7 THEN PosNum:=cash(0)*0.0075/N/MULTIPLIER;
else if
CASH(0)<MAXC*0.7 and CASH(0)>MAXC*0.6 THEN PosNum:=cash(0)*0.004/N/MULTIPLIER;
else if
else PosNum:=cash(0)*0.03/N/MULTIPLIER;
posnum:=floor(posnum);
if H>hi20  THEN BEGIN
MYENTRYPRICE := IF(OPEN>hi20+MINDIFF ,OPEN ,hi20+MINDIFF ) ;
//posnum:=intpart (asset*0.02/N/MULTIPLIER);
BUY(cash(0)>(posnum*myentryprice+posnum*zhis*N*MULTIPLIER),POSNUM,LIMITR,MYENTRYPRICE);
POSITION := 1 ;
end
if L<lo20 then BEGIN
MYENTRYPRICE := IF(OPEN<lo20+MINDIFF ,OPEN ,lo20-MINDIFF ) ;
BUYshort(cash(0)>(posnum*myentryprice+posnum*zhis*N*MULTIPLIER),POSNUM,LIMITR,MYENTRYPRICE);
POSITION := -1 ;
end
end




//如果已经开仓,加多仓;
if position>0 and h>myentryprice+yingli*N and (cash(0)-posnum*h-(holding+posnum)*zhis*N*MULTIPLIER)>0 THEN
begin
myentryprice:=if(open>enterprice+yingli*N+mindiff,open,enterprice+yingli*N+mindiff);
buy(1,posnum,limitr,myentryprice);
position:=position+1;
myentryprice:=myentryprice+yingli*N;
end
//如果已经开空仓,加仓;
if position<0 and l<myentryprice-yingli*N and (cash(1)-posnum*h-(abs(holding)+posnum)*zhis*N*MULTIPLIER)>0 THEN
begin
myentryprice:=if(open<enterprice-yingli*N+mindiff,open,enterprice-yingli*N+mindiff);
buyshort(1,posnum,limitr,myentryprice);
position:=position-1;
myentryprice:=myentryprice-yingli*N;
end
//多仓出局
if position>0 and low<enterprice-zhis*N then
begin
MYEXITPRICE := IF(OPEN<MYENTRYPRICE-zhis*N ,OPEN ,MYENTRYPRICE-zhis*N ) ;
MYEXITPRICE := FLOOR(MYEXITPRICE/MINDIFF)*MINDIFF ;
SELL( 1,0,LIMITR,MYEXITPRICE);
POSITION := 0 ;
if maxc<cash(0) then maxc:=cash(0);
END

//空仓止损
if position<0 and high>enterprice+zhis*N then
begin
MYEXITPRICE := IF(OPEN>MYENTRYPRICE+zhis*N ,OPEN ,MYENTRYPRICE+zhis*N ) ;
MYEXITPRICE := ceiling(MYEXITPRICE/MINDIFF)*MINDIFF ;
SELLshort( 1,0,LIMITR,MYEXITPRICE);
POSITION := 0 ;
if maxc<cash(0) then maxc:=cash(0);
END

{pdtimelimit:= position>0 and all(close<myentryprice+3*n,10);
pktimelimit:=position<0 and all(close>myentryprice-3*N,10);

if pdtimelimit and holding>0 then 
begin
sell(pdtimelimit,0,close);
position:=0;
end

if pktimelimit  and holding<0 then
begin
sellshort(pktimelimit,0,close);
position:=0;
end

if position=0 and  maxc<cash(0) then maxc=cash(0);

}
持仓:holding,linethick0;
maxasset:maxc,noaxis;
资产:asset,noaxis;
可用现金:cash(0),linethick0;


 回到顶部
帅哥哟,离线,有人找我吗?
uime
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/25 12:41:00    Post IP:123.11.84.191[显示全部帖子]

最早的那段代码,放在rb13上maxc无输出,

 回到顶部
帅哥哟,离线,有人找我吗?
uime
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:27 威望:0 精华:0 注册:2013/5/9 7:26:16
  发帖心情 Post By:2015/6/25 13:30:21    Post IP:123.11.84.191[显示全部帖子]

把这两行去掉,在主坐标中应该有一条maxc的曲线,结果没有

 回到顶部
总数 12 1 2 下一页