Советник 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 минимум)
 

AlexeyVik

Программист mql4 mql5
В mql5 последние два билда, 1968 и 1970 ужасно тормозят на ObjectFind может и mql4 эта беда зацепила? В 1971 вроде исправили.
 

vladradon

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

AlexeyVik

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

daiman18

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

buza70

Новичок форума
FEEX,как работает трал с безубытком? или он не работает если включен бу?
 

FEEX

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

buza70

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

FEEX

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

buza70

Новичок форума
FEEX,а бу работает только с вкл тралом, если не ошибаюсь?
 

FEEX

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

buza70

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

FEEX

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

Вложения

Верх