kuolung 發表於 17-7-15 16:58

請問 MT4 Chart 圖中文字定位的問題

請問圖中,我可以顯示第一行文字,

因為 charts 中文字定位只有

ANCHOR_LEFT_UPPERAnchor point at the upper left corner
ANCHOR_LEFTAnchor point to the left in the center
ANCHOR_LEFT_LOWERAnchor point at the lower left corner
ANCHOR_LOWERAnchor point below in the center
ANCHOR_RIGHT_LOWERAnchor point at the lower right corner
ANCHOR_RIGHTAnchor point to the right in the center
ANCHOR_RIGHT_UPPERAnchor point at the upper right corner
ANCHOR_UPPERAnchor point above in the center
ANCHOR_CENTERAnchor point strictly in the center of the object

現在我在每一點,想要顯示第二行文字,

請問要如何處理,

spencer 發表於 17-7-15 19:30

感謝kuolung大大分享

cukie 發表於 17-7-16 09:01

感謝分享 期待高手解答{:4_112:}

ambercrystal 發表於 17-7-21 16:30

這是之前接一個客制委託指標的設計,如同你的需求委託條件需要有兩行顯示在 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 因為永遠是單色的,需要用其他方式來設計變色
有斷點的線性設計,不過如果不是商用銷售的指標,不需這麼麻煩的設計,如果是個人使用用簡單的設計即可。 



kuolung 發表於 17-7-22 07:37

謝謝,解惑,果然能解決我的問題
頁: [1]
查看完整版本: 請問 MT4 Chart 圖中文字定位的問題