Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...а если "ордер перед этим выбран", но ЕЩЁ НЕ ЗАКРЫТ, то OrderClosePrice() = это что?.......
бид или аск, который вы ищите)
пс. при таком способе, при ошибке закрытия, обязательно нужно выбирать ордер снова.
Воля Ваша, но я сомневаюсь в такой конструкции:
Получается, что мы даём команду "закрыть ордер по цене закрытия". Масло масленое.
Но в любом случае - речь не об этом, а о работе советника с позициями, открытыми одновременно на разных парах. Чтобы получать значения СООТВЕТСТВУЮЩИХ индексов для СООТВЕТСТВУЮЩИХ позиций.
Воля Ваша, но я сомневаюсь в такой конструкции:
Получается, что мы даём команду "закрыть ордер по цене закрытия". Масло масленое.
Но в любом случае - речь не об этом, а о работе советника с позициями, открытыми одновременно на разных парах. Чтобы получать значения СООТВЕТСТВУЮЩИХ индексов для СООТВЕТСТВУЮЩИХ позиций.
Пустые сомнения, Если ордер Buy открывается по цене Ask, то закрывается по цене Bid, в этом ни у кого сомнений нет. Так вот для ордера Buy в OrderClosePrice() хранится текущая цена Bid
Из документации
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Работа советника с разными парами
Taras Slobodyanik, 2017.10.07 12:48
бид или аск, который вы ищите)
пс. при таком способе, при ошибке закрытия, обязательно нужно выбирать ордер снова.
И всё же.
Бог с ним, с "Закрытием по цене закрытия для того, чтобы закрыть закрытое"
Тема этой ветки другая. Повторюсь:
Если, как пишет Andrei Fandeev, Bid берётся от другого инструмента, то ордер попросту НЕ ЗАКРОЕТСЯ и выдаст ошибку. Но беда в том, что он - зараза! - именно закрывается по "местному" Bid'у, но...............вот тут я и не понимаю: то ли по каким-то "чужим", из других пар, ТЕКУЩИМ условиям, то ли отказывается перед расчётом индекса обнулять его значение, полученное ранее:
CCI = 0;
CCI = iCCI(Pair,PERIOD_H1,24,PRICE_TYPICAL,0);
И в результате мы имеем неправильный CLOSE, который никак не отвечает заложенной в код логике.
А то и хуже того: иногда имеем, иногда - нет. О как!
А Print() после CLOSE выдаёт иной раз вообще бред, типа CCI=56743876501,540056
И, помятуя вышесказанное, КАЖДЫЙ РАЗ ВЫБИРАЕТСЯ ОРДЕР СНОВА.
И всё же.
Бог с ним, с "Закрытием по цене закрытия для того, чтобы закрыть закрытое"
Тема этой ветки другая. Повторюсь:
Если, как пишет Andrei Fandeev, Bid берётся от другого инструмента, то ордер попросту НЕ ЗАКРОЕТСЯ и выдаст ошибку. Но беда в том, что он - зараза! - именно закрывается по "местному" Bid'у, но...............вот тут я и не понимаю: то ли по каким-то "чужим", из других пар, ТЕКУЩИМ условиям, то ли отказывается перед расчётом индекса обнулять его значение, полученное ранее:
CCI = 0;
CCI = iCCI(Pair,PERIOD_H1,24,PRICE_TYPICAL,0);
И в результате мы имеем неправильный CLOSE, который никак не отвечает заложенной в код логике.
А то и хуже того: иногда имеем, иногда - нет. О как!
А Print() после CLOSE выдаёт иной раз вообще бред, типа CCI=56743876501,540056
И, помятуя вышесказанное, КАЖДЫЙ РАЗ ВЫБИРАЕТСЯ ОРДЕР СНОВА.
И ещё один совет был проигнорирован
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Работа советника с разными парами
Alexey Viktorov, 2017.10.06 12:28
Проверка OrderSymbol() спасёт.
Вот только что.
На двух парах (двух открытых позициях) висели два советника. У обоих в самом начале if(OrderSymbol() == . Даже ДО пересчёта индикаторов. (В которых, кстати, тоже прописано конкретно: CCI = iCCI("AUDJPY",PERIOD_H1,24,PRICE_TYPICAL,0);
Так пришёл сигнал на закрытие с одного советника(пары) - закрылась ДРУГАЯ ПОЗИЦИЯ!
И я не игнорирую советы! Ну, вот куда ещё его (Проверка OrderSymbol() спасёт.) вставить (извините.......), чтобы всё заработало уже????
И ещё один совет был проигнорирован
Вот только что.
На двух парах (двух открытых позициях) висели два советника. У обоих в самом начале if(OrderSymbol() == . Даже ДО пересчёта индикаторов. (В которых, кстати, тоже прописано конкретно: CCI = iCCI("AUDJPY",PERIOD_H1,24,PRICE_TYPICAL,0);
Так пришёл сигнал на закрытие с одного советника(пары) - закрылась ДРУГАЯ ПОЗИЦИЯ!
И я не игнорирую советы! Ну, вот куда ещё его (Проверка OrderSymbol() спасёт.) вставить (извините.......), чтобы всё заработало уже????
И ещё один совет был проигнорирован
Кроме того.
OrderTicket() - Уникальный порядковый номер ордера.
Так какого х..............а индюки проверяются для ОДНОГО "Уникального порядкового номера ордера", а закрывается другой "Уникальный порядковый номер ордера". ????????????????????????????????????????????????????????
Вот только что.
На двух парах (двух открытых позициях) висели два советника. У обоих в самом начале if(OrderSymbol() == . Даже ДО пересчёта индикаторов. (В которых, кстати, тоже прописано конкретно: CCI = iCCI("AUDJPY",PERIOD_H1,24,PRICE_TYPICAL,0);
Так пришёл сигнал на закрытие с одного советника(пары) - закрылась ДРУГАЯ ПОЗИЦИЯ!
И я не игнорирую советы! Ну, вот куда ещё его (Проверка OrderSymbol() спасёт.) вставить (извините.......), чтобы всё заработало уже????
Ну здесь нужно явно смотреть показания не на нулевом баре, а на первом, потому что вы даже не сможете зрительно усмотреть, был-ли сигнал, или его не было, на нулевом баре показания индикатора меняются с каждым тиком
У вас был сигнал, вот и произошло закрытие, потом индикатор перерисовался, и сигнал пропал, поэтому сделан такой вывод.