Советник Ultron [внутридневной, GBP/USD, H1]


FEEX

Активный участник
и я пробовал прицепить функцию автора к имеющейся картине - тоже Label выскакивает и сова сразу останавливается.
 

vladradon

Программист
и я пробовал прицепить функцию автора к имеющейся картине - тоже Label выскакивает и сова сразу останавливается.
Значит надо весь код смотреть - что там еще поделаешь... У тебя код старый 4-й, но который тоже рабочий. Сейчас уже используют 5-й код как основной типа того, что я выложил последний.
 

daiman18

Интересующийся
скорее всего там что-то вроде этого)

PHP:
void DrawStats() {
   double ld_0 = GetProfitForDay(0);  
   string l_name_8 = gs_104 + "1";
   if (ObjectFind(l_name_8) == -1) {
      ObjectCreate(l_name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_8, OBJPROP_CORNER, 1);
      ObjectSet(l_name_8, OBJPROP_XDISTANCE, 10);
      ObjectSet(l_name_8, OBJPROP_YDISTANCE, 120);
   }
   ObjectSetText(l_name_8, "Cегодня: " + DoubleToStr(ld_0, 2), 9, "Courier New", Gold);
   ld_0 = GetProfitForDay(1);
   l_name_8 = gs_104 + "2";
   if (ObjectFind(l_name_8) == -1) {
      ObjectCreate(l_name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_8, OBJPROP_CORNER, 1);
      ObjectSet(l_name_8, OBJPROP_XDISTANCE, 10);
      ObjectSet(l_name_8, OBJPROP_YDISTANCE, 135);
   }
   ObjectSetText(l_name_8, "Вчера: " + DoubleToStr(ld_0, 2), 9, "Courier New", Gold);
   ld_0 = GetProfitForDay(2);
   l_name_8 = gs_104 + "3";
   if (ObjectFind(l_name_8) == -1) {
      ObjectCreate(l_name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_8, OBJPROP_CORNER, 1);
      ObjectSet(l_name_8, OBJPROP_XDISTANCE, 10);
      ObjectSet(l_name_8, OBJPROP_YDISTANCE, 150);
   }
   ObjectSetText(l_name_8, "Позавчера: " + DoubleToStr(ld_0, 2), 9, "Courier New", Gold);
   ld_0 = 0;
   for (int id_day = 0; id_day < DayOfWeek(); id_day ++)
   ld_0 = ld_0 + GetProfitForDay(id_day);
   l_name_8 = gs_104 + "4";
   if (ObjectFind(l_name_8) == -1) {
      ObjectCreate(l_name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_8, OBJPROP_CORNER, 1);
      ObjectSet(l_name_8, OBJPROP_XDISTANCE, 10);
      ObjectSet(l_name_8, OBJPROP_YDISTANCE, 165);
   }
   ObjectSetText(l_name_8, "Неделя: " + DoubleToStr(ld_0, 2), 9, "Courier New", Gold);

   ld_0 = 0;
   for (int id_day = 0; id_day < Day(); id_day ++)
   ld_0 = ld_0 + GetProfitForDay(id_day);
   l_name_8 = gs_104 + "5";
   if (ObjectFind(l_name_8) == -1) {
      ObjectCreate(l_name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_8, OBJPROP_CORNER, 1);
      ObjectSet(l_name_8, OBJPROP_XDISTANCE, 10);
      ObjectSet(l_name_8, OBJPROP_YDISTANCE, 180);
   }
   ObjectSetText(l_name_8, "Месяц: " + DoubleToStr(ld_0, 2), 9, "Courier New", Gold);

   l_name_8 = gs_104 + "6";
   if (ObjectFind(l_name_8) == -1) {
      ObjectCreate(l_name_8, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_8, OBJPROP_CORNER, 1);
      ObjectSet(l_name_8, OBJPROP_XDISTANCE, 10);
      ObjectSet(l_name_8, OBJPROP_YDISTANCE, 195);
   }
   ObjectSetText(l_name_8, "Баланс: " + DoubleToStr(AccountBalance(), 2), 11, "Courier New", Gold);
}
PHP:
double GetProfitForDay(int ai_0) {
   double ld_ret_4 = 0;
   for (int l_pos_12 = 0; l_pos_12 < OrdersHistoryTotal(); l_pos_12++) {
      if (!(OrderSelect(l_pos_12, SELECT_BY_POS, MODE_HISTORY))) break;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
         if (OrderCloseTime() >= iTime(Symbol(), PERIOD_D1, ai_0) && OrderCloseTime() < iTime(Symbol(), PERIOD_D1, ai_0) + 86400) ld_ret_4 = ld_ret_4 + OrderProfit() + OrderCommission() + OrderSwap();
   }
   return (ld_ret_4);
}
все верно на графике по мимо это го показывает баланс, просадку и прибыль в сумме , вот и я хотел туда докрутить еще процент прибыли за день и т.д

