Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Появилась идея? Обсуди ее на форуме трейдеров!
Oleg
2377
Oleg 2011.07.30 16:07 

Задача следующая (для робота):

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

Если Бид пересекает верхнюю то необходимо открыть Селл по маркету.

Если Аск пересекает нижнюю то необходимо открыть Бай по маркету.

Казалось бы все сводится к тому чтобы найти ближайшую линию сверху и ближайшую снизу, а потом ждать пересечения с одной из них и открыть соответствующий ордер. Но тут и кроется проблема - в момент пересечения, например верхней линии, фактически цена оказывается уже между верхней линией и той что выше нее. Получается что верхняя линия которая изначально была для открытия продажи теперь оказывается ниже цены и становится линией покупки.

- Может у кого-нибудь есть идея как справиться с этим противоречием?

Спасибо!

PS Приветствуются любые идеи.

Роман
7939
Роман 2011.07.30 16:12  
chief2000:

Задача следующая (для робота):

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

Если Бид пересекает верхнюю то необходимо открыть Селл по маркету.

Если Аск пересекает нижнюю то необходимо открыть Бай по маркету.

Казалось бы все сводится к тому чтобы найти ближайшую линию сверху и ближайшую снизу, а потом ждать пересечения с одной из них и открыть соответствующий ордер. Но тут и кроется проблема - в момент пересечения, например верхней линии, фактически цена оказывается уже между верхней линией и той что выше нее. Получается что верхняя линия которая изначально была для открытия продажи теперь оказывается ниже цены и становится линией покупки.

- Может у кого-нибудь есть идея как справиться с этим противоречием?

Спасибо!


Здесь посмотрите - похоже на Ваш случай.
Oleg
2377
Oleg 2011.07.30 16:27  
Roman.:

Здесь посмотрите - похоже на Ваш случай.


В том случае линии Бай задаются одним цветом, а линии Селл - другим. Они там не взаимозаменяемые, а потому такой проблемы там нет.

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


Повторюсь - на данном этапе проблема в том что после пересечения верхней линии она становится линией Бай еще до того как открылся ордер Селл. Необходимо какое-то решение чтобы ордер Селл успел открыться до того как робот сочтет пересеченную линию Селл линией Бай.

Роман
7939
Роман 2011.07.30 16:29  
chief2000:


В том случае линии Бай задаются одним цветом, а линии Селл - другим. Они там не взаимозаменяемые, а потому такой проблемы там нет.

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



А..., сейчас понятно...
Роман
7939
Роман 2011.07.30 16:52  
chief2000:


В том случае линии Бай задаются одним цветом, а линии Селл - другим. Они там не взаимозаменяемые, а потому такой проблемы там нет.

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


Повторюсь - на данном этапе проблема в том что после пересечения верхней линии она становится линией Бай еще до того как открылся ордер Селл. Необходимо какое-то решение чтобы ордер Селл успел открыться до того как робот сочтет пересеченную линию Селл линией Бай.


Понятно, просто с объектами возекаться... не слишком по мне...
Vladimir Gomonov
8235
Vladimir Gomonov 2011.07.30 17:09  
chief2000:


В том случае линии Бай задаются одним цветом, а линии Селл - другим. Они там не взаимозаменяемые, а потому такой проблемы там нет.

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


Повторюсь - на данном этапе проблема в том что после пересечения верхней линии она становится линией Бай еще до того как открылся ордер Селл. Необходимо какое-то решение чтобы ордер Селл успел открыться до того как робот сочтет пересеченную линию Селл линией Бай.

Ты перемудрил канкретна. Не нужно распознавать "линии верхние/нижние". Нужно распознавать "пересечение вверх/вниз". Ипсё.
Oleg
2377
Oleg 2011.07.30 22:27  
MetaDriver:
Ты перемудрил канкретна. Не нужно распознавать "линии верхние/нижние". Нужно распознавать "пересечение вверх/вниз". Ипсё.


Задача действительно значительно упростилась. На этом этапе воспользуюсь этим решением.

Всем Большое Спасибо!

Vladimir Gomonov
8235
Vladimir Gomonov 2011.07.30 22:31  
chief2000:


Задача действительно значительно упростилась. На этом этапе воспользуюсь этим решением.

Всем Большое Спасибо!

ОК!
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий