[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 793
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А разве Buy мы открываем не по Ask ???????
я ж это и написал: "ордера на покупку открываются по цене Ask".
Но на графике вы видите цену Bid.
я ж это и написал: "ордера на покупку открываются по цене Ask".
Но на графике вы видите цену Bid.
А разве Buy мы открываем не по Ask ??????? Да и не может быть спреда в 60 пунктов (это если брать после гэпа), а если до ..., то спред на евре в 325 пп - жесть ... :)
на Вашей картинке не видны пункты.
на Вашей картинке не видны пункты.
У меня на графике обе цены всегда... В настройках терминала по F8 включил отображение Ask`ов... Да и подправил малость предыдущий пост по поводу спреда - такого быть не может.
Но в барах цена Ask не видна.
По поводу спреда. Это пятизнак? Если "да", то расширенный на новостях спред + проскальзывание = вот Вам и 6 полновесных (60 пятизначных) пунктов
Но в барах цена Ask не видна.
По поводу спреда. Это пятизнак? Если "да", то расширенный на новостях спред + проскальзывание = вот Вам и 6 полновесных (60 пятизначных) пунктов
Если я правильно понял Вашу проблему, то Вам не надо ориентироваться на время закрытия ордера. Вам надо отталкиваться от времени начала того бара, на котором появился сигнал на открытие и была открыта позиция. Лично я поступил бы следующим образом:
1) завёл бы переменную типа datetime, куда заносил бы значение Time[0] при удачном выставлении ордера;
2) в функции init() проинициализировал бы эту переменную значением "0", я предпочитаю явную инициализацию, т.к. это более наглядно при просмотре кода;
3) при появлении условий для открытия позиции, прежде чем отправлять запрос OrderSend(...), сравнил бы значение той самой преременной со значением Time[0] и, если они не равны, то отправил бы запрос.
4) если позиция открылась, то запомнил бы значение Time[0] в ту самую переменную.
Спасибо за разъяснение - а как Вы считаете, нельзя ли вместо сравнения со значением Time[0] попробовать дать такое задание перед запросом OrderSend(...) : проверить, есть ли на текущем баре закрытие по StopLoss-y? Тогда нужно вводить функцию duble StopLoss(), которая будет работать с объявленной мною переменной StopLoss? Или это все-таки принципиально НЕ ВОЗМОЖНО? Мне важно, чтобы на баре, на котором поймали лося, новая позиция не открывалась, даже если по параметрам он подходит под открытие.
extern double Stoploss =1000;
Дело в том, что ко временнЫм факторам хотелось бы обратиться в последнюю очередь - очень часто проскальзывают - вернее интерпретация приказа почему-то получается разнородной (неоднозначной)
Но в барах цена Ask не видна.
По поводу спреда. Это пятизнак? Если "да", то расширенный на новостях спред + проскальзывание = вот Вам и 6 полновесных (60 пятизначных) пунктов
также, по-моему, возможна "шпилька", в дальнейшем подчищенная..:)), но "сохраненная в памяти" более мелких таймфреймов, до которых уже не добраться...
а по поводу тестирования на истории вопрос :
может ли советник (простенький!:)) - не сетка) на одной и том же отрезке истории,с одними и теми же параметрами давать совершенно различные результаты?
Единственное что, я, между этими двумя тестированиями, обновила архив котировок... и это могло привести к такому результату!? - тогда получается, что вся история - это фигня!?
Подскажите кто-нибудь, почему MathRound() как-то странно себя ведёт. Большие величины считает, маленькие - нет...
Есть простой код увеличения значения некоторых переменных на 10 процентов:
В журнал выводятся рассчитываемые величины. Вот это считается при делении на 10 всех строк, кроме первой (в ней деление на 100 и считает без проблем):
2010.08.11 19:16:20 2009.01.02 10:34 Sergitas_v1.01 EURUSD,M5: Function of calculation: SLs = 11 and TPs = 66, TStartS = 60, TStop.Sell = 20, TStartLastPosS = 60, TStop.SellLP = 25
Зелёным отмечено то, что в первой строке кода считается.
А вот если поставить деление на 100 (как и должно быть)
... то все строки, кроме верхней вообще не считаются - остаются изначально заданные величины, как-будто и не прибавлялось
к ним десять процентов:
2010.08.11 19:41:03 2009.01.02 10:34 Sergitas_v1.01 EURUSD,M5: Function of calculation: SLs = 11 and TPs = 66, TStartS = 30, TStop.Sell = 10, TStartLastPosS = 30, TStop.SellLP = 15
Помогите разобраться, что тут к чему и где же, блин, собака порылась... :)