您現在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識>>正文內容

定義的全局變量只能取值1或0,但DEBUGFILE顯示值成了-1,請問什么原因務請回復! [金字塔]

  • 咨詢內容:

    在后臺程式化(固定時間間隔,5秒輪詢一次)公式語句中定義了兩個變量:

    GLOBALVARIABLE:IFPKKD=1;
    GLOBALVARIABLE:IFPDKK=1;

    并設定,交易指令發(fā)生以后,上面對應的變量取值為0。也就是說,上面兩個全局變量按道理取值只能是1或0,但是DEBUGFILE輸出的日志記錄顯示這兩個變量是-1(實際情況是有時候為1或0,大部情況是-1),請問這是為什么?務請金字塔相關人員有個準確回復!

    下面是全部公式語句:

     


    //RUNMODE:0;
    INPUT:offset(2,1,40,1);
    INPUT:initialasset(10000000,1000000,100000000,1000000);
    GLOBALVARIABLE:AccountID='807697';  //指定交易賬戶

    ACCOUNTONLINE:=TACCOUNT2(3,'807697')>0;
    IF ACCOUNTONLINE=0 THEN DEBUGFILE('D:\HLPYIF_OFFLINE.TXT','807697不在線.0f',0);
    IF ACCOUNTONLINE=0 THEN EXIT;  //當帳戶不在線時停止執(zhí)行后面語句

    TRADETIME:=(DYNAINFO(207)>091502) AND (DYNAINFO(207)<151458); //限定交易時間內交易
    IF TRADETIME<>1 THEN EXIT;

    //GLOBALVARIABLE:IFBUYHOLDHY=1;
    //GLOBALVARIABLE:IFSELLHOLDHY=1;
    GLOBALVARIABLE:IFPKKD=1;
    GLOBALVARIABLE:IFPDKK=1;

    MULTIPIF:=300;

    LOTSIF:=INTPART(initialasset/CALLSTOCK('IF00',vtCLOSE,5,-1)/MULTIPIF/9);

     

    //IF (DYNAINFO(207)>=091500 AND DYNAINFO(207)<091600) OR (DYNAINFO(207)>=101500 AND DYNAINFO(207)<101600) OR (DYNAINFO(207)>=111500 AND DYNAINFO(207)<111600) OR (DYNAINFO(207)>=131500 AND DYNAINFO(207)<131600) OR (DYNAINFO(207)>=141500 AND DYNAINFO(207)<141600) THEN EXIT;
    //錯開換月時間

    //IF交易指令
    HPPOINTIF:=HHV(CALLSTOCK('IF00',vtHIGH,5,-offset),6);//高點
    LPPOINTIF:=LLV(CALLSTOCK('IF00',vtLOW,5,-offset),6);//低點
    PrebuyholdIF:=TBUYHOLDINGEX(AccountID,'IF00',1);//持有當前連續(xù)合約的多倉數
    PresellholdIF:=TSELLHOLDINGEX(AccountID,'IF00',1); //持有當前連續(xù)合約的空倉數
    DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF外HPPOINTIF=%.2f',HPPOINTIF);
    DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF外LPPOINTIF=%.2f',LPPOINTIF);
    DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF外IFPKKD=%.0f',IFPKKD);
    DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF外IFPDKK=%.0f',IFPDKK);
    DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF外CALLSTOCKIF00VTHIGH=%.2f',CALLSTOCK('IF00',vtHIGH,5,0));
    DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF外CALLSTOCKIF00VTLOW=%.2f',CALLSTOCK('IF00',vtLOW,5,0));
    DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF外DYNAINFO(207)%.5f',DYNAINFO(207));

    //IF交易觸發(fā)條件
    HBIF:=CALLSTOCK('IF00',vtHIGH,5,0)>HPPOINTIF;
    LBIF:=CALLSTOCK('IF00',vtLOW,5,0)<LPPOINTIF;
    //IF開始交易
    IF HBIF AND IFPKKD=1  THEN //平空開多
    BEGIN
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內CALLSTOCKIF00VTHIGH=%.2f',CALLSTOCK('IF00',vtHIGH,5,0));
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內HPPOINTIF=%.2f',HPPOINTIF);
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內LPPOINTIF=%.2f',LPPOINTIF);
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內IFPKKD=%.0f',IFPKKD);
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內IFPDKK=%.0f',IFPDKK);
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內DYNAINFO(207)%.5f',DYNAINFO(207));
      SENDMAIL(1,'yangdian@simpleasset.com;ztb2@hotmail.com;anniesun@hotmail.com','聯想臺式機金字塔公式HLPYIF公式語句定義的IF交易指令預警郵件','預警時間:'&NUMTOSTR(DYNAINFO(207),0)&'  品種:IF'&'  交易動作:平空開多'&'  預警價格:'&NUMTOSTR(CALLSTOCK('IF00',vtHIGH,5,0),2));
      IFPKKD:=0;//已發(fā)指令記錄,防固定輪詢追單
      IF PresellholdIF>0 THEN
      TSELLSHORT(1,PresellholdIF,MKT,0,0,AccountID,'IF00');  //平空,平空手數取此前持有的空單手數
      IF PrebuyholdIF=0 THEN
      TBUY(1,LOTSIF,MKT,0,0,AccountID,'IF00');//開多,開多手數根據最新價格計算
    END
      
    IF LBIF AND IFPDKK=1 THEN //平多開空,第二個條件防固定輪詢追單
    BEGIN
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內CALLSTOCKIF00VTLOW=%.2f',CALLSTOCK('IF00',vtLOW,5,0));
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內HPPOINTIF=%.2f',HPPOINTIF);
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內LPPOINTIF=%.2f',LPPOINTIF);
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內IFPKKD=%.0f',IFPKKD);
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內IFPDKK=%.0f',IFPDKK);
      DEBUGFILE('D:\HLPYIFRECORD\HLPYIF.TXT','IF內DYNAINFO(207)%.5f',DYNAINFO(207));
      SENDMAIL(1,'yangdian@simpleasset.com;ztb2@hotmail.com;anniesun@hotmail.com','聯想臺式機金字塔公式HLPYIF公式語句定義的IF交易指令預警郵件','預警時間:'&NUMTOSTR(DYNAINFO(207),0)&'  品種:IF'&'  交易動作:平多開空'&'  預警價格:'&NUMTOSTR(CALLSTOCK('IF00',vtLOW,5,0),2));
      IFPDKK:=0;
      IF PrebuyholdIF>0 THEN
      TSELL(1,PrebuyholdIF,MKT,0,0,AccountID,'IF00');   //平多,平多手數取此前持有的多單手數
      IF PresellholdIF=0 THEN
      TBUYSHORT(1,LOTSIF,MKT,0,0,AccountID,'IF00');     //開空,開空手數根據最新凈資產和價格計算
    END
    /////////////////////////////////IF公式段結束/////////////////////////////////////////////////

     

  • 金字塔客服: 補充:使用的是序列模式

     

  • 用戶回復: 明日開盤后測試

     

  • 網友回復:

    后臺怎么用 GLOBALVARIABLE?這個函數是圖表使用的。

    后臺使用EXTGBDATASET    EXTGBDATA

     

  • 網友回復: 以下是引用RogarZ在2013/6/24 16:13:39的發(fā)言:

    后臺怎么用 GLOBALVARIABLE?這個函數是圖表使用的。

    后臺使用EXTGBDATASET    EXTGBDATA

    EXTGBDATASET  EXTGBDATA全局變量將讀變量值存在硬盤,類似于注冊表變量,關機之后變量值仍然存在,如果不同公式用同一變量名,將發(fā)生紊亂。但沒有在你們的任何資料上看到過后臺只能用EXTGBDATASET    EXTGBDATA,并且參加過數次你們在上海的培訓,專門與培訓老師作過交流,專門請教過培訓老師GLOBALVARIBLE的用法,專門請教過GLOBALVARIBLE用于后臺程序化交易的問題。如果真的后臺不能用GLOBALVARIBLE,請金字塔方面給出一個權威的答復或說明,并建議在手冊和軟件自帶的函數說明里明確。

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 1145508240  有需要幫忙請點擊這里留言!!!進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 在线成人综合色一区| 久久99热精品免费观看牛牛| 亚洲av无码专区在线| 久久国产乱子伦精品免| 中文字幕丰满乱子伦无码专区| chinese体育生gayxxxxhd| 2020因为爱你带字幕免费观看全集| 免费福利在线观看| 美国农夫激情在线综合| 狠狠精品久久久无码中文字幕| 男人扒开女人下面狂躁动漫版| 美日韩在线视频| 美女一级一级毛片| 波多野结衣和乡下公在线观看| 最近2019好看的中文字幕| 成人无码WWW免费视频| 国内精品伊人久久久久妇| 国产女人aaa级久久久级| 免费观看女人与狥交视频在线| 亚洲国产精品一区二区久| 久久99精品国产麻豆不卡| 99爱免费观看视频在线| 91精品国产免费久久久久久青草| 精品人妻少妇一区二区三区在线| 欧美成人三级一区二区在线观看 | 精品人妻少妇一区二区三区在线| 欧美日韩国产在线人成| 日批视频在线免费看| 国产美女被爆羞羞视频| 国产乱了真实在线观看| 亚洲欧美日韩中文字幕在线一| 久久中文字幕久久久久91| 97久久精品午夜一区二区| 蜜臀久久99精品久久久久久 | 四虎国产精品免费久久| 亚洲成av人影片在线观看| 中日韩欧美视频| 中文字幕在线观看你懂的| 精品国产精品国产| 日韩视频免费在线播放| 在线免费国产视频|