//+------------------------------------------------------------------+
//| AAAAAAAAAA.mq4 |
//| Copyright 2021, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 White
#property indicator_color2 White
#property indicator_color3 Red
#property indicator_color4 Lime
#property indicator_color5 Gray
#property indicator_color6 Gray
extern color zhengdang = Gray;
int gi_unused_80 = -1;
int g_width_84 = 8;
double g_ibuf_88[];
double g_ibuf_92[];
double g_ibuf_96[];
double g_ibuf_100[];
double g_ibuf_104[];
double g_ibuf_108[];
int gi_unused_112 = 0;
int gi_unused_116 = 0;
string gs_120 = "MHDMT_XMA";
string gs_128 = "MHDMT_GRAY_BELT";
// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
IndicatorBuffers(6);
SetIndexStyle(0, DRAW_LINE);
SetIndexBuffer(0, g_ibuf_88);
SetIndexStyle(1, DRAW_LINE);
SetIndexBuffer(1, g_ibuf_92);
SetIndexStyle(2, DRAW_LINE, STYLE_DASH);
SetIndexBuffer(2, g_ibuf_96);
SetIndexStyle(3, DRAW_LINE, STYLE_DASH);
SetIndexBuffer(3, g_ibuf_100);
SetIndexStyle(4, DRAW_LINE);
SetIndexBuffer(4, g_ibuf_104);
SetIndexStyle(5, DRAW_LINE);
SetIndexBuffer(5, g_ibuf_108);
IndicatorShortName("MHDMT_ZT");
SetIndexLabel(0, "ZD");
SetIndexLabel(1, "ZK");
SetIndexLabel(2, "KS");
SetIndexLabel(3, "DS");
SetIndexLabel(4, "GBH");
SetIndexLabel(5, "GBL");
return (0);
}
// 52D46093050F38C27267BCE42543EF60
int deinit() {
ObjectsDeleteAll(WindowOnDropped());
return (0);
}
// EA2B2676C28C0DB26D39331A336C6B92
int start() {
double ld_0;
double ld_8;
bool li_16;
bool li_20;
int ind_counted_28 = IndicatorCounted();
ObjectsDeleteAll(WindowOnDropped());
int li_32 = WindowFirstVisibleBar();
int highest_36 = iHighest(NULL, 0, MODE_HIGH, WindowBarsPerChart(), WindowFirstVisibleBar() - WindowBarsPerChart() + 1);
double ld_40 = (WindowPriceMax() - WindowPriceMin()) / 15.0;
int window_48 = WindowOnDropped();
ObjectDelete("duoqujian");
ObjectCreate("duoqujian", OBJ_TEXT, 0, Time[li_32 / 2], High[highest_36]);
ObjectSetText("duoqujian", "【红色多头区间:只做多,不做空】", 16, "黑体", Maroon);
ObjectDelete("kongqujian");
ObjectCreate("kongqujian", OBJ_TEXT, 0, Time[li_32 / 2], High[highest_36] - ld_40);
ObjectSetText("kongqujian", "【绿色空头区间:只做空,不做多】", 16, "黑体", DarkGreen);
ObjectDelete("zhendangqujian");
ObjectCreate("zhendangqujian", OBJ_TEXT, 0, Time[li_32 / 2], High[highest_36] - 2.0 * ld_40);
ObjectSetText("zhendangqujian", "【震荡区间:多空双向操作】", 16, "黑体", zhengdang);
for (int li_52 = li_32; li_52 >= 0; li_52--) {
li_16 = FALSE;
li_20 = FALSE;
g_ibuf_88[li_52] = 2.0 * iCustom(NULL, 0, gs_120, 25, 25, 3, 1, li_52) - iCustom(NULL, 0, gs_120, 25, 25, 2, 1, li_52);
g_ibuf_92[li_52] = 2.0 * iCustom(NULL, 0, gs_120, 25, 25, 2, 1, li_52) - iCustom(NULL, 0, gs_120, 25, 25, 3, 1, li_52);
g_ibuf_96[li_52] = 3.0 * (iCustom(NULL, 0, gs_120, 61, 61, 2, 1, li_52) - iCustom(NULL, 0, gs_120, 61, 61, 3, 1, li_52)) + iCustom(NULL, 0, gs_120, 61, 61, 2, 1,
li_52);
g_ibuf_100[li_52] = iCustom(NULL, 0, gs_120, 61, 61, 3, 1, li_52) - 3.0 * (iCustom(NULL, 0, gs_120, 61, 61, 2, 1, li_52) - iCustom(NULL, 0, gs_120, 61, 61, 3, 1,
li_52));
g_ibuf_104[li_52] = iCustom(NULL, 0, gs_128, 2, li_52);
g_ibuf_108[li_52] = iCustom(NULL, 0, gs_128, 3, li_52);
ld_0 = iCustom(NULL, 0, gs_128, 2, li_52) + 2.0 * iCustom(NULL, 0, gs_128, 4, li_52);
ld_8 = iCustom(NULL, 0, gs_128, 3, li_52) - 2.0 * iCustom(NULL, 0, gs_128, 4, li_52);
ObjectCreate("Graybelt" + DoubleToStr(Time[li_52], 0), OBJ_TREND, window_48, Time[li_52], g_ibuf_104[li_52], Time[li_52], g_ibuf_108[li_52]);
ObjectSet("Graybelt" + DoubleToStr(Time[li_52], 0), OBJPROP_COLOR, C'0x55,0x55,0x55');
ObjectSet("Graybelt" + DoubleToStr(Time[li_52], 0), OBJPROP_RAY, FALSE);
ObjectSet("Graybelt" + DoubleToStr(Time[li_52], 0), OBJPROP_WIDTH, g_width_84);
ObjectSet("Graybelt" + DoubleToStr(Time[li_52], 0), OBJPROP_BACK, TRUE);
if (g_ibuf_92[li_52] > ld_0 && g_ibuf_88[li_52] > ld_8) {
ObjectCreate("duo" + DoubleToStr(Time[li_52], 0), OBJ_TREND, window_48, Time[li_52], g_ibuf_88[li_52], Time[li_52], g_ibuf_92[li_52]);
ObjectSet("duo" + DoubleToStr(Time[li_52], 0), OBJPROP_COLOR, Maroon);
ObjectSet("duo" + DoubleToStr(Time[li_52], 0), OBJPROP_RAY, FALSE);
ObjectSet("duo" + DoubleToStr(Time[li_52], 0), OBJPROP_WIDTH, g_width_84);
ObjectSet("duo" + DoubleToStr(Time[li_52], 0), OBJPROP_BACK, TRUE);
}
if (g_ibuf_92[li_52] < ld_0 && g_ibuf_88[li_52] < ld_8) {
ObjectCreate("dong" + DoubleToStr(Time[li_52], 0), OBJ_TREND, window_48, Time[li_52], g_ibuf_92[li_52], Time[li_52], g_ibuf_88[li_52]);
ObjectSet("dong" + DoubleToStr(Time[li_52], 0), OBJPROP_COLOR, DarkGreen);
ObjectSet("dong" + DoubleToStr(Time[li_52], 0), OBJPROP_RAY, FALSE);
ObjectSet("dong" + DoubleToStr(Time[li_52], 0), OBJPROP_WIDTH, g_width_84);
ObjectSet("dong" + DoubleToStr(Time[li_52], 0), OBJPROP_BACK, TRUE);
}
if (g_ibuf_92[li_52] < ld_0 && g_ibuf_88[li_52] > ld_8) {
ObjectCreate("dang" + DoubleToStr(Time[li_52], 0), OBJ_TREND, window_48, Time[li_52], g_ibuf_88[li_52], Time[li_52], g_ibuf_92[li_52]);
ObjectSet("dang" + DoubleToStr(Time[li_52], 0), OBJPROP_COLOR, zhengdang);
ObjectSet("dang" + DoubleToStr(Time[li_52], 0), OBJPROP_RAY, FALSE);
ObjectSet("dang" + DoubleToStr(Time[li_52], 0), OBJPROP_WIDTH, g_width_84);
ObjectSet("dang" + DoubleToStr(Time[li_52], 0), OBJPROP_BACK, TRUE);
}
if (g_ibuf_92[li_52] < ld_0 && g_ibuf_88[li_52] > ld_8)) {
ObjectCreate("duosong" + DoubleToStr(Time[li_52], 0), OBJ_TEXT, 0, Time[li_52], iCustom(NULL, 0, gs_120, 25, 25, 3, 1, li_52) - 3.9 * (iCustom(NULL, 0, gs_120, 25,
25, 2, 1, li_52) - iCustom(NULL, 0, gs_120, 25, 25, 3, 1, li_52)));
ObjectSetText("duosong" + DoubleToStr(Time[li_52], 0), "损", 16, "黑体", Red);
ObjectCreate("zuoduo" + DoubleToStr(Time[li_52], 0), OBJ_TEXT, 0, Time[li_52], Low[li_52]);
ObjectSetText("zuoduo" + DoubleToStr(Time[li_52], 0), "多", 16, "黑体", Red);
li_16 = TRUE;
}
if (High[li_52 + 1] < g_ibuf_92[li_52 + 1] && High[li_52] > g_ibuf_92[li_52] && (g_ibuf_92[li_52] < ld_0 && g_ibuf_88[li_52] < ld_8) || (g_ibuf_92[li_52] < ld_0 &&
g_ibuf_88[li_52] > ld_8)) {
ObjectCreate("kongsong" + DoubleToStr(Time[li_52], 0), OBJ_TEXT, 0, Time[li_52], 3.9 * (iCustom(NULL, 0, gs_120, 25, 25, 2, 1, li_52) - iCustom(NULL, 0, gs_120, 25,
25, 3, 1, li_52)) + iCustom(NULL, 0, gs_120, 25, 25, 2, 1, li_52));
ObjectSetText("kongsong" + DoubleToStr(Time[li_52], 0), "损", 16, "黑体", Lime);
ObjectCreate("zuokong" + DoubleToStr(Time[li_52], 0), OBJ_TEXT, 0, Time[li_52], High[li_52]);
ObjectSetText("zuokong" + DoubleToStr(Time[li_52], 0), "空", 16, "黑体", Lime);
li_20 = TRUE;
}
if (g_ibuf_88[li_52 + 1] < Low[li_52 + 1] && g_ibuf_88[li_52] > Low[li_52] && (g_ibuf_92[li_52] < ld_0 && g_ibuf_88[li_52] < ld_8) || (!(g_ibuf_92[li_52] < ld_0 &&
g_ibuf_88[li_52] > ld_8)) && li_16 == FALSE) {
ObjectCreate("kongping" + DoubleToStr(Time[li_52], 0), OBJ_TEXT, 0, Time[li_52], Low[li_52]);
ObjectSetText("kongping" + DoubleToStr(Time[li_52], 0), "平", 16, "黑体", Yellow);
}
if (High[li_52 + 1] < g_ibuf_92[li_52 + 1] && High[li_52] > g_ibuf_92[li_52] && (g_ibuf_92[li_52] > ld_0 && g_ibuf_88[li_52] > ld_8) || (!(g_ibuf_92[li_52] < ld_0 &&
g_ibuf_88[li_52] > ld_8)) && li_20 == FALSE) {
ObjectCreate("duoping" + DoubleToStr(Time[li_52], 0), OBJ_TEXT, 0, Time[li_52], High[li_52]);
ObjectSetText("duoping" + DoubleToStr(Time[li_52], 0), "平", 16, "黑体", Yellow);
}
}
ObjectDelete("zhiying1");
ObjectCreate("zhiying1", OBJ_TEXT, 0, Time[0] + (Time[1] - Time[2]) * 2, g_ibuf_88[0]);
ObjectSetText("zhiying1", DoubleToStr(g_ibuf_88[0], 4), 8, "Times New Roman", White);
ObjectDelete("zhiying2");
ObjectCreate("zhiying2", OBJ_TEXT, 0, Time[0] + (Time[1] - Time[2]) * 2, g_ibuf_92[0]);
ObjectSetText("zhiying2", DoubleToStr(g_ibuf_92[0], 4), 8, "Times New Roman", White);
ObjectDelete("zhisong1");
double price_56 = 3.0 * (iCustom(NULL, 0, gs_120, 61, 61, 2, 1, 0) - iCustom(NULL, 0, gs_120, 61, 61, 3, 1, 0)) + iCustom(NULL, 0, gs_120, 61, 61, 2, 1, 0);
ObjectCreate("zhisong1", OBJ_TEXT, 0, Time[0] + (Time[1] - Time[2]) * 2, price_56);
ObjectSetText("zhisong1", DoubleToStr(price_56, 4), 8, "Times New Roman", Red);
ObjectDelete("zhisong2");
double price_64 = iCustom(NULL, 0, gs_120, 61, 61, 3, 1, 0) - 3.0 * (iCustom(NULL, 0, gs_120, 61, 61, 2, 1, 0) - iCustom(NULL, 0, gs_120, 61, 61, 3, 1, 0));
ObjectCreate("zhisong2", OBJ_TEXT, 0, Time[0] + (Time[1] - Time[2]) * 2, price_64);
ObjectSetText("zhisong2", DoubleToStr(g_ibuf_100[0], 4), 8, "Times New Roman", Lime);
|