может этот код и не подходит

PHP:
double GetProfitTodayInPercent()
{
double profitToday = GetProfitForDay(0);
double balanceToday = AccountBalance() - profitToday;

return 100.0 * profitToday/balanceToday;
кто может подсказать как сделать
 

FEEX

Активный участник
Значит надо весь код смотреть - что там еще поделаешь... У тебя код старый 4-й, но который тоже рабочий. Сейчас уже используют 5-й код как основной типа того, что я выложил последний.
Вот и я про то) надо всё смотреть.
а код наидревнейший, ему лет 10 минимум)
 

vladradon

Программист
В mql5 последние два билда, 1968 и 1970 ужасно тормозят на ObjectFind может и mql4 эта беда зацепила? В 1971 вроде исправили.
Привет! У меня вроде нормально на обоих языках работают. А вот изменение параметров объекта (текста) иногда очень запаздывает - перед циклом меняется текст кнопки и цикл проходит (несколько секунд), а текст так и не меняется (периодически).
 

AlexeyVik

Программист mql4 mql5

Вложения

AlexeyVik

Программист mql4 mql5
Привет! У меня вроде нормально на обоих языках работают. А вот изменение параметров объекта (текста) иногда очень запаздывает - перед циклом меняется текст кнопки и цикл проходит (несколько секунд), а текст так и не меняется (периодически).
Это скорее всего задержки тиков. Но ставить ChartRedraw не рекомендую. Тоже тормоз в вышеуказанных билдах. Исправили или нет не знаю.
 

daiman18

Интересующийся
Привет! У меня вроде нормально на обоих языках работают. А вот изменение параметров объекта (текста) иногда очень запаздывает - перед циклом меняется текст кнопки и цикл проходит (несколько секунд), а текст так и не меняется (периодически).
да есть текст , и есть цифровые значения
 

buza70

Местный житель
FEEX,как работает трал с безубытком? или он не работает если включен бу?
 

FEEX

Активный участник
FEEX,как работает трал с безубытком? или он не работает если включен бу?
Работают как вместе, так и по отдельности.
С включенным безубытком реже дело будет доходить до трала, ибо трал в этой сове включается только при пересечении ценой уровня ТР.
 
Последнее редактирование:

buza70

Местный житель
Работают как вместе, так и по отдельности.
С включенным безубытком реже дело будет доходить до трала, ибо трал в этой сове включается только при пересечении ценой уровня ТР.
Но это всё может работь вместе и по отдельности.
т.е. при вкл трале ТР не фиксируется?
 

FEEX

Активный участник
т.е. при вкл трале ТР не фиксируется?
Если трал включен и цена пересекла уровень ТР, то ТР в этот момент не сработает.
Далее, если цена продвинулась на 5п. то включается трал с шагом 2п. (настр. по умолчанию).
Если цена после пересечения уровня ТР не продвинулась на 5п. и дальше, а развернулась и пошла обратно, то сработает уже ТР.
В общем, в лучшем случае цена будет тралиться пока не закроется с прибылью выше уровня ТР, в худшем - закроется на уровне ТР
 

buza70

Местный житель
FEEX,а бу работает только с вкл тралом, если не ошибаюсь?
 

FEEX

Активный участник
FEEX,а бу работает только с вкл тралом, если не ошибаюсь?
Я же написал: как вместе так и отдельно.
Всё работает независимо друг от друга.
Трал отдельно
безубыток отдельно.
Хотите вместе - включите и трал и безубыток.
 

buza70

Местный житель
Я же написал: как вместе так и отдельно.
Всё работает независимо друг от друга.
Трал отдельно
безубыток отдельно.
Хотите вместе - включите и трал и безубыток.
ясно, просто где-то ранее указывали что бу работает только при вкл трале
 

FEEX

Активный участник
Вот без трала.
Только безубыток активирован
активация 30, шаг 10
 

Вложения

Онлайн статистика

Пользователи онлайн
68
Гости онлайн
88
Всего посетителей
156

Статистика

Верх