人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

您現在的位置:程序化交易>> 外匯現貨>> MT4>> MT4知識>>正文內容

MT4編程入門(十):畫一條指標線 [MT4]

  • 要畫指標線,只要在程序中寫明以下幾點就可以了:
    第一、明確指標線所在窗口,是主圖還是副圖
    第二、要建立數組,用以保存指標線在各個位置的值。
    第三、要建立指標線與數組的對應關系,哪個數組對應哪條指標線
    第四、要明確指標線的線型,是曲線還是柱線或者是箭頭
    第五、如果指標線是箭頭,還要說明是哪種箭頭
    第六、給數組賦值
    其中:
    第一、二條寫在文件頭部中,
    第三、四、五條寫在init()函數中(init函數僅在指標加載時運行一次)
    第六條寫在start()函數中(start函數在數據發動變動時運行,變動一次運行一次)

    下面以MACD為例說明
    我們知道,MACD指標由二條曲線和一組紅綠柱線組成。(下圖一)
    其中:
    白線是二根均線的差;
    紫線是白線的移動平均線;
    紅綠柱線則是白線和紫線的差,白線上穿紫線,出現紅柱,下穿則出現綠柱。

    我們從簡單入手,先去除紫線和紅綠柱線,僅保留其中的那根白線,來看白線是怎樣畫出來的。

    下面是全部語句:

    #property indicator_separate_window
    #property indicator_color1White
    #property indicator_level10
    extern int FMA=12;
    extern int SMA=26;
    double buf[];
    int init()
    {
    SetIndexBuffer(0,buf);
    SetIndexStyle(0,DRAW_LINE);
    return(0);
    }
    int start()
    {
    int limit=Bars-IndicatorCounted();

    for(int i=0; i<limit; i++)
    {
    buf=
    iMA(NULL,0,FMA,0,1,0,i)
    -iMA(NULL,0,SMA,0,1,0,i);
    }
    return(0);
    }
    說明如下:



    ==============================================

    ==============================================

    以下為上述語句的簡要說明

    #property indicator_separate_window
    指標放在副圖

    #property indicator_color1White
    第一條指標線為白色

    #property indicator_level10
    在副圖中零值位置上畫一條水平橫線,

    extern int FMA=12;
    extern int SMA=26;
    設立二個整數型變量,默認值為12和26,允許外部修改值

    double buf[];
    設立一個數組

    int init()
    初始化函數。該函數在指標加載時只運行一次。init是系統默認的函數名,但使用時仍需要進行創設,所以要加定義符int
    {
    SetIndexBuffer(0,buf);
    設置數組buf為第一條指標線

    SetIndexStyle(0,DRAW_LINE);
    設置第一條指標線線型為連續曲線

    return(0);
    函數結束語句
    }

    int start()
    指標觸發函數。與init函數不同,該函數在有數據變化時被觸發,如果數據被不斷更新,則該函數將不斷執行。start也是系統默認的函數名,但使用時也仍然需要進行創設,所以也要加定義符int

    {
    int limit=Bars-IndicatorCounted();
    自定義一個變量limit,并賦值
    Bars是圖表中的柱數
    IndicatorCounted()緩存中的柱數,就是已經計算過的有值的柱數
    這樣limit的值就是未經計算的柱數,這樣就可以起到優化程序的作用。

    for(int i=0; i<limit; i++)
    循環語句。
    循環從i=0開始,每循環一次i值增加1,一直循環到i<limit不滿足時結束循環
    由于循環變量i為一個新變量,所以要先定義,加上整型變量定義符int
    下面大括中為循環體,此例中只一條語句
    {
    buf=
    iMA(NULL,0,FMA,0,1,0,i)
    -iMA(NULL,0,SMA,0,1,0,i);
    }
    給數組buf賦值,其值分別為相應位置上兩條均線的差
    i是水平位置序號值,即燭柱從右到左的序號,右邊第一個燭柱序號為0

    return(0);
    start函數結束
    }

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

相關文章

    沒有相關內容
主站蜘蛛池模板: 性香港xxxxx免费视频播放 | 欧美日韩国产乱了伦 | 99精品欧美一区二区三区 | 被男人吃奶很爽的毛片两男一女 | 天天爽夜夜爽8888视频精品 | 一本大道香蕉高清视频视频 | 在线观看国产日本 | 成人免费午间影院在线观看 | 亚洲免费片 | 国产全黄三级播放 | 欧美最新在线 | 成年网站在线在免费播放 | 亚洲欧美国产精品久久久 | 视频一区在线观看 | 人人艹人人| a一级免费| 日韩中文字幕一区 | 亚洲精品国产综合一线久久 | 亚洲一本| 日韩精品欧美亚洲高清有无 | 日本高清在线观看天码888 | 国内精品视频在线观看 | 最新欧美精品一区二区三区不卡 | 一本大道香蕉在线高清视频 | 成人全黄三级视频在线观看 | 怡红院成人永久免费看 | 国产一级一片免费播放i | 麻豆乐园| 国产精品美女视视频专区 | 91精品视频在线播放 | 色男人影院 | 亚洲午夜高清 | 色片免费网站 | 国产区综合另类亚洲欧美 | 日韩中文字幕高清在线专区 | 黑人巨大videos极度另类 | 韩日免费视频 | 在线看毛片网站 | 九九热在线视频播放 | 手机毛片在线观看 | 亚洲成人动漫在线 |