Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 125
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я бы сделал так:
P.S. Одновременно ответили)))
Не понял:
если открыта на первом баре, то ищем от нулевого до нулевого?
Не понял:
если открыта на первом баре, то ищем от нулевого до нулевого?
Это небольшая перестраховка на случай если на момент открытия цена открытия ордера уже значительно больше Low. Т.е. для поиска не используем бар открытия. Для этого и PERIOD_M1.
Я б иначе сделал. Я бы вообще начал поиск только тогда, когда позиция просуществует более одного бара. Ведь лучшая цена может быть как раз на баре открытия, а мы его в расход...
Согласен. Наверное эффективней будет на каждом тике запоминать минимумы (или максимумы) цены для каждого открытого ордера в массиве и закрывать ордера при достижении условия, чем заново искать минимум с момента открытия ордера.Как-то так:
Ну а на случай неприятностей вроде потери связи, перезапуска советника и т.п. время от времени модифицировать стоплосс у ордеров.Я утверждал, что массив сюда нужно передать по ссылке. Иначе функция обречена работать только с одним, жестко заданным массивом. Пусть он у вас и задан глобально.
Хм. Ведь это зависит от того, какой массив передаётся вызывающей функции. Если там стоит канкретный массив, то с ним вызываемая функция и будет работать... Ведь так..
Если, например,
Вызвав её так:
Работа идёт с массивом OrdersMassive
А так:
С массивом massiveOfOrders
Подскажите, как узнать размер спреда, в момент открытия сделки, а лучше, чтобы он отображался в журнале?
if (спред) == какое-то значение, то.. делаем, что-то... (Например, открыть ордер или печатаем в журнал его значение). Или, наоборот, если неравно или больше(меньше) значения какого-то, то выводим в журнал и что-то делаем. Как угодно..
Повторю вопрос, который задавал вчера. Не хочется выносить отдельной веткой. Если что не понятно, отвечу на все вопросы.
У меня тут продолжается стопор с закрытием требуемых позиций. Суть такая:
1. Отслеживается закрытие позиций.
2. Как только закрылась последняя позиция по тейку... требуется закрыть все открытые и отложенные позиции сразу. Закрывается всё отсортировано по лотам т.е. сразу большие лоты, а дальше меньшие. Ситуация сугубо для набраться опыта работы с ордерами.
Реализация такая:
в start() на каждом тике:
На интересует закрытие рыночных ордеров, т.к. отложенный удаляется как требуется. Вот что имеем:
Почему-то не закрывается часть ордеров. Принтую некоторые сегменты когда, не чего не понятно. Вот например:
В коменте видно, что lastOOTHist = 01:30:00, хотя, на самом деле, это не есть верно. Ведь последние закрытые ордера, если прогортать в окне результы увидим вот что:
их время закрытия другие...
Что здесь не так?
Хм. Ведь это зависит от того, какой массив передаётся вызывающей функции. Если там стоит канкретный массив, то с ним вызываемая функция и будет работать... Ведь так..
Если, например,
Вызвав её так:
Работа идёт с массивом OrdersMassive
А так:
С массивом massiveOfOrders
При передаче переменной (массива) в функцию по значению, внутри функции создается локальная переменная, которую вы и объявляете в заголовке : MyFunct(int my_var). Таким образом изменения этой переменной не могут быть видны вне функции. А в случае с массивом вам об этом напомнит компилятор.
Если вы хотите что бы изменения значения переменной были видны снаружи (вне функции), то передавайте переменные по ссылке : MyFunct(int & my_var)
Хм. Ведь это зависит от того, какой массив передаётся вызывающей функции. Если там стоит канкретный массив, то с ним вызываемая функция и будет работать... Ведь так..
Если, например,
Вызвав её так:
Работа идёт с массивом OrdersMassive
А так:
С массивом massiveOfOrders