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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]后台,每次突破都开仓。HOLDING一直等于0?

   

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


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

主题:[求助]后台,每次突破都开仓。HOLDING一直等于0?

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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
[求助]后台,每次突破都开仓。HOLDING一直等于0?  发帖心情 Post By:2011/8/29 16:08:07    Post IP:113.72.112.98[只看该作者]

INPUT:FIXLOT(1,1,10,1),
      DON@(61,1,100,10),
      AMA@(6,1,50,5),
      ATR@(20,10,55,10),
      ATRSL(10,5,40,5),
      RISK(40000,1,1000000,1),
      ATRPS(20,0,20,5);

//Donchain
UP :HHV(HIGH,DON@);
DOWN :LLV(LOW,DON@);
//AMA
DIR:=ABS(CLOSE-REF(CLOSE,AMA@));
VIR:=SUM(ABS(CLOSE-REF(CLOSE,1)),AMA@);
ER:=DIR/VIR; CS:=ER*(2/3-2/31)+2/31; CQ:=CS*CS;
AMA:=DMA(CLOSE,CQ);

//AMA_TTS

//ATR
ATR :=MA(TR,ATR@);

//止盈值
TP:REF(AMA,1)-REF(ATR,1)*ATRPS*0.1;
TM:REF(AMA,1)+REF(ATR,1)*ATRPS*0.1;

//LOTS
//LOT:=ROUND(RISK/(REF(ATR,1)*0.1*ATRSL*300));
//MAXLOT:=FLOOR(cash(0)*0.8/(H*0.12*300));
//MINLOT:=1;
//LOTS:=IFELSE(BETWEEN(LOT,MAXLOT,MINLOT),LOT,IFELSE(LOT>MAXLOT,MAXLOT,MINLOT));
LOTS:=FIXLOT;

//止损值
STOP_LOSS:=ATRSL*0.1*REF(ATR,TENTERBARS+1);


//最大账面盈利
//LUP:=REF(UP,TENTERBARS+1);
//MONEYL:=UP-LUP;

//SDOWN:=REF(DOWN,TENTERBARS+1);
//MONEYS:=SDOWN-DOWN;

//多头止损,平仓,开仓
LSL:=TENTERPRICE-STOP_LOSS;
LTP:=L<=TP;

LO :=H>=REF(UP,1);
LONG:=REF(UP,1);

//空头止损,平仓,开仓
SSL:=TENTERPRICE+STOP_LOSS;
STM:=H>=TM;

SO :=L<=REF(DOWN,1);
SHORT:=REF(DOWN,1);

// 仓位
MYHOLDING:=HOLDING;

//调试输出
KD:=MYHOLDING=0 AND LO>0;
KK:=MYHOLDING=0 AND SO>0;
ZSD:=MYHOLDING>0 AND C<=LSL;
ZSK:=MYHOLDING<0 AND C>=SSL;
ZYD:=MYHOLDING>0 AND LTP>0;
ZYK:=MYHOLDING<0 AND STM>0;
DEBUGFILE('E:\编程学习\金字塔\模型\NTTS后台调试\TEST.TXT','开多=%.0f',KD);
DEBUGFILE('E:\编程学习\金字塔\模型\NTTS后台调试\TEST.TXT','开空=%.0f',KK);
DEBUGFILE('E:\编程学习\金字塔\模型\NTTS后台调试\TEST.TXT','止损多=%.0f',ZSD);
DEBUGFILE('E:\编程学习\金字塔\模型\NTTS后台调试\TEST.TXT','止损空=%.0f',ZSK);
DEBUGFILE('E:\编程学习\金字塔\模型\NTTS后台调试\TEST.TXT','止盈多=%.0f',ZYD);
DEBUGFILE('E:\编程学习\金字塔\模型\NTTS后台调试\TEST.TXT','止盈空=%.0f',ZYK);


//IF VALID(REF(ATR,1))=1 && VALID(REF(AMA,1))=1 THEN BEGIN

//多头平仓
IF MYHOLDING>0 THEN
  
   BEGIN IF LTP>0 THEN
            BEGIN
                 SELL(1,MYHOLDING,LIMITR,CLOSE);
                 TSELL(1,LOTS,MKT,0,0,'800166'); //ELSE SELL(LDR>0,HOLDING,STOPR,LDRDEAL);(保证这是止盈)
            END  
         IF L<=LSL THEN
            BEGIN
                 SELL(1,MYHOLDING,LIMITR,CLOSE);
                 TSELL(1,LOTS,MKT,0,0,'800166');
            END
   END

//空头平仓  
IF MYHOLDING<0 THEN
  
   BEGIN IF STM>0 THEN
         BEGIN
              SELLSHORT(1,MYHOLDING,LIMITR,CLOSE);//发信号给HOLDING
              TSELLSHORT(1,MYHOLDING,MKT,0,0,'800166'); //ELSE SELLSHORT(SDR>0,HOLDING,STOPR,SDRDEAL);
         END
        
         IF H>=SSL THEN
         BEGIN
              SELLSHORT(1,MYHOLDING,LIMITR,CLOSE);//发信号给HOLDING
              TSELLSHORT(1,MYHOLDING,MKT,0,0,'800166');
         END    
   END
  
//开仓
IF MYHOLDING=0 THEN
   BEGIN
        IF LO>0 THEN
        BEGIN
             BUY(1,LOTS,LIMITR,CLOSE);//发信号给HOLDING
             TBUY(1,LOTS,MKT,0,0,'800166');
        END
       
        IF SO>0 THEN
        BEGIN
              BUYSHORT(1,LOTS,LIMITR,CLOSE);//发信号给HOLDING
              TBUYSHORT(1,LOTS,MKT,0,0,'800166');
        END
   END
//END   

 

由于多账户以及使用多系统关系。用THOLDING暂无法写条件,故暂用系统移植的方法写。

但问题是,今天测试,每次向下突破都开仓,这样说,是不是HOLDING在后台逐周期时,过了一支K线就HOLDING就重新变成零呢?

 

 


  


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2011/8/29 17:37:21    Post IP:58.246.57.26[只看该作者]

问题正在解决,根据难易程度不同,需要些时间,请耐心等待


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
阿火
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2011/8/30 8:01:02    Post IP:120.42.45.130[只看该作者]

myholding = holding

然后又在下面引用myholding 和直接使用 holding 这不一样

 

TENTERPRICE和tenterbars的变化会影响myholding的变化,致使最后一个周期时myholding=0

 

逐K线计算模式的一个特点是 前面的信号会影响后面的信号

[此贴子已经被作者于2011-8-30 8:29:25编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2011/8/30 9:44:54    Post IP:113.69.143.148[只看该作者]

那个MYHOLDING是因为之前写MYHOLDING=THOLDING.所以统一改而已。哦,这样的话,我想到用全局变量来判断是否开了仓,代替HOLDING的做用。老师觉得可行嘛?


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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2011/8/30 9:45:43    Post IP:113.69.143.148[只看该作者]

好。我对你们有信心

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/8/30 14:04:48    Post IP:58.246.57.26[只看该作者]

后台,可用EXTGBDATASET定义的全局变量来判断是否开仓


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部