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

函數不能在IF控制語句中被引用的原理和解決方案 [金字塔]

  • 咨詢內容:

    金字塔的公式系統在處于逐周期模式計算時,像例如REF,MA等帶有統計性質的函數以及指標公式引用無法直接使用在IF語句之中(序列運行模式可以),因為帶變量判斷的IF語句會在某些周期無法調用這些統計函數而導致計算結果出現錯誤。解決辦法是將這些函數放到IF語句之外去執行。
    目前有下列函數受此限制:

    "RET","LOD","HOD","VALUEWHEN","MD","LAST","ANY","SETVAL","FILTERX","BARSCOUNT","BARSLAST","BARSSINCE","COUNT","HHV","HHVBARS","LLV","LLVBARS",
    "MA","DMA","EMA","FILTER","REF","WMA","TMA","SMA","SUM","SUMBARS","CROSS","LONGCROSS","AVEDEV","DEVSQ","FORCAST","SLOPE","STD","STDP","VAR","VARP","SAR","BETA","COVAR","ALL",
    "BACKSET","REFX","PARTLINE","SFILTER","RELATE","ALIKE","FILLRGN","NEWHBARS","NEWLBARS","DRL","GEOMEAN","HARMEAN","KURT","SKEW","PEARSON","RSQ",
    "STEYX","INTERCEPT"

    例如:

    input:atrn1(1,1,10),atrn2(5,2,20);

    if atrn1<atrn2 and vol>20000 then
    begin
        TR1:= MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
        ATRn_1:= MA(TR1,atrn1);
        ATRn_2:= MA(TR1,atrn2);
    end;

    上述公式語句由于將REF和MA函數放在了IF語句之中,所以該公式無法正常編譯。解決辦法是將他們放到IF語句之外去執行:

    input:atrn1(1,1,10),atrn2(5,2,20);

    A1:=REF(CLOSE,1);
    MA1:=MA(TR1,atrn1);
    MA2:=MA(TR1,atrn2);

    if atrn1<atrn2 and vol>20000 then
    begin
        TR1:= MAX(MAX((HIGH-LOW),ABS(A1-HIGH)),ABS(A1-LOW));
        ATRn_1:= MA1;
        ATRn_2:= MA2;
    end;

    這樣經過修正的公式就可以正常編譯了,此外公式還將兩次REF語句引用合并到一個語句中,這樣做還可以提高公式系統的運行效率,因為REF統計語句只執行了一次。

    [此貼子已經被作者于2010-11-15 20:54:19編輯過]

     

  • 金字塔客服: 以下是引用admin在2009-11-2 10:19:35的發言:

    金字塔的公式系統由于支持IF語句的變量運行,所以像例如REF,MA等帶有統計性質的函數無法直接使用在IF語句之中,因為帶變量判斷的IF語句會在某些周期無法調用這些統計函數而導致計算結果出現錯誤。解決辦法是將這些函數放到IF語句之外去執行。
    目前有下列函數受此限制:

    "RET","LOD","HOD","VALUEWHEN","MD","LAST","ANY","SETVAL","FILTERX","BARSCOUNT","BARSLAST","BARSSINCE","COUNT","HHV","HHVBARS","LLV","LLVBARS",
    "MA","DMA","EMA","FILTER","REF","WMA","TMA","SMA","SUM","SUMBARS","CROSS","LONGCROSS","AVEDEV","DEVSQ","FORCAST","SLOPE","STD","STDP","VAR","VARP","SAR","BETA","COVAR","ALL",
    "BACKSET","REFX","PARTLINE","SFILTER","RELATE","ALIKE","FILLRGN","NEWHBARS","NEWLBARS"

    例如:

    input:atrn1(1,1,10),atrn2(5,2,20);

    if atrn1<atrn2 and vol>20000 then
    begin
        TR1:= MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
        ATRn_1:= MA(TR1,atrn1);
        ATRn_2:= MA(TR1,atrn2);
    end;

    上述公式語句由于將REF和MA函數放在了IF語句之中,所以該公式無法正常編譯。解決辦法是將他們放到IF語句之外去執行:

    input:atrn1(1,1,10),atrn2(5,2,20);

    A1:=REF(CLOSE,1);
    MA1:=MA(atrn1,atrn1);
    MA2:=MA(atrn2,atrn2);

    if atrn1<atrn2 and vol>20000 then
    begin
        TR1:= MAX(MAX((HIGH-LOW),ABS(A1-HIGH)),ABS(A1-LOW));
        ATRn_1:= MA1;
        ATRn_2:= MA2;
    end;

    這樣經過修正的公式就可以正常編譯了,此外公式還將兩次REF語句引用合并到一個語句中,這樣做還可以提高公式系統的運行效率,因為REF統計語句只執行了一次。

    [此貼子已經被作者于2009-11-2 10:22:11編輯過]

    input:atrn1(1,1,10),atrn2(5,2,20);

    A1:=REF(CLOSE,1);
    MA1:=MA(atrn1,atrn1);
    MA2:=MA(atrn2,atrn2);

    if atrn1<atrn2 and vol>20000 then
    begin
        TR1:= MAX(MAX((HIGH-LOW),ABS(A1-HIGH)),ABS(A1-LOW));
        ATRn_1:= MA1;
        ATRn_2:= MA2;
    end;
    這紅色的語句有問題吧

     

  • 用戶回復:

    呵呵呵,你好眼力,是筆誤。自己看幫助就知道了。。。。。

     

  • 網友回復:

    還有一處好象有問題!

    input:atrn1(1,1,10),atrn2(5,2,20);

    A1:=REF(CLOSE,1);
    MA1:=MA(tr1,atrn1);  //語句順序錯了!這樣tr1會提示沒有定義的!應直接把TR1:= MAX(MAX((HIGH-LOW),ABS(A1-HIGH)),ABS(A1-LOW));也放在IF語句外面,并在MA1前面!
    MA2:=MA(tr1,atrn2);

    if atrn1<atrn2 and vol>20000 then
    begin
        TR1:= MAX(MAX((HIGH-LOW),ABS(A1-HIGH)),ABS(A1-LOW));
        ATRn_1:= MA1;
        ATRn_2:= MA2;
    end;

    [此貼子已經被作者于2010-5-22 11:02:21編輯過]

     

  • 網友回復:

 

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

可聯系技術人員 QQ: 262069696  點擊在線交流進行 有償 編寫!不貴!點擊查看價格!

 


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

相關文章

    指定的模型還沒有相關內容!
主站蜘蛛池模板: 欧美性大战久久久久xxx| 车上做好紧我太爽了再快点| 孕交动漫h无遮挡肉| 九九热在线视频播放| 欧美精品中文字幕亚洲专区| 免费在线看v片| 美女脱个精光让男人桶爽| 国产午夜三级一区二区三| 欧美污视频网站| 国产精品视频白浆免费视频| h在线观看免费| 思思久久99热只有频精品66| 久久久久人妻一区精品色欧美 | 台湾佬在线观看| 韩国免费乱理论片在线观看2018| 国产精品va一级二级三级| 91精品国产高清久久久久| 天天狠天天透天干天天怕∴| 三男挺进一女爽爽爽视频| 无上神帝天天影院| 久久亚洲sm情趣捆绑调教| 日韩国产成人无码AV毛片| 国产电影麻豆入口| 99久久精品国产一区二区蜜芽 | 欧美va天堂在线影院| 亚洲天堂中文字幕在线观看| 波多野结衣电影免费在线观看 | 美女张开双腿让男生捅| 国产xxxx做受视频| 草莓视频污在线观看| 国产乱码一区二区三区爽爽爽| 香蕉97超级碰碰碰碰碰久| 国产成人精品久久| 99re在线观看| 91成人免费版| 草莓黄色app| 男人天堂网www| 欧洲乱码伦视频免费| 日本无卡码一区二区三区| 小雪把双腿打开给老杨看免费阅读 | 亚洲精品日韩中文字幕久久久|