советник - разные вопросы - страница 38

 
Keith Watford:
таким образом, если вы выделите линию при нажатии на кнопку, она будет автоматически снята с выделения.
хмм... Это хорошая идея - спасибо за нее. Я никогда не обращал на это внимания. Давайте я попробую.
 

#Объект Смешанный - Закрыто

Большое спасибо за оба ваших комментария.
Пока что все работает без проблем.

 

#Стоп-лосс и тейк-профит не верны - открытие позиции

Иногда Stop Loss и Take Profit немного сдвигаются, когда я открываю позицию (например: ± 0.00001 или 0.00002 и более для EURUSD при низкой волатильности).
Мне нужно написать код для этого, но прежде я хотел бы спросить.

В таких случаях я в настоящее время изменяю вручную после сдвига SL и TP, и это меня очень раздражает.

Вопрос: Что бы вы могли посоветовать по этому поводу, пожалуйста?

(Я просто беспокоюсь о коде для этого, что это принесет больше проблем...)
(И я думаю, что это не будет небольшой частью скрипта).

Заранее спасибо.

 

Совет заключается в том, чтобы использовать скрытые стопы.

То есть стопы, которые скрыты от сервера брокера.

Это означает, что вы должны либо обнаруживать новые ордера и затем размещать виртуальные стопы, либо размещать виртуальные стопы, когда ордер открывается.

В обоих примерах у вас есть виртуальные стопы, и ваш советник должен быть онлайн, чтобы изменять и закрывать стопы/позиции.

Если вы отправляете стопы на сервер брокера, то вы можете отключить советника, а стопы все равно будут срабатывать, потому что теперь ими занимается сервер, а не ваш советник.


Так что все зависит от того, что вы хотите сделать.

Вы говорите, что настраиваете стопы вручную, это можно сделать в обоих примерах.

Я не уверен, в чем заключается ваш вопрос или какой механизм TP/SL вы предпочитаете.

 

#Стоп-лосс и тейк-профит не верны - PreClose

Marco vd Heijden:

Я понял вас! Пока я читал ваш комментарий, у меня появилась идея, как я могу решить свой вопрос, а также я думаю, что потеряю много времени на это.
Если я решу попробовать что-то сделать для своей идеи, я сделаю скриншот, который поможет прояснить мой вопрос.

Спасибо!

 

#CHARTEVENT_KEYDOWN - Открыть

Я пытаюсь найти алфавит для функции CHARTEVENT_KEYDOWN, я уже нашел несколько вещей, но они не могут решить мой вопрос, возможно они устарели для MQL4.

Я уже знаю пример ниже - но мне нужно получить больше информации или документации по алфавиту , например: A, B, C, ... Z

#define  KEY_LEFT  37 // Left Arrow - works
#define  KEY_A     65 // A alphabet - does not works

Вопрос: Не могли бы вы поделиться со мной номерами алфавитных ключей, пожалуйста?

Мне нужно попробовать что-то для функции CHARTEVENT_KEYDOWN сегодня, пожалуйста, помогите мне.
(в настоящее время я исследую)

Заранее спасибо.

Решено
 

Мне нужно, чтобы ключ " A " мог создавать объекты, а также удалять объекты из облака.

Пример: При первом нажатии : клавиша " A " создает несколько объектов. (для которого я уже написал код - он работает идеально для меня)
2-й раз нажата: клавиша " A " удаляет эти объекты. ( какой ключ "A" создал эти объекты )

Я просто ищу метод, как я могу удалить объекты с помощью клавиши " A ".
Пожалуйста, дайте мне совет или помогите мне с примером.

Заранее спасибо.

// 2-й раз редактировалось

Вчера вечером мой мозг был полон, теперь я решил эту проблему.

#CHARTEVENT_KEYDOWN - Закрыто
 

#Bitmap Alpha - Открыть

Мне нужно использовать .bmp альфа, но я не могу получить ничего хорошего в SEO, что я пробую что-то. Мне нужны хорошие комментарии, пожалуйста.

Заранее спасибо.

// 2-й раз редактировалось

Любые связанные ссылки были бы лучше...
Все еще исследую...

 

#Перемещение объекта - повторное открытие

Приведенный ниже метод (почти) работает для меня на данный момент. (пока не тестировал широко, все еще исследую)

Q #1: Объекты Graphics() получают больше x20 и y20 после завершения перетаскивания, как я могу решить это, пожалуйста?

Любой совет будет лучше для меня, пожалуйста.

Заранее спасибо.

extern orgX = 20;
extern orgY = 20;

void OnChartEvent(const int id,const long&lparam,const double&dparam,const string&sparam)
  {
   if(sparam==moveObj)
     {
      if(id==CHARTEVENT_OBJECT_DRAG)
        {
         orgX=(int)ObjectGet(moveObj,OBJPROP_XDISTANCE);
         orgY=(int)ObjectGet(moveObj,OBJPROP_YDISTANCE);
         Graphics();
         // Could I put all of my obj functions here, please?
         // I have a lot of objects and some object names have Order Ticket numbers...
        }
     }
   return;
  }
 

Поскольку внешне объявленные параметры не могут быть изменены, я всегда копирую внешний параметр, а затем изменяю копию.

Также extern устарел, используйте

input int orgX;

or

static input int orgX;

or 

sinput int orgX;
Причина обращения: