以文本方式查看主题

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

--  作者:代人发贴
--  发布时间:2018/5/17 13:10:51
--  如何改成后台
v1:=ema(close,2);
v2:=ema(ema(close,5)*1.01,10);
多1:=CROSS(v1,v2);
空1:=CROSS(v2,v1);
多开1:=BARSLAST(多1);
空开1:=BARSLAST(空1);
开仓1:=IF(多开1<=空开1, 1,2);
开多1:=(开仓1=1) ;
开空1:=(开仓1=2) ;
variable:ss:=1;
variable:num=0;
if ss=s then num:=0;
if ss=1 then num:=1;
if  开多1   then 
begin
TSELLSHORT(1,HOLDING,MKT);
Tbuy(开多1,ss,MKT);
if num=1    then
ss:=ss+1;
else if num=0   then
ss:=ss-1;
end
if  开空1   then 
begin
Tbuyshort(1 ,1,MKT);
Tbuyshort(开空1,ss,MKT);
if num=1    then
ss:=ss+0.1;
else if num=0   then
ss:=ss-1;
end

v1:=ema(close,2);
v2:=ema(ema(close,5)*1.01,10);
多1:=CROSS(v1,v2);
空1:=CROSS(v2,v1);
多开1:=BARSLAST(多1);
空开1:=BARSLAST(空1);
开仓1:=IF(多开1<=空开1, 1,2);
开多1:=(开仓1=1) ;
开空1:=(开仓1=2) ;
variable:ss:=1;
variable:num=0;
if ss=s then num:=0;
if ss=1 then num:=1;
if  开多1   then 
begin
TSELLSHORT(1,HOLDING,MKT);
Tbuy(开多1,ss,MKT);
if num=1    then
ss:=ss+1;
else if num=0   then
ss:=ss-1;
end
if  开空1   then 
begin
Tbuyshort(1 ,1,MKT);
Tbuyshort(开空1,ss,MKT);
if num=1    then
ss:=ss+0.1;
else if num=0   then
ss:=ss-1;
end

--  作者:FireScript
--  发布时间:2018/5/17 13:18:32
--  
 
v1:=ema(close,2);
v2:=ema(ema(close,5)*1.01,10);
多1:=CROSS(v1,v2);
空1:=CROSS(v2,v1);
多开1:=BARSLAST(多1);
空开1:=BARSLAST(空1);
开仓1:=IF(多开1<=空开1, 1,2);
开多1:=(开仓1=1) ;
开空1:=(开仓1=2) ;
GLOBALVARIABLE:ss:=1;
GLOBALVARIABLE:num=0;
if ss=s then num:=0;
if ss=1 then num:=1;
if  开多1   then
begin
TSELLSHORT(1,TSELLHOLDINGEX(1,\'\',\'\'),MKT);
Tbuy(开多1,ss,MKT);
if num=1    then
ss:=ss+1;
else if num=0   then
ss:=ss-1;
end
if  开空1   then
begin
Tbuyshort(1 ,1,MKT);
Tbuyshort(开空1,ss,MKT);
if num=1    then
ss:=ss+0.1;
else if num=0   then
ss:=ss-1;
end


全局变量后台和图表用的不一样,替换下即可。此外下单语句的语法也要注意下,这个去看下函数说明就OK了。holding在后台是不可用的。后台可以直接读取指定方向,指定品种,指定账号的持仓。比如 TSELLHOLDINGEX这个函数。