реклама
Бургер менюБургер меню

Алексей Боровков – 10 роботов для автоматической торговли на Форекс (страница 23)

18

ObjectCreate(0, prefix+"X_A", OBJ_TREND, 0, pattern.timeX, pattern.X, pattern.timeA, pattern.A);

ObjectSetInteger(0, prefix+"X_A", OBJPROP_COLOR, PatternColor);

ObjectSetInteger(0, prefix+"X_A", OBJPROP_WIDTH, 2);

ObjectSetInteger(0, prefix+"X_A", OBJPROP_RAY, false);

ObjectCreate(0, prefix+"A_B", OBJ_TREND, 0, pattern.timeA, pattern.A, pattern.timeB, pattern.B);

ObjectSetInteger(0, prefix+"A_B", OBJPROP_COLOR, PatternColor);

ObjectSetInteger(0, prefix+"A_B", OBJPROP_WIDTH, 2);

ObjectSetInteger(0, prefix+"A_B", OBJPROP_RAY, false);

ObjectCreate(0, prefix+"B_C", OBJ_TREND, 0, pattern.timeB, pattern.B, pattern.timeC, pattern.C);

ObjectSetInteger(0, prefix+"B_C", OBJPROP_COLOR, PatternColor);

ObjectSetInteger(0, prefix+"B_C", OBJPROP_WIDTH, 2);

ObjectSetInteger(0, prefix+"B_C", OBJPROP_RAY, false);

ObjectCreate(0, prefix+"C_D", OBJ_TREND, 0, pattern.timeC, pattern.C, pattern.timeD, pattern.D);

ObjectSetInteger(0, prefix+"C_D", OBJPROP_COLOR, PatternColor);

ObjectSetInteger(0, prefix+"C_D", OBJPROP_WIDTH, 2);

ObjectSetInteger(0, prefix+"C_D", OBJPROP_RAY, false);

// Добавляем точки

CreatePoint(prefix+"X", pattern.timeX, pattern.X, 218);

CreatePoint(prefix+"A", pattern.timeA, pattern.A, 218);

CreatePoint(prefix+"B", pattern.timeB, pattern.B, 218);

CreatePoint(prefix+"C", pattern.timeC, pattern.C, 218);

CreatePoint(prefix+"D", pattern.timeD, pattern.D, 218);

// Добавляем метки

CreateLabel(prefix+"Label_X", "X", pattern.timeX, pattern.X);

CreateLabel(prefix+"Label_A", "A", pattern.timeA, pattern.A);

CreateLabel(prefix+"Label_B", "B", pattern.timeB, pattern.B);

CreateLabel(prefix+"Label_C", "C", pattern.timeC, pattern.C);

CreateLabel(prefix+"Label_D", "D", pattern.timeD, pattern.D);

// Добавляем название паттерна

string patternName = GetPatternName(pattern.type);

CreateLabel(prefix+"PatternName", patternName + " " + ((pattern.direction == 1) ? "Bullish" : "Bearish"),

pattern.timeD, pattern.D, 12, clrRed);

}

//+–+

//| Создание точки на графике |

//+–+

void CreatePoint(string name, datetime time, double price, int code)

{

ObjectCreate(0, name, OBJ_ARROW, 0, time, price);

ObjectSetInteger(0, name, OBJPROP_ARROWCODE, code);

ObjectSetInteger(0, name, OBJPROP_COLOR, PatternColor);

ObjectSetInteger(0, name, OBJPROP_WIDTH, 3);

}

//+–+

//| Создание метки на графике |

//+–+

void CreateLabel(string name, string text, datetime time, double price, int fontSize = 8, color clr = clrBlack)

{

ObjectCreate(0, name, OBJ_TEXT, 0, time, price);

ObjectSetString(0, name, OBJPROP_TEXT, text);

ObjectSetInteger(0, name, OBJPROP_COLOR, clr);

ObjectSetInteger(0, name, OBJPROP_FONTSIZE, fontSize);

ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_UPPER);

}

//+–+

//| Удаление линий паттерна |

//+–+

void DeletePatternLines()

{

string prefix = "HP_"+IntegerToString(MagicNumber)+"_";

for(int i = ObjectsTotal(0)-1; i >= 0; i–)

{

string name = ObjectName(0, i);

if(StringFind(name, prefix) == 0)

{