MT4 Total Trend指标交易系统


Total Trend交易系统属于趋势类型。从整体界面上来看,蓝色表示多头行情,红色表示空头行情。副图MACD、QQE信号比较敏感,可以在MACD和QQE信号发生后,等待主图信号和Filter指标信号同步后进行交易。

在实际交易中,选择什么周期、如何进场、如何出场,可以自行总结完善并制定相应的交易策略。

点击下载程序与源码 文件大小:13.09 KB

MQL4/ MQL4/Indicators/ MQL4/Indicators/#TTF_Trend_trial.mq4 MQL4/Indicators/Filter.mq4 MQL4/Indicators/PRICE.mq4 MQL4/Indicators/QFF-MACDv1.mq4 MQL4/Indicators/QQE Alert MTF v5~.mq4 MQL4/Indicators/vh.mq4 MQL4/Indicators/VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION.mq4 必须读我.txt Templates/ Templates/Total Trend.tpl 策汇在线.url

MQL4/Indicators/#TTF_Trend_trial.mq4代码片段:

#property copyright "TotalTrendForex.com - Copyright ?2010" #property link "totaltrendforex@gmail.com" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red int G_period_76 = 70; extern bool alertsOn = TRUE; extern bool alertsMessage = TRUE; extern bool alertsSound = TRUE; extern bool alertsEmail = TRUE; int Gi_96 = 0; double G_ibuf_100[]; double G_ibuf_104[]; double G_ibuf_108[]; string Gs_112 = "Total Trend Forex (Copyright ?2010)"; string Gs_nothing_120 = "nothing"; datetime G_time_128; string Gs_nothing_132 = "nothing"; datetime G_time_140; int init() { IndicatorBuffers(3); SetIndexBuffer(0, G_ibuf_100); SetIndexDrawBegin(0, G_period_76 + 1); SetIndexStyle(0, DRAW_HISTOGRAM); SetIndexBuffer(1, G_ibuf_104); SetIndexDrawBegin(1, G_period_76 + 1); SetIndexStyle(1, DRAW_HISTOGRAM); SetIndexBuffer(2, G_ibuf_108); setLabel(Gs_112, Gs_112, Red, 2, 5, 10, FALSE, 9, "Arial"); return (0); } int deinit() { ObjectDelete("Total Trend Forex (Copyright ?2010)"); return (0); } int start() { int Li_0 = IndicatorCounted(); if (Li_0 < 0) return (-1); if (Li_0 > 0) Li_0--; int Li_4 = Bars - Li_0; for (int Li_8 = Li_4; Li_8 >= 0; Li_8--) { G_ibuf_108[Li_8] = G_ibuf_108[Li_8 + 1]; if (Close[Li_8] > iMA(Symbol(), 0, G_period_76, 0, MODE_SMA, PRICE_HIGH, Li_8 + 1)) G_ibuf_108[Li_8] = 1; if (Close[Li_8] < iMA(Symbol(), 0, G_period_76, 0, MODE_SMA, PRICE_LOW, Li_8 + 1)) G_ibuf_108[Li_8] = -1; if (G_ibuf_108[Li_8] == -1.0) { G_ibuf_104[Li_8] = High[Li_8]; G_ibuf_100[Li_8] = Low[Li_8]; } else { G_ibuf_100[Li_8] = High[Li_8]; G_ibuf_104[Li_8] = Low[Li_8]; } } Gi_96 = 0; if (alertsOn) { if (G_ibuf_108[Gi_96 + 0] != G_ibuf_108[Gi_96 + 1]) { if (G_ibuf_108[Gi_96 + 0] == 1.0) doAlert("LONG entry"); else doAlert("SHORT entry"); } } Gi_96 = 1; if (alertsOn) { if (G_ibuf_108[Gi_96 + 0] != G_ibuf_108[Gi_96 + 1]) { if (G_ibuf_108[Gi_96 + 0] == 1.0) doAlert2("LONG entry"); else doAlert2("SHORT entry"); } } return (0); } void doAlert(string As_0) { string str_concat_8; if (Gs_nothing_120 != As_0 || G_time_128 != Time[0]) { Gs_nothing_120 = As_0; G_time_128 = Time[0]; str_concat_8 = StringConcatenate(Symbol(), "=", Period(), " - POTENTIAL Total Trend ", As_0, " - ", " Date=", TimeToStr(TimeCurrent(), TIME_DATE), " Time=", TimeToStr(TimeLocal(), TIME_SECONDS)); if (alertsMessage) Alert(str_concat_8); if (alertsEmail) SendMail(StringConcatenate(Symbol(), Period(), " Total Trend Forex "), str_concat_8); if (alertsSound) PlaySound("alert.wav"); } } void doAlert2(string As_0) { string str_concat_8; if (Gs_nothing_132 != As_0 || G_time_140 != Time[0]) { Gs_nothing_132 = As_0; G_time_140 = Time[0]; str_concat_8 = StringConcatenate(Symbol(), "=", Period(), " - CONFIRMED Total Trend ", As_0, " - ", " Date=", TimeToStr(TimeCurrent(), TIME_DATE), " Time=", TimeToStr(TimeLocal(), TIME_SECONDS)); if (alertsMessage) Alert(str_concat_8); if (alertsEmail) SendMail(StringConcatenate(Symbol(), Period(), " Total Trend Forex "), str_concat_8); if (alertsSound) PlaySound("alert.wav"); } } void setLabel(string A_name_0, string A_text_8, color A_color_16, int A_corner_20, int A_x_24, int A_y_28, bool A_bool_32 = FALSE, int A_fontsize_36 = 9, string A_fontname_40 = "Arial") { if (ObjectFind(A_name_0) == -1) { ObjectCreate(A_name_0, OBJ_LABEL, 0, 0, 0); ObjectSetText(A_name_0, A_text_8, A_fontsize_36, A_fontname_40, A_color_16); ObjectSet(A_name_0, OBJPROP_CORNER, A_corner_20); ObjectSet(A_name_0, OBJPROP_BACK, A_bool_32); ObjectSet(A_name_0, OBJPROP_XDISTANCE, A_x_24); ObjectSet(A_name_0, OBJPROP_YDISTANCE, A_y_28); return; } ObjectSetText(A_name_0, A_text_8, A_fontsize_36, A_fontname_40, A_color_16); ObjectSet(A_name_0, OBJPROP_CORNER, A_corner_20); ObjectSet(A_name_0, OBJPROP_BACK, A_bool_32); ObjectSet(A_name_0, OBJPROP_XDISTANCE, A_x_24); ObjectSet(A_name_0, OBJPROP_YDISTANCE, A_y_28); }