|
這是之前接一個客制委託指標的設計,如同你的需求委託條件需要有兩行顯示在 K 棒上下。
如果要定位文字顯示在 K 棒上下可以用 K 棒時間和價格兩個值來定位,用 OBJ_TEXT 的設計方式比較便利。
OBJ_TEXT 調用範例在 MQL4 官網上可以找到,應該 default 就是置中,或是 Anchor 設 ANCHOR_UPPER,
也可以設不同角度旋轉。
要定位到第二行的行距離,先取圖表右邊最大價格減最小價格的價格距離,這樣設計會保證不同週期的
圖表價格範圍不同也能夠動態調整,然後再除以當前圖表寬的像素。
dPixelToPriceRatio=(ChartGetDouble(0,CHART_PRICE_MAX)-ChartGetDouble(0,CHART_PRICE_MIN))/(double)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
把你要顯示第二行的距離像素例如字體是14點再加3點行距=17點乘以上面公式得到的像素轉價格比例,
然後再加到顯示第一行用的價格位置就會正確定位第二行。
ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS) 這個函數取回來的是整數,需要前面加(double)轉換,不然
直接除以整數得到像素價格比例轉換值就會錯誤,因為圖表最大最小範圍的價格差距如果是在貨幣商品通常
是很小的值。
上面的圖示是 MT4 指標,不是 MT5 指標。彩色 Zigzag 在 MT5 指標設計很單純,因為有現成的 MT5 彩色 Zigzag
選項可以選擇,在 MT4 不能直接用 MT4 版的 DRAW_SECTION 因為永遠是單色的,需要用其他方式來設計變色
有斷點的線性設計,不過如果不是商用銷售的指標,不需這麼麻煩的設計,如果是個人使用用簡單的設計即可。
|
|