以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 总共16个begin和16个end, 为什么说end缺少begin? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=175858) |
-- 作者:OscarDeng -- 发布时间:2020/5/5 10:35:26 -- 总共16个begin和16个end, 为什么说end缺少begin? //1.如果之前的开空持仓剩余数并且比现在空头开仓数还要多, 那就用之前的开空持仓剩余数 IF TSELLHOLDINGEX("","",1)>=空头开仓数 THEN 空头开仓数=TSELLHOLDINGEX("","",1); //2.如果有平空挂单,之前的开空持仓剩余数比现在空头开仓数少, 但是有平空单且总空头持仓比现在开仓数要多,那就用把要撤的单取消掉。 IF TSELLHOLDINGEX("","",2)>=空头开仓数 and TSELLHOLDINGEX("","",1)<空头开仓数 THEN BEGIN TCANCEL(TSELLHOLDINGEX("","",3)>0,4); 空头开仓数=TSELLHOLDINGEX("","",2); END //3.如果有平空挂单,总空头持仓比现在开仓数要少 IF TSELLHOLDINGEX("","",1)<=空头开仓数 THEN BEGIN
TCANCEL(TSELLHOLDINGEX("","",3)>0,4);
空头开仓数=INTPART(空头开仓数-TSELLHOLDINGEX("","",1)); //3.1 达到开空条件, 先检测程序化是否平衡先, 如果是平衡状态, 开始空
IF(INTPART(空头开仓数)<1 ,1,INTPART(空头开仓数));//空头开仓数不能为0 //注意holding是策略的理论持仓,他不管实际仓位, TSELLHOLDINGEX是实际开空数 //a.看成交量 //b.看卖一和买一的中间加个 DYNAINFO(34)卖一价;DYNAINFO(28)买一价; DYNAINFO(208)最小变动单位; IF 空头开仓数>16 AND 成交量比例>2 THEN//如果是成交量千分之二那么多, 建议分两次下而且用加仓的方式来操作。 BEGIN
IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK; END IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK; END IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN BEGIN
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)),NOATTACK; END END IF 空头开仓数>16 AND 成交量比例<=2 THEN BEGIN
IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK; END IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK; END IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN BEGIN
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)),NOATTACK; END END IF 空头开仓数<=16 AND 空头开仓数>=4 THEN BEGIN IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK; END IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK; END IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN BEGIN
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK; END END IF 空头开仓数<=3 AND 空头开仓数>=2 THEN //注意holding是策略的理论持仓,他不管实际仓位 BEGIN
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK; END IF 空头开仓数=1 THEN //注意holding是策略的理论持仓,他不管实际仓位 BEGIN
IF DYNAINFO(25)>DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(34)),NOATTACK;//DYNAINFO(31) 是买一量, DYNAINFO(25) 是卖一量,
IF DYNAINFO(25)<DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(28)),NOATTACK; END //开空信号 END |
-- 作者:yukizzc -- 发布时间:2020/5/5 17:41:38 -- IF TSELLHOLDINGEX(\'\',\'\',1)>=空头开仓数 THEN 空头开仓数:=TSELLHOLDINGEX(\'\',\'\',1); 默认值用两个单引号,不是双引号。 赋值语句是:=不是= |