Tôi có kinh nghiệm lập trình với các nền tảng khác nhưng đây là nỗ lực đầu tiên của tôi trong metatrader cộng với ngôn ngữ lập trình C và tôi muốn được trợ giúp. Tôi muốn bắt đầu với một chỉ báo đơn giản để vẽ cao nhất cao nhất và thấp nhất với các khung thời gian khác nhau trên một biểu đồ duy nhất. Mã biên dịch nhưng không có gì được vẽ nếu được thêm vào biểu đồ:

Đã chèn Mã #property Bản quyền Internets #property Hyperlink #property indior_chart_window #property indior_buffers 4/- tham số đầu vào extern int timeframe1 = 15; extern int khung thời gian2 = 240;/- bộ đệm chỉ báo đôi ExtMapBuffer1 # 91; # 93 ;; double ExtMapBuffer2 # 91; # 93 ;; double ExtMapBuffer3 # 91; # 93 ;; double ExtMapBuffer4 # 91; # 93 ;;/ ----------------------------------------------- ------------------- /| Chức năng khởi tạo chỉ báo tùy chỉnh |/ ----------------------------------------------- ------------------- int init ()/- bộ đệm chỉ báo ánh xạ SetIndexBuffer (0, ExtMapBuffer1); SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (1, ExtMapBuffer2); SetIndexStyle (1, DRAW_LINE); SetIndexBuffer (2, ExtMapBuffer3); SetIndexStyle (2, DRAW_LINE); SetIndexBuffer (3, ExtMapBuffer4); SetIndexStyle (3, DRAW_LINE);* - Tạo các chỉ báo hình chữ nhật ObjectCreate (sObjName, OBJ_RECTANGLE, 0, 0, 0, 0, 0); ObjectSet (sObjName, OBJPROP_STYLE, STYLE_SOLID); ObjectSet (sObjName, OBJPROP_COLOR, cObjColor); ObjectSet (sObjName, OBJPROP_BACK, bProp_Back); *return (0);/ ----------------------------------------------- ------------------- /| Chức năng khử chỉ số tùy chỉnh |/ ----------------------------------------------- ------------------- int deinit ()/-/- return (0);/ ----------------------------------------------- ------------------- /| Phân phối chỉ số tùy chỉnh phục vụ |/ ----------------------------------------------- ------------------- int start () int count_bars = IndiorCounted (); int giới hạn; int pos = 0; double highT1; double lowT1; double highT2; double lowT2;/- Script để đếm số lượng Bars trên Chart nếu (count_barslt; 0) return (-1); nên (count_barsgt; 0) calculate_bars--; limit = Bars-counted_bars;/- Mã chính cho (int I = 0; ilt; = timeframe1; I ) nếu (Top # 91; I # 93; gt; highT1) highT1 = Cao # 91; I # 93 ;; nên (Thấp # 91; I # 93; lt; lowT1) lowT1 = Giảm # 91; I # 93 ;; cho (int j = 1; jlt; = timeframe2; j ) nếu (Top # 91; j # 93; gt; highT2) highT2 = Top # 91; j # 93 ;; nên (Thấp # 91; j # 93; lt; lowT2) lowT2 = Giảm # 91; j # 93 ;; cho (pos = Bars; pos gt; = 0; pos--) ExtMapBuffer1 # 91; pos # 93; = highT1; ExtMapBuffer2 # 91; pos # 93; = lowT1; ExtMapBuffer3 # 91; pos # 93; = highT2; ExtMapBuffer4 # 91; pos # 93; = lowT2; return (0);/ ----------------------------------------------- -------------------