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

DrawLine為什么不劃線? [金字塔]

  • 咨詢內容: 以下代碼,在if條件滿足時,如何在左峰跟右峰的最高點之間畫線呢,這時候什么ref,hhv之類的函數都不能用了,很困惑。

    代碼如下:

    variable:lastPeakLow:=0;
    variable:lastPeakHigh:=0,lastPeakIndex:=0,lastPeakBreak:=0;
    //右峰數據
    lPeakLow:=Ref(Low,1);
    lPeakHigh:=Ref(High,1);
    //上一根K線是5根K線中的最高點,等待突破
    lastPeak:=REF(H,1)=HHV(H,左腿長);
    if lastPeak then BEGIN
         lastPeakBreak:=0;
         lastPeakIndex:=BARPOS-1;
         lastPeakLow:=lPeakLow;
         lastPeakHigh:=lPeakHigh;
         //DrawIcon(1, lastPeakHigh, 1);
    end;

     
    //尋找左峰,先記錄左峰數據:
    //尋找峰谷距離內的最高點
    prePeakHigh:=HHV(H,峰谷最寬);
    //最高點與當前峰的距離
    prePeakDist:=HHVBARS(H,峰谷最寬);
    //最高點K線的橫坐標
    prePeakIndex:=BARSCOUNT(c)-prePeakDist;
    //雙峰間的最低點
    preLow:=LLV(L,BARSCOUNT(c)-prePeakIndex);
    //判斷最高點是否為一個峰,即:該K線的最高點是5根K線中最高的,最低點不是5根中最低的
    prePeak:=REF(H,prePeakDist)=HHV(Ref(H,prePeakDist),左腿長);// and REF(L,prePeakDist)!=LLV(Ref(L,prePeakDist),左腿長);
    //如果不成立,則清除最高點數據,不記錄為左峰
    //成立,則計算雙峰相關數據
    if prePeak=0 then prePeakCount:=0;
    else
    //右峰必須達到的最低點
    highLimit:=preLow+(prePeakHigh-preLow)*0.8;

    //右峰突破時,記錄lastPeak信息
    if lastPeakBreak=0 and Low<lastPeakLow then begin
        //DRAWICON(1, lastPeakHigh, 5);
        //DRAWNumber(1, lastPeakHigh+20, lastPeakIndex, 7);
        //DRAWNumber(1, lastPeakHigh+30, lastPeakLow, 2);
        //DRAWNumber(1, lastPeakHigh+20, lastPeakHigh, 2);
        //突破成立lastPeak時,比較lastPeak和prePeak,看看是不是一個M?
        //是M,則標記,不是,直接記錄lastPeak為prePeak

        if prePeakHigh!=0 and lastPeakIndex-prePeakCount<峰谷最寬 and lastPeakIndex-prePeakCount>峰谷最窄
        and lastPeakHigh<=prePeakHigh and lastPeakHigh>highLimit then begin
            DRAWICON(1, lastPeakLow, 5);
            DRAWTEXT(1, lastPeakHigh+100, '上一個高點:'+numtostr(prePeakHigh,0)+';當前高點:'+numtostr(lastPeakHigh,0),colorgreen);
            DrawText(1, lastPeakHigh+200,'最低點:'+numtostr(preLow,0), COLORYELLOW);
            DrawText(1, lastPeakHigh+300,'上一個高點距離:'+numtostr(lastPeakIndex-prePeakCount,0),COLORWHITE);
            DRAWLINE(barpos=prePeakIndex,prePeakHigh,barpos=lastPeakIndex,lastPeakHigh,1);
        end;
        else begin
            prePeakHigh:=lastPeakHigh;
            prePeakLow:=lastPeakLow;
            prePeakCount:=lastPeakIndex;
        end;
        lastPeakBreak:=1;       
    end;


    個人分析,運行到if中的時候,barpos已經不可能再等于左峰的barscount了,所以系統找不到對應K線。
    那究竟如何畫呢?
    另外,如何使用Peak函數呢,有沒有簡便一點的方法來實現這樣一個邏輯:
    如果某一個K線,是5根K線中最高的,則當其低點被突破時,尋找左峰(上一個峰),如果存在一個左峰,則產生交易。
    (換句話來說,就是捕捉一個M形態。當一個M形態的右峰最高K線的低點被突破時,產生交易)
    [此貼子已經被作者于2013/10/5 18:26:38編輯過]

     

  • 金字塔客服: 左腿長,峰谷最寬,峰谷最窄,這3個是什么?

     

  • 用戶回復: 這個是預設參數左腿長:4峰谷最寬:20峰谷最窄:4

     

  • 網友回復:

    最后加這么一句

    DRAWLINE(REF(H,prePeakDist)=HHV(Ref(H,prePeakDist),左腿長),prePeakHigh,REF(H,1)=HHV(H,左腿長),lastPeakHigh,0);

 

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

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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 多人乱p欧美在线观看| 欧美一级做a影片爱橙影院| 国产在线观看一区二区三区| 99久久99久久精品免费观看| 日本50岁丰满熟妇xxxx| 亚洲国产成人九九综合| 真实的国产乱xxxx在线| 国产亚洲精品仙踪林在线播放| 2020国产精品永久在线观看| 好妈妈5高清中字在线观看| 久久夜色精品国产噜噜亚洲a| 欧美日韩国产精品| 免费大黄网站在线观看| 色播在线观看免费| 国产无遮挡吃胸膜奶免费看 | 狠狠躁夜夜躁人人爽天天天天97| 国产中文字幕乱人伦在线观看| 香蕉视频在线看| 夜来香电影完整版免费观看| 中文字幕亚洲精品无码| 日韩欧美亚洲综合一区二区| 亚洲成A∨人片在线观看无码| 男朋友吃我的妹妹怎么办呢| 国产91在线|欧美| 麻豆安全免费网址入口| 国产精品夜间视频香蕉| A毛片毛片看免费| 思思91精品国产综合在线| 久久久久国产精品免费免费搜索 | 夜夜躁日日躁狠狠久久av| 丝袜高跟美脚国产1区| 日韩不卡视频在线| 亚洲乱妇老熟女爽到高潮的片 | 丁香六月婷婷综合| 日本天堂视频在线观看| 亚洲一区二区三区四区视频| 欧美色欧美亚洲另类二区| 免费jlzzjlzz在线播放视频| 美女扒开屁股让男人桶| 国产亚洲综合一区二区在线| 久久久噜久噜久久gif动图|