#property copyright "Copyright © 2009, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" int gi_unused_76; double g_price_80; int gi_92; string gs_96; double g_global_var_104; double g_global_var_112; double g_global_var_120; int gi_unused_128; int gi_unused_132; int gi_unused_136; int gi_unused_140 = 3; int gi_unused_144 = 12345; int gi_148 = -1; int gi_unused_152; int gi_unused_156; int start() { string ls_8; int li_0 = 0; while (!IsStopped()) { Sleep(500); removeEmptyLines(); gi_148 = FALSE; li_0 = GlobalVariablesTotal(); for (int li_4 = li_0; li_4 >= 0; li_4--) { ls_8 = GlobalVariableName(li_4); if (StringFind(ls_8, "FXI_Pending", 0) == -1 && StringFind(ls_8, "FXI_Open", 0) == -1) continue; if (GetTicketNumber(ls_8) != gi_148) { if (StringFind(ls_8, "FXI_Pending", 0) != -1) StripUC(ls_8); else { if (StringFind(ls_8, "FXI_Open", 0) != -1) { gi_92 = GetTicketNumber(ls_8); g_global_var_112 = GlobalVariableGet("FXI_Open_" + gi_92 + "_SL"); g_global_var_120 = GlobalVariableGet("FXI_Open_" + gi_92 + "_TP"); } } gi_148 = gi_92; if (StringFind(ls_8, "FXI_Pending", 0) != -1) { if (ObjectFind("FXI_PEntry_" + gi_92) == -1) { ObjectCreate("FXI_PEntry_" + gi_92, OBJ_HLINE, 0, 0, g_price_80); ObjectSet("FXI_PEntry_" + gi_92, OBJPROP_COLOR, Yellow); ObjectSet("FXI_PEntry_" + gi_92, OBJPROP_STYLE, STYLE_DASHDOT); } else ObjectSet("FXI_PEntry_" + gi_92, OBJPROP_PRICE1, g_price_80); } if (ObjectFind("FXI_PSL_" + gi_92) == -1) { if (g_global_var_112 > 0.0) { ObjectCreate("FXI_PSL_" + gi_92, OBJ_HLINE, 0, 0, g_global_var_112); ObjectSet("FXI_PSL_" + gi_92, OBJPROP_COLOR, Red); ObjectSet("FXI_PSL_" + gi_92, OBJPROP_STYLE, STYLE_DASHDOT); } } else { if (g_global_var_112 <= 0.0) ObjectDelete("FXI_PSL_" + gi_92); else ObjectSet("FXI_PSL_" + gi_92, OBJPROP_PRICE1, g_global_var_112); } if (ObjectFind("FXI_PTP_" + gi_92) == -1) { if (g_global_var_120 > 0.0) { ObjectCreate("FXI_PTP_" + gi_92, OBJ_HLINE, 0, 0, g_global_var_120); ObjectSet("FXI_PTP_" + gi_92, OBJPROP_COLOR, Red); ObjectSet("FXI_PTP_" + gi_92, OBJPROP_STYLE, STYLE_DASHDOT); } } else { if (g_global_var_120 <= 0.0) ObjectDelete("FXI_PTP_" + gi_92); else ObjectSet("FXI_PTP_" + gi_92, OBJPROP_PRICE1, g_global_var_120); } ObjectsRedraw(); } } } return (0); } int GetTicketNumber(string as_0) { int li_12; int li_20; int li_24; int l_str_len_8 = StringLen(as_0); int l_count_16 = 0; for (int li_28 = 0; li_28 < l_str_len_8; li_28++) { li_12 = StringGetChar(as_0, li_28); if (li_12 == '_') { if (l_count_16 < 1) l_count_16++; else { if (l_count_16 == 1) { l_count_16++; li_20 = li_28 + 1; } else { if (l_count_16 == 2) { l_count_16++; li_24 = li_28; } } } } } string ls_32 = StringSubstr(as_0, li_20, li_20 - li_24); return (StrToDouble(ls_32)); } void StripUC(string as_0) { string ls_unused_20; int li_8 = GetTicketNumber(as_0); int l_str_len_12 = StringLen(as_0); for (int li_28 = GlobalVariablesTotal(); li_28 >= 0; li_28--) { if (StringFind(GlobalVariableName(li_28), "FXI_Pending_" + li_8, 0) != -1) { if (!GlobalVariableCheck("FXI_Pending_" + li_8 + "_stop") || !GlobalVariableCheck("FXI_Pending_" + li_8 + "_tp") || !GlobalVariableCheck("FXI_Pending_" + li_8 + "_type") || !GlobalVariableCheck("FXI_Pending_" + li_8 + "_entry") || !GlobalVariableCheck("FXI_Pending_" + li_8 + "_exp") || !GlobalVariableCheck("FXI_Pending_" + li_8 + "_time") || !GlobalVariableGet("FXI_Pending_" + li_8 + "_vol")) Print("Debug -- Error in putting on stuffs?"); g_global_var_112 = GlobalVariableGet("FXI_Pending_" + li_8 + "_stop"); g_global_var_120 = GlobalVariableGet("FXI_Pending_" + li_8 + "_tp"); gi_unused_76 = GlobalVariableGet("FXI_Pending_" + li_8 + "_type"); g_price_80 = GlobalVariableGet("FXI_Pending_" + li_8 + "_entry"); gi_unused_152 = GlobalVariableGet("FXI_Pending_" + li_8 + "_exp"); gi_unused_156 = GlobalVariableGet("FXI_Pending_" + li_8 + "_time"); g_global_var_104 = GlobalVariableGet("FXI_Pending_" + li_8 + "_vol"); gi_unused_128 = GlobalVariableGet("FXI_Pending_" + li_8 + "_trail"); gi_unused_132 = GlobalVariableGet("FXI_Pending_" + li_8 + "_trailinit"); gi_unused_136 = GlobalVariableGet("FXI_Pending_" + li_8 + "_breakeven"); gi_92 = li_8; gs_96 = GetPair(as_0); return; } } } string GetPair(string as_0) { int li_12; int li_20; string ls_unused_32; int l_str_len_8 = StringLen(as_0); int l_count_16 = 0; for (int li_28 = 0; li_28 < l_str_len_8; li_28++) { li_12 = StringGetChar(as_0, li_28); if (li_12 == '_') { if (l_count_16 < 3) l_count_16++; else { if (l_count_16 == 3) { l_count_16++; li_20 = li_28 + 1; } } } } return (StringSubstr(as_0, li_20, StringLen(as_0) - li_20)); } void removeEmptyLines() { string lsa_0[100]; string l_name_8; int l_index_4 = 0; for (int li_16 = 0; li_16 < ObjectsTotal(); li_16++) { l_name_8 = ObjectName(li_16); if (StringFind(l_name_8, "FXI_PEntry", 0) != -1) { if (!hasPendingOrder(GetTicketNumber(l_name_8))) { lsa_0[l_index_4] = l_name_8; l_index_4++; } } if (StringFind(l_name_8, "FXI_PSL", 0) != -1) { if (!hasPendingOrder(GetTicketNumber(l_name_8)) && !hasOpenOrder(GetTicketNumber(l_name_8))) { lsa_0[l_index_4] = l_name_8; l_index_4++; } } if (StringFind(l_name_8, "FXI_PTP", 0) != -1) { if (!hasPendingOrder(GetTicketNumber(l_name_8)) && !hasOpenOrder(GetTicketNumber(l_name_8))) { lsa_0[l_index_4] = l_name_8; l_index_4++; } } } for (int l_index_20 = 0; l_index_20 < l_index_4; l_index_20++) ObjectDelete(lsa_0[l_index_20]); ObjectsRedraw(); } bool hasPendingOrder(int ai_0) { return (GlobalVariableCheck("FXI_Pending_" + ai_0 + "_entry")); } bool hasOpenOrder(int ai_0) { return (GlobalVariableCheck("FXI_Open_" + ai_0 + "_SL")); }