Советники: Установка и закрытие ордеров с помощью перемещаемых линий - страница 2

 
denis_orlov:

double ObjectGetValueByShift( string name, int shift) Функция вычисляет и возвращает значение цены для указанного бара (смещение относительно текущего бара). Значение цены вычисляется при помощи линейного уравнения по первой и второй координатам. Применяется для трендовых линий и аналогичных объектов. Для получения информации об ошибке необходимо вызвать функцию GetLastError().

Спасибо!

 

Отличная вещь! Только как сделать, что при срабатывании одного из ордеров и его последующем закрытии в S/l или T/P, другие ордера бы отменялись? А то срабатывает, например БАЙ, закрывается в прибыль, а затем цена опускается и снова Бай, и так до бесконечноти? Мож как-нибудь из него скрипт сделать, чтобы только раз открывался ордер?

 
Oligarch:

Отличная вещь! Только как сделать, что при срабатывании одного из ордеров и его последующем закрытии в S/l или T/P, другие ордера бы отменялись? А то срабатывает, например БАЙ, закрывается в прибыль, а затем цена опускается и снова Бай, и так до бесконечноти? Мож как-нибудь из него скрипт сделать, чтобы только раз открывался ордер?

Если я правильно понял - Вам необходимо, чтоб експерт работал всего для одной сделки? Если так то после установки ордера удалите или переместите линии SELL и BUY  и больше ордера открываться не будут, а при достижении ценой линии CLOSE все сделки закроются.

 
cmillion:
Oligarch:

Отличная вещь! Только как сделать, что при срабатывании одного из ордеров и его последующем закрытии в S/l или T/P, другие ордера бы отменялись? А то срабатывает, например БАЙ, закрывается в прибыль, а затем цена опускается и снова Бай, и так до бесконечноти? Мож как-нибудь из него скрипт сделать, чтобы только раз открывался ордер?

Если я правильно понял - Вам необходимо, чтоб експерт работал всего для одной сделки? Если так то после установки ордера удалите или переместите линии SELL и BUY и больше ордера открываться не будут, а при достижении ценой линии CLOSE все сделки закроются.

Вы абсолютно правы. Но дело в том, что во время срабатывания ордера меня может не оказаться возле компьютера. Т.к. цена может достигнуть заданного уровня в любое время дня и ночи. И Все преимущество данного советника как раз и заключалось бы в том, чтобы освободить трейдера от круглосуточного непрерывного мониторинга ценового графика.

 
Oligarch:
cmillion:
Oligarch:

Отличная вещь! Только как сделать, что при срабатывании одного из ордеров и его последующем закрытии в S/l или T/P, другие ордера бы отменялись? А то срабатывает, например БАЙ, закрывается в прибыль, а затем цена опускается и снова Бай, и так до бесконечноти? Мож как-нибудь из него скрипт сделать, чтобы только раз открывался ордер?

Если я правильно понял - Вам необходимо, чтоб експерт работал всего для одной сделки? Если так то после установки ордера удалите или переместите линии SELL и BUY и больше ордера открываться не будут, а при достижении ценой линии CLOSE все сделки закроются.

Вы абсолютно правы. Но дело в том, что во время срабатывания ордера меня может не оказаться возле компьютера. Т.к. цена может достигнуть заданного уровня в любое время дня и ночи. И Все преимущество данного советника как раз и заключалось бы в том, чтобы освободить трейдера от круглосуточного непрерывного мониторинга ценового графика.


Вставте сразу в начале функции start

int start()
{
  if (OrdersTotal()>0)
  {
  ObjectDelete("LINES SELL");
  ObjectDelete("LINES BUY");
  DRAW_SELL = false;
  DRAW_BUY = false;
  }
После открытия ордера удаляются линии SELL и BAY, естественно повторного ордера не будет пока не перезапустите эксперта или не перейдете на другой таймфрейм.
Удачи!

 

Как сделать так, чтобы после переключения ПРОФИЛЕЙ линии не переустанавливать снова? СПАСИБО!

 
kamil:

Как сделать так, чтобы после переключения ПРОФИЛЕЙ линии не переустанавливать снова? СПАСИБО!

Удалите из функции  deinit() все строчки ObjectDelete.........

 
cmillion:
kamil:

Как сделать так, чтобы после переключения ПРОФИЛЕЙ линии не переустанавливать снова? СПАСИБО!

Удалите из функции deinit() все строчки ObjectDelete.........

Удалил - скомпилировал, теперь вообще линий не рисует. Все удалил, снова скачал и все равно никаких линий....

 

Первая прорисовка индикатора происходит при первом тике. Проверте поступления котировок. или попробуйте в режиме тестирования на истории. Будут вопросы пишите в личку.

 

Полезная вещь. Автор, как сделать так, чтоб было возможно на график вешать несколько селлов и баев и к каждому только свой клозе

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