Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1102

 

Коллеги! На прошлой неделе все работало - доступ к счету был!!! что означает эта ошибка и как подключиться к счету? Пароли все есть!!!


свежую версию выставил...

вот строку подсветил - что это? Удалить текущую старую версию?


 
Andrey Sokolov:

Тогда, возможно, как уже предложили, по магику

в четвёрке по магику можно только открытие отслеживать. вопрос был про закрытие.

 
Andrey Sokolov:

Тогда, возможно, как уже предложили, по магику

Сам момент закрытия интересует... то есть, например, есть советник, который везде в своих ордерах те же магики накидал. Но в определенный момент ему нужно определить, закрыл ли он сам свою сделку или это кто-то влез и закрыл ее... На ходу ж низя менять ни магики, ни комменты...?

 
Alexandr Sokolov:

эти стрелки рисуются, а почему стрелки с кодом 241 и 242 не рисуются?

Кто сказал? Я ведь не зря попросил изменить коды :)

Тест номер два: смотрим внимательно на шрифт Wingdings

Символы шрифта Wingdings, используемые с объектом OBJ_ARROW:

wingdings


а теперь сравниваем коды 241, 242 с объектами OBJ_ARROW_UP и OBJ_ARROW_DOWN и видим ... Что видим?

 
Vladimir Karputov:

Кто сказал? Я ведь не зря попросил изменить коды :)

Тест номер два: смотрим внимательно на шрифт Wingdings

Символы шрифта Wingdings, используемые с объектом OBJ_ARROW:



а теперь сравниваем коды 241, 242 с объектами OBJ_ARROW_UP и OBJ_ARROW_DOWN и видим ... Что видим?

OBJ_ARROW_UP и OBJ_ARROW_DOWN не используются для указания типа объекта, они для удобства чтобы было проще отличить


вот я сделал как в пример по ссылке

void ArrowCreate(ENUM_OBJECT             type,
                 datetime                time,
                 double                  price)
  {
   
   string name = (type == OBJ_ARROW_UP ? "Arrow Up №"+(string)(up+1) : "Arrow Down №"+(string)(down+1));
   if(type == OBJ_ARROW_UP)  { up++; }
   else                      { down++; };
   
   ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0);          // создадим стрелку
      ObjectSetInteger(0,name,OBJPROP_ARROWCODE,(type == OBJ_ARROW_UP ? 241 : 242));    // установим код стрелки
      ObjectSetInteger(0,name,OBJPROP_TIME,time);        // зададим время
      ObjectSetDouble(0,name,OBJPROP_PRICE,price);
   
   /*
   ResetLastError();
   if(ObjectCreate(ChartID(),name,OBJ_ARROW,0,time,price))
     {
      ObjectSetInteger(ChartID(),name,OBJPROP_ARROWCODE,(type == OBJ_ARROW_UP ? 225 : 226));
     }
   else
     {
      Print(__FUNCTION__,
            ": не удалось создать знак \"Стрелка\"! Код ошибки = ",GetLastError()); return;
     };
   ObjectSetInteger(ChartID(),name,OBJPROP_ANCHOR,(type == OBJ_ARROW_UP ? ANCHOR_TOP : ANCHOR_BOTTOM)); 
   ObjectSetInteger(ChartID(),name,OBJPROP_COLOR,(type == OBJ_ARROW_UP ? a_color_buy : a_color_sell));
   ObjectSetInteger(ChartID(),name,OBJPROP_STYLE,STYLE_SOLID); 
   ObjectSetInteger(ChartID(),name,OBJPROP_WIDTH,a_size); 
   ObjectSetInteger(ChartID(),name,OBJPROP_BACK,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_SELECTABLE,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_SELECTED,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_HIDDEN,true); 
   ObjectSetInteger(ChartID(),name,OBJPROP_ZORDER,0);*/
  }


... и вот результат


 
Alexandr Sokolov:

OBJ_ARROW_UP и OBJ_ARROW_DOWN не используются для указания типа объекта, они для удобства чтобы было проще отличить


вот я сделал как в пример по ссылке


... и вот результат


Ладно, ночь на дворе, а ВЫ так и не поняли. Объект OBJ_ARROW - Это графический объект которому можно задать символ из шрифта Wingdings. Так вот, объекты OBJ_ARROW_UP и OBJ_ARROW_DOWN - это есть частый случай OBJ_ARROW с кодом 241,242.

 
Vladimir Karputov:

Ладно, ночь на дворе, а ВЫ так и не поняли. Объект OBJ_ARROW - Это графический объект которому можно задать символ из шрифта Wingdings. Так вот, объекты OBJ_ARROW_UP и OBJ_ARROW_DOWN - это есть частый случай OBJ_ARROW с кодом 241,242.

А как тогда создать стрелку, похожей по размеру но с заливкой внутри?

Я где-то когда-то такие видел на сейчас найти не могу

 
Alexandr Sokolov:

А как тогда создать стрелку, похожей по размеру но с заливкой внутри?

Я где-то когда-то такие видел на сейчас найти не могу

Попробуйте заменить OBJ_ARROW_UP и OBJ_ARROW_DOWN на OBJ_ARROW

 
Alexandr Sokolov:

А как тогда создать стрелку, похожей по размеру но с заливкой внутри?

Я где-то когда-то такие видел на сейчас найти не могу

Это OBJ_ARROW с кодами 231-238. 

 

Приветствую!

Не получается закрывать противоположные ордера разных лотов через CTrade.PositionCloseBy(ticket1,ticket2).

ResultRetCode() - выдает ошибку 10035.

Можете подсказать в чем причина?

Причина обращения: