J'aimerais automatiser mes trades grace à l'indicateur THVTrix, notamment grâce au BUY ALERT / SELL ALERT et au TRIX EXIT ALARM généré via une popup de l'indic.
Voici le code de l'indicateur convernant ces popup :
CODE
if (AlertOnTrixSigCross) {
if (g_ibuf_224[2] < g_ibuf_212[2] && g_ibuf_224[1] > g_ibuf_212[1] && g_bars_252 < Bars) {
if (AnalyzeLabelonoff) l_text_428 = "Analyze Buy";
ObjectDelete("Order_Crossing_Label");
ObjectCreate("Order_Crossing_Label", OBJ_LABEL, AnalyzeLabelWindow, 0, 0);
ObjectSet("Order_Crossing_Label", OBJPROP_CORNER, 3);
ObjectSet("Order_Crossing_Label", OBJPROP_XDISTANCE, 2);
ObjectSet("Order_Crossing_Label", OBJPROP_YDISTANCE, 25);
ObjectSet("Order_Crossing_Label", OBJPROP_COLOR, Red);
ObjectSetText("Order_Crossing_Label", l_text_428, 12, "Arial Black", Lime);
ls_404 = gs_256 + " " + Symbol() + " " + TF2Str(Period()) + " BUY ALARM @ " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES);
DoAlerts(ls_404, ls_404);
g_bars_252 = Bars;
if (SoundAlerts) PlaySound("analyze buy.wav");
} else {
if (g_ibuf_224[2] > g_ibuf_212[2] && g_ibuf_224[1] < g_ibuf_212[1] && g_bars_252 < Bars) {
if (AnalyzeLabelonoff) l_text_428 = "Analyze Sell";
ObjectDelete("Order_Crossing_Label");
ObjectCreate("Order_Crossing_Label", OBJ_LABEL, AnalyzeLabelWindow, 0, 0);
ObjectSet("Order_Crossing_Label", OBJPROP_CORNER, 3);
ObjectSet("Order_Crossing_Label", OBJPROP_XDISTANCE, 2);
ObjectSet("Order_Crossing_Label", OBJPROP_YDISTANCE, 25);
ObjectSet("Order_Crossing_Label", OBJPROP_COLOR, Red);
ObjectSetText("Order_Crossing_Label", l_text_428, 12, "Arial Black", Red);
ls_404 = gs_256 + " " + Symbol() + " " + TF2Str(Period()) + " SELL ALARM @ " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES);
DoAlerts(ls_404, ls_404);
g_bars_252 = Bars;
if (SoundAlerts) PlaySound("analyze sell.wav");
}
}
}
if (AlertOnSlopeChange) {
if (g_ibuf_224[1] > g_ibuf_212[1] && g_ibuf_228[2] != EMPTY_VALUE && g_ibuf_228[1] == EMPTY_VALUE && g_bars_252 < Bars) {
if (AnalyzeLabelonoff) l_text_428 = "Analyze Exit";
if (ObjectFind("Alarm_Crossing_Label" + Time[0]) == -1) {
ObjectDelete("Alarm_Crossing_Label");
ObjectCreate("Alarm_Crossing_Label" + Time[0], OBJ_LABEL, AnalyzeLabelWindow, 0, 0);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_CORNER, 3);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_XDISTANCE, 1);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_YDISTANCE, 43);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_COLOR, Gold);
ObjectSetText("Alarm_Crossing_Label" + Time[0], l_text_428, 12, "Arial Black", Gold);
}
ls_404 = gs_256 + " " + Symbol() + " " + TF2Str(Period()) + " TRIX EXIT ALARM @ " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES);
DoAlerts(ls_404, ls_404);
g_bars_252 = Bars;
if (SoundAlerts) PlaySound("analyze exit.wav");
} else {
if (g_ibuf_224[1] < g_ibuf_212[1] && g_ibuf_232[2] != EMPTY_VALUE && g_ibuf_232[1] == EMPTY_VALUE && g_bars_252 < Bars) {
if (AnalyzeLabelonoff) l_text_428 = "Analyze Exit";
if (ObjectFind("Alarm_Crossing_Label" + Time[0]) == -1) {
if (AnalyzeLabelonoff) {
ObjectDelete("Alarm_Crossing_Label");
ObjectCreate("Alarm_Crossing_Label" + Time[0], OBJ_LABEL, AnalyzeLabelWindow, 0, 0);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_CORNER, 3);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_XDISTANCE, 1);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_YDISTANCE, 43);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_COLOR, Gold);
ObjectSetText("Alarm_Crossing_Label" + Time[0], l_text_428, 12, "Arial Black", Gold);
}
}
ls_404 = gs_256 + " " + Symbol() + " " + TF2Str(Period()) + " TRIX EXIT ALARM @ " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES);
DoAlerts(ls_404, ls_404);
g_bars_252 = Bars;
if (SoundAlerts) PlaySound("analyze exit.wav");
}
}
if (g_ibuf_224[2] < g_ibuf_212[2] && g_ibuf_224[1] > g_ibuf_212[1] && g_bars_252 < Bars) {
if (AnalyzeLabelonoff) l_text_428 = "Analyze Buy";
ObjectDelete("Order_Crossing_Label");
ObjectCreate("Order_Crossing_Label", OBJ_LABEL, AnalyzeLabelWindow, 0, 0);
ObjectSet("Order_Crossing_Label", OBJPROP_CORNER, 3);
ObjectSet("Order_Crossing_Label", OBJPROP_XDISTANCE, 2);
ObjectSet("Order_Crossing_Label", OBJPROP_YDISTANCE, 25);
ObjectSet("Order_Crossing_Label", OBJPROP_COLOR, Red);
ObjectSetText("Order_Crossing_Label", l_text_428, 12, "Arial Black", Lime);
ls_404 = gs_256 + " " + Symbol() + " " + TF2Str(Period()) + " BUY ALARM @ " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES);
DoAlerts(ls_404, ls_404);
g_bars_252 = Bars;
if (SoundAlerts) PlaySound("analyze buy.wav");
} else {
if (g_ibuf_224[2] > g_ibuf_212[2] && g_ibuf_224[1] < g_ibuf_212[1] && g_bars_252 < Bars) {
if (AnalyzeLabelonoff) l_text_428 = "Analyze Sell";
ObjectDelete("Order_Crossing_Label");
ObjectCreate("Order_Crossing_Label", OBJ_LABEL, AnalyzeLabelWindow, 0, 0);
ObjectSet("Order_Crossing_Label", OBJPROP_CORNER, 3);
ObjectSet("Order_Crossing_Label", OBJPROP_XDISTANCE, 2);
ObjectSet("Order_Crossing_Label", OBJPROP_YDISTANCE, 25);
ObjectSet("Order_Crossing_Label", OBJPROP_COLOR, Red);
ObjectSetText("Order_Crossing_Label", l_text_428, 12, "Arial Black", Red);
ls_404 = gs_256 + " " + Symbol() + " " + TF2Str(Period()) + " SELL ALARM @ " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES);
DoAlerts(ls_404, ls_404);
g_bars_252 = Bars;
if (SoundAlerts) PlaySound("analyze sell.wav");
}
}
}
if (AlertOnSlopeChange) {
if (g_ibuf_224[1] > g_ibuf_212[1] && g_ibuf_228[2] != EMPTY_VALUE && g_ibuf_228[1] == EMPTY_VALUE && g_bars_252 < Bars) {
if (AnalyzeLabelonoff) l_text_428 = "Analyze Exit";
if (ObjectFind("Alarm_Crossing_Label" + Time[0]) == -1) {
ObjectDelete("Alarm_Crossing_Label");
ObjectCreate("Alarm_Crossing_Label" + Time[0], OBJ_LABEL, AnalyzeLabelWindow, 0, 0);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_CORNER, 3);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_XDISTANCE, 1);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_YDISTANCE, 43);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_COLOR, Gold);
ObjectSetText("Alarm_Crossing_Label" + Time[0], l_text_428, 12, "Arial Black", Gold);
}
ls_404 = gs_256 + " " + Symbol() + " " + TF2Str(Period()) + " TRIX EXIT ALARM @ " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES);
DoAlerts(ls_404, ls_404);
g_bars_252 = Bars;
if (SoundAlerts) PlaySound("analyze exit.wav");
} else {
if (g_ibuf_224[1] < g_ibuf_212[1] && g_ibuf_232[2] != EMPTY_VALUE && g_ibuf_232[1] == EMPTY_VALUE && g_bars_252 < Bars) {
if (AnalyzeLabelonoff) l_text_428 = "Analyze Exit";
if (ObjectFind("Alarm_Crossing_Label" + Time[0]) == -1) {
if (AnalyzeLabelonoff) {
ObjectDelete("Alarm_Crossing_Label");
ObjectCreate("Alarm_Crossing_Label" + Time[0], OBJ_LABEL, AnalyzeLabelWindow, 0, 0);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_CORNER, 3);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_XDISTANCE, 1);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_YDISTANCE, 43);
ObjectSet("Alarm_Crossing_Label" + Time[0], OBJPROP_COLOR, Gold);
ObjectSetText("Alarm_Crossing_Label" + Time[0], l_text_428, 12, "Arial Black", Gold);
}
}
ls_404 = gs_256 + " " + Symbol() + " " + TF2Str(Period()) + " TRIX EXIT ALARM @ " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES);
DoAlerts(ls_404, ls_404);
g_bars_252 = Bars;
if (SoundAlerts) PlaySound("analyze exit.wav");
}
}
J'aimerais récupéré la texte généré par les DoAlerts(XXX, YYY);
Quel serait le code à utiliser dans l'ea ou à modifier sur l'indic ?
Par avance merci !