以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  后台预警公示  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=85090)

--  作者:wzsunshao
--  发布时间:2015/9/11 14:59:53
--  后台预警公示
老师们,今天试着把一图表交易公式修改为后台交易公示,在进行预警模式测试时发现没有预警信号,图标是有信号,进出仓条件没有修改,看看问题在哪里?

////////

ZH1:\'600802\';

PZ1:\'IF09\';

input:ss(1,1,100,1);

开多平空条件:=cross(aa,bb);

开空平多条件:=cross(bb,aa);

//交易系统

if开多平空条件THEN BEGIN

tsellshort(TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1);//平空

tbuy(TBUYHOLDINGEX(ZH1,PZ1,0)=0,ss,MKT,0,ZH1,PZ1);//开多

end

if开空平多条件THEN BEGIN

tsell(TBUYHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1);//平多

tbuyshort(TSELLHOLDINGEX(ZH1,PZ1,0)=0,ss,MKT,0,ZH1,PZ1);//开空

end

//止盈系统

INPUT:B1(45,30,100,5),B2(2,1,5,1);

variable:maxprofit=0;//有仓位时最大获利幅度

variable:win=0;//当前持仓状态下的最大盈利

variable:win2=0;//最大盈利后的回调幅度

if TBUYHOLDINGEX(ZH1,PZ1,0)>0 and enterbars>0 then begin

 win:=(c-enterprice)/enterprice*100; //记录最大盈利,开仓以来最高价(hhv(h,enterbars+1));

 if win>maxprofit then maxprofit:=win;

 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度

end

if TSELLHOLDINGEX(ZH1,PZ1,0)>0 and enterbars>0 then begin

 win:=(enterprice-c)/enterprice*100; //记录最大盈利,开仓以来最低价(llv(l,enterbars+1));

 if win>maxprofit then maxprofit:=win;

 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度

end

 

多仓盈利空间:=(hhv(h,enterbars+1)-enterprice)/enterprice*100

空仓盈利空间:=(enterprice-llv(h,enterbars+1)/enterprice*100

//出现最高盈利后,回落到盈利的60%平仓出场//

if win2 >=B1 then begin

止多赢:TSELL(多仓盈利空间>B2 AND TBUYHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1),COLORYELLOW;

止空赢:TSELLSHORT(空仓盈利空间>B2 AND TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1),COLORYELLOW;

maxprofit:=0;

win:=0;

win2:=0;

end

 

//止损系统

INPUT:k1(0.7,0.3,3,0.1);

IF TBUYHOLDINGEX(ZH1,PZ1,0)>0 AND (enterprice-c)/enterprice*100>k1 THEN  BEGIN

止多损:TSELL(TBUYHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1),COLORRED;

END

IF  TSELLHOLDINGEX(ZH1,PZ1,0)>0 AND (c-enterprice)/enterprice*100>K1 THEN BEGIN

止空损:TSELLSHORT(TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1),COLORGREEN;

END

 

//监控未成交单

WCJ:=TREMAINQTY(0,ZH1,PZ1);

IF WCJ<>0 THEN BEGIN

A:=WCJ;

END

 

//对未成交单撤单

IF WCJ>0 THEN BEGIN

TCANCELEX(1,0,ZH1,PZ1 );

DRAWTEXTEX(1 ,0 ,0 ,0 ,\'提示:有未成交单撤单!\'  ),COLORYELLOW ;

END

 

//监控持仓和资金状况

当前持仓量:=THOLDING;

当前可用资金:=TACCOUNT(19);

DEBUGOUT(\'当前持仓量%.2f\',当前持仓量 );

DEBUGOUT(\'当前可用资金%.2f\',当前可用资金 );


--  作者:jinzhe
--  发布时间:2015/9/11 15:08:44
--  
像enterbars和enterprice你都要改成后台的tenterbars和tenterprice
--  作者:wzsunshao
--  发布时间:2015/9/11 15:15:39
--  
这个错误仅存在止盈和止损模块中,去除这两个模块后,公式是否正确

////////

ZH1:\'600802\';

PZ1:\'IF09\';

input:ss(1,1,100,1);

开多平空条件:=cross(aa,bb);

开空平多条件:=cross(bb,aa);

//交易系统

if 开多平空条件 THEN BEGIN

tsellshort(TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1);//平空

tbuy(TBUYHOLDINGEX(ZH1,PZ1,0)=0,ss,MKT,0,ZH1,PZ1);//开多

end

if  开空平多条件 THEN BEGIN

tsell(TBUYHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,ZH1,PZ1);//平多

tbuyshort(TSELLHOLDINGEX(ZH1,PZ1,0)=0,ss,MKT,0,ZH1,PZ1);//开空

end


//监控未成交单

WCJ:=TREMAINQTY(0,ZH1,PZ1);

IF WCJ<>0 THEN BEGIN

A:=WCJ;

END

 

//对未成交单撤单

IF WCJ>0 THEN BEGIN

TCANCELEX(1,0,ZH1,PZ1 );

DRAWTEXTEX(1 ,0 ,0 ,0 ,\'提示:有未成交单撤单!\'  ),COLORYELLOW ;

END

 

//监控持仓和资金状况

当前持仓量:=THOLDING;

当前可用资金:=TACCOUNT(19);

DEBUGOUT(\'当前持仓量%.2f\',当前持仓量 );

DEBUGOUT(\'当前可用资金%.2f\',当前可用资金 );


--  作者:jinzhe
--  发布时间:2015/9/11 15:18:07
--  

tsellshort(TSELLHOLDINGEX(ZH1,PZ1,0)>0,ss,MKT,0,0,ZH1,PZ1);//平空

并不只有平空,你所有的下单语句里面,都少了一个0


--  作者:wzsunshao
--  发布时间:2015/9/14 17:08:47
--  
请问,后台程序化交易有自动持仓矫正功能吗,我在后台模拟交易中发现,手动平仓账户持仓后,后台程序会自动校正部分持仓,但是有些又不能矫正,这是什么原因造成的?
--  作者:wzsunshao
--  发布时间:2015/9/14 17:09:54
--  
是不是预警信号栏里留存有预警信息的,会自动校正?
--  作者:jinzhe
--  发布时间:2015/9/14 17:19:09
--  

具体什么情况,你需要调试一下才能知道,把所有的下单条件调试出来,都满足说明系统没错,

系统不会什么“矫正”,开仓下单,就是表示开仓条件满足


--  作者:wzsunshao
--  发布时间:2015/9/15 14:01:58
--  
后台如果下单没能成交,后续的撤单和追单代码如何编写呢
--  作者:jinzhe
--  发布时间:2015/9/15 14:06:26
--  
系统自带的功能就有
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:客人
--  发布时间:2015/9/17 9:40:18
--  
帮忙看看,后台如下语句为何在屏幕指定区域没显示

IF TIME>093000 AND TIME<150000   THEN BEGIN
  DRAWTEXTEX(1 ,1,500,500,\'提示:系统交易时间!\'),COLORYELLOW;
 END