Ошибки, баги, вопросы - страница 3351

 
Alexey Viktorov #:

Всё зависит от момента, когда вам нужно это видеть.

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

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

Скажете что надо использовать отложенный ордер и если он не нужен, то удалить ?  Это уже потеря времени. Я не использую никаких отложенных ордеров.

Надо до открытия ордера(отложенного тоже)  узнать что этот запрос пришел от советника или от объекта МТ5.

 
Приветствую!
Подскажите пожалуйста, с чем может быть связана данная ошибка, при подключении к счёту провайдера?

Ранее всё было хорошо, но сейчас периодически, журнал показывает данную информацию
Файлы:
vf6ayu.PNG  33 kb
 
Petros Shatakhtsyan #:

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

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

Скажете что надо использовать отложенный ордер и если он не нужен, то удалить ?  Это уже потеря времени. Я не использую никаких отложенных ордеров.

Надо до открытия ордера(отложенного тоже)  узнать что этот запрос пришел от советника или от объекта МТ5.

Есть только миг, между прошлым и будущим © 

В торговле будущее действие мы определяем сами, либо закладываем алгоритм в советник. Если после открытия позиции по магику можно определить, что позиция открыта советником, то закрытие определить можно только из истории. Либо по событию OnTradeTransaction где и желательно определять кем\чем открыта\закрыта позиция\ордер.

 
Alexey Viktorov #:

Есть только миг, между прошлым и будущим © 

В торговле будущее действие мы определяем сами, либо закладываем алгоритм в советник. Если после открытия позиции по магику можно определить, что позиция открыта советником, то закрытие определить можно только из истории. Либо по событию OnTradeTransaction где и желательно определять кем\чем открыта\закрыта позиция\ордер.

Ну это понятно.

Я скажу короче: Если на графике стоит советник, то как из этого советника запретить открытие/закрытие ордера вручную.

 
Petros Shatakhtsyan #:

Ну это понятно.

Я скажу короче: Если на графике стоит советник, то как из этого советника запретить открытие/закрытие ордера вручную.

Magic для того и есть (хоть и реализован коряво), чтобы советник мог отличать "свои" сделки от "чужих" и учитывать только свои, а чужие игнорить.

 
Petros Shatakhtsyan #:

Ну это понятно.

Я скажу короче: Если на графике стоит советник, то как из этого советника запретить открытие/закрытие ордера вручную.

Запретить открытие\закрытие позиций вручную можно только отрубив себе руки. А в советнике можно только отследить открытие\закрытие и не реагировать на это или задать алгоритм действий отличный от действий на открытие\закрытие позиций вручную. И обратите внимание на факт, что закрыться позиция может по тейку или стопу. Соответственно на такое событие можно поставить свой алгоритм.

 
Alexey Viktorov #:

Запретить открытие\закрытие позиций вручную можно только отрубив себе руки. А в советнике можно только отследить открытие\закрытие и не реагировать на это или задать алгоритм действий отличный от действий на открытие\закрытие позиций вручную. И обратите внимание на факт, что закрыться позиция может по тейку или стопу. Соответственно на такое событие можно поставить свой алгоритм.

Ничего отрезать не надо:)

После открытия ордера есть много вариантов, в том числе и  MagicNumber.

Вот что делать, если кто-то вручную неправильно открыл ордер не в том месте и с ненормальным лотом, если на графике стоит советник.

 
Petros Shatakhtsyan #:

Ничего отрезать не надо:)

После открытия ордера есть много вариантов, в том числе и  MagicNumber.

Вот что делать, если кто-то вручную неправильно открыл ордер не в том месте и с ненормальным лотом, если на графике стоит советник.

А что можно сделать? Для начала давайте попробуем говорить на одном языке… Ордер это ордер. Позиция это позиция.

Если кто-то вручную открыл ордер, то советник может отследить такое открытие и мгновенно удалить этот ордер.

Если-же кто-то откроет вручную позицию, то……… Советник конечно отследит открытие позиции, но закрыть её можно только с убытком.

Магик это не подходящее решение этой проблемы. А если кто-то поставит советнику магик 0, тогда что?

 
Alexey Viktorov #:

А что можно сделать? Для начала давайте попробуем говорить на одном языке… Ордер это ордер. Позиция это позиция.

Если кто-то вручную открыл ордер, то советник может отследить такое открытие и мгновенно удалить этот ордер.

Если-же кто-то откроет вручную позицию, то……… Советник конечно отследит открытие позиции, но закрыть её можно только с убытком.

Магик это не подходящее решение этой проблемы. А если кто-то поставит советнику магик 0, тогда что?

Это как же на одном тике отследить? даже по таймеру, если между тиками меньше времени чем то таймеру. или трейдакшен, он разве, если сразу будет следующий тик успеет удалить ордер? И как это скажется на быстродействии?

И если советник по магику отследит открытие позиции, то закрыться она может только на следующем, и если спред и комса меньше плюсового движения, то будет прибыль))))

А кстати, ручной ордер в тике как дешево отследить? Именно ордер, не позицию.

ЗЫ между тиками конечно)))
 
Valeriy Yastremskiy #:

Это как же на одном тике отследить? даже по таймеру, если между тиками меньше времени чем то таймеру. или трейдакшен, он разве, если сразу будет следующий тик успеет удалить ордер? И как это скажется на быстродействии?

И если советник по магику отследит открытие позиции, то закрыться она может только на следующем, и если спред и комса меньше плюсового движения, то будет прибыль))))

А кстати, ручной ордер в тике как дешево отследить? Именно ордер, не позицию.

ЗЫ между тиками конечно)))

Между тиками только GetMicrosecondCount(1)

Если хотите так нагружать процессор, вам никто не в праве запретить. Да и то, не факт, что будет ровно через 1 микросекунду. Но во всяком случае код будет выполняться беспрерывно.

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