Как по мне, так раздел Статьи предполагает некоторый статус материала. Всякой лабуды достаточно и в кодабазе.
Bid > OrderOpenPrice() && //вводим новую строку (цена в положительной области относительно уровня входа) TimeCurrent() == Time[0] ) //вводим новую строку (выход строго в момент открытия текущей свечи)
Автор, вы хоть когда-нибудь торговали?
Как можно программировать выход "строго в момент открытия текущей свечи"?
if(AccountFreeMargin()<(1000*Lots)) { Print("We have no money. Free Margin = ",AccountFreeMargin()); return; }
-- Смысл этой проверки? Что с чем Вы сравниваете?
if(TakeProfit<10) { Print("TakeProfit less than 10"); return; }
-- Вы считаете, что пользователь советника дебил? Зачем проверять заданное значение тейкпрофита на каждом тике? И почему тейкпрофит должен быть больше 10?
if(Bars<100) { Print("bars less than 100"); return; }
-- А число баров на графике зачем проверять? Пользователь "кидает" советник на пустой график? И почему баров должно быть минимум 100?
И дальше по тексту огрехов вагон.
Как по мне, так раздел Статьи предполагает некоторый статус материала. Всякой лабуды достаточно и в кодабазе.
Автор, вы хоть когда-нибудь торговали?
Как можно программировать выход "строго в момент открытия текущей свечи"?
-- Смысл этой проверки? Что с чем Вы сравниваете?
-- Вы считаете, что пользователь советника дебил? Зачем проверять заданное значение тейкпрофита на каждом тике? И почему тейкпрофит должен быть больше 10?
-- А число баров на графике зачем проверять? Пользователь "кидает" советник на пустой график? И почему баров должно быть минимум 100?
И дальше по тексту огрехов вагон.
Вы читайте внимательно: это советник взят в качестве примера из комплекта МТ4 (терминала) только для того, чтобы показать принцип (смотри новые строки,выделены жёлтым фоном).
А внизу пометка, что это советник не для реальной торговли (А ИЗ КОМПЛЕКТА ТЕРМИНАЛА МТ4). А насчёт пользователя советника - так его нет - это демонстрационный советник компании Metaquotes.
Я тоже не понимаю, зачем допускают публикацию таких статей.
Наверное, чтоб темы типа "ошибки, баги, вопросы" никогда не затихали.
Вы читайте внимательно: это советник взят в качестве примера из комплекта МТ4 (терминала) только для того, чтобы показать принцип (смотри новые строки,выделены жёлтым фоном).
А внизу пометка, что это советник не для реальной торговли (А ИЗ КОМПЛЕКТА ТЕРМИНАЛА МТ4). А насчёт пользователя советника - так его нет - это демонстрационный советник компании Metaquotes.
Ваша желтая строчка не совместима с жизнью:
TimeCurrent() == Time[0] ) // вводим новую строку (простая доработка алгоритма выхода: выход строго в момент открытия текущей свечи)
И не важно, что это "стандартный советник и он не для реала", такой код писать нельзя.
А тем более нельзя его выкладывать в статьях, их иногда читают новички.
Вы читайте внимательно: это советник взят в качестве примера из комплекта МТ4 (терминала) только для того, чтобы показать принцип (смотри новые строки,выделены жёлтым фоном).
Ваш "принцип" откровенная неработоспособная ахинея.
Вот что вы предлагаете:
datetime Time_open=900; void OnTick(void) { total=OrdersTotal(); if(total<1) { if((TimeCurrent()-Time[0])<Time_open)) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green); if(ticket>0) Time_open=TimeCurrent()-Time[0]; } } }
-- вы вводите некую переменную Time_open (секунды)
-- которая даёт возможность отработать сигнал только в пределах: от начала бара + Time_open
-- если ордер открывается, то диапазон переменной Time_open сужается
-- всё это зациклено и в конечном итоге приводит к тому, что любой сигнал может отрабатывать всё ближе и ближе к открытию текущего бара
Ведь задача изначально стояла до боли простой: разрешить в рамках текущего бара входить только один раз.
И вся эта муть в Статьях, куда реально обращаются за правильными работоспособными идеями, решениями, подсказками, советами.
Нельзя такими "статьями" девальвировать ценность раздела.
Абсолютно работоспособная система, проверено.
А вот ваш странный комментарий - это действительно ахинея: например, ваша фраза "любой сигнал может отрабатывать всё ближе и ближе к открытию текущего бара" - это принципиально неверно.
Не будет обрабатываться никакой, как вы говорите "сигнал", ТАК КАК ВРЕМЯ НЕОБРАТИМО И УСЛОВИЕ ВХОДА ПОСЛЕ ОТКРЫТИЯ ПЕРВОЙ ПОЗИЦИИ СТАНОВИТСЯ НЕВЫПОЛНИМЫМ, ЧТО И ТРЕБОВАЛОСЬ.
Абсолютно работоспособная система, проверено.
А вот ваш странный комментарий - это действительно ахинея: например, ваша фраза "любой сигнал может отрабатывать всё ближе и ближе к открытию текущего бара" - это принципиально неверно.
Не будет обрабатываться никакой, как вы говорите "сигнал", ТАК КАК ВРЕМЯ НЕОБРАТИМО И УСЛОВИЕ ВХОДА ПОСЛЕ ОТКРЫТИЯ ПЕРВОЙ ПОЗИЦИИ СТАНОВИТСЯ НЕВЫПОЛНИМЫМ, ЧТО И ТРЕБОВАЛОСЬ.
Вам в статье, для начала, требовалось показать работу терминального МАКД и МАКД с вашими правками.
Вот если бы Вы сделали эту простую операцию, то может и не вышла бы Ваша статья -- т.к. сразу стало бы понятно, что Ваш "принцип" не годящийся.
-- на картинке сравнение работы -- терминального МАКД (верхнее окно) -- и (нижнее окно) Вашего МАКД из статьи (plus1), в котором Вы сделали правки именно по части открытия ордеров БАЙ
-- чётко видно на картинке, что открытия ордеров БАЙ -- в Вашем советнике -- куда-то исчезает -- хотя, при старте эксперта, была сделана парочка БАЙ-открытий.
Эксперимент простой -- Вы сами сможете его повторить и посмотреть.
Не будет обрабатываться никакой, как вы говорите "сигнал", ТАК КАК ВРЕМЯ НЕОБРАТИМО И УСЛОВИЕ ВХОДА ПОСЛЕ ОТКРЫТИЯ ПЕРВОЙ ПОЗИЦИИ СТАНОВИТСЯ НЕВЫПОЛНИМЫМ, ЧТО И ТРЕБОВАЛОСЬ.
Хотя, Вы и сами сделали вывод, что по Вашему "принципу" -- требовалось ликвидировать любые открытия.
Тема явно не тянет на статью. Так на заметку.
У каждого программиста да и трейдера со стажем есть по несколько способов борьбы с этой "бедой". Да и не беда это вовсе.Так, текучка.
Автор явно в начале длинного пути на Форекс.
Ну что за горе - эксперты:
Во-первых, речь не о количестве открытых позиций (так как использован демонстрационный, а не торговый советник терминала МТ4) , а о том, что простым способом (всего 2 строчки) устранён дребезг (надеюсь, вам известно, что это такое).
Во-вторых, что-то не видно ваших работ на эту тему, а ведь вы утверждаете, что это легко и просто.
В-третьих, данное решение прекрасно работает на наших торговых системах. И что касается форекса: думаю, что не вам об этом судить - мой опыт более 8 лет и я являюсь руководителем финансово-аналитической и брокерской компании, а также теоретических и практических разработок в области финансовых рынков.
Во-первых, речь не о количестве открытых позиций (так как использован демонстрационный, а не торговый советник терминала МТ4) , а о том, что простым способом (всего 2 строчки) устранён дребезг (надеюсь, вам известно, что это такое).
Можно было одной ограничиться - ExpertRemove() сразу после открытия позиции. О, гуру.
Во-вторых, что-то не видно ваших работ на эту тему, а ведь вы утверждаете, что это легко и просто.
Каких работ? Статей?
Написать 10 страниц для демонстрации элементарной функции?
А про более сложные вещи статьи есть, поищите.
В-третьих, данное решение прекрасно работает на наших торговых системах. И что касается форекса: думаю, что не вам об этом судить - мой опыт более 8 лет и я являюсь руководителем финансово-аналитической и брокерской компании, а также теоретических и практических разработок в области финансовых рынков.
Назовите, пожалуйста, вашу компанию и ваши продукты. Просто чтоб люди знали, к кому нельзя обращаться и что нельзя покупать )
Не бойтесь, это не сочтут рекламой.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Защита от ложных срабатываний торгового робота:
Прибыльность торговых систем определяется не только логикой и точностью анализа динамики финансовых инструментов, но и качеством алгоритма исполнения этой логики. Характерным проявлением некачественного исполнения основной логики торгового робота являются ложные срабатывания. В статье рассмотрены варианты решения указанной проблемы.
Проблема ложных срабатываний особенно ярко проявляется при обвалах и резких скачках рынка, когда амплитуда текущей свечи велика, а в алгоритме робота не предусмотрено специальных мер против дребезга. Это становится причиной последовательных многократных открытий и закрытий позиций на текущей свече.
Финансовые последствия могут быть разнообразными и зависят от конкретных алгоритмов учета рыночных параметров, заложенных разработчиком робота. Но в любом случае расходы трейдера по спреду увеличиваются прямо пропорционально количеству срабатываний при дребезге.
В данной статье я не буду рассматривать вопросы анализа финансовых инструментов (технического и фундаментального характера), которые могут влиять на стабильность работы торгового эксперта и помогают избежать дребезга (это отдельная тема — я являюсь автором теории импульсного равновесия и систем на ее основе). Здесь речь пойдет о мерах программного характера, не зависящих напрямую от методов аналитики финансовых рынков.
Итак, приступаем к решению проблемы. В качестве шаблона для примера я буду использовать эксперт из стандартного комплекта, имеющегося в клиентском терминале МetaТrader 4, под названием "MACD Sample".
Вот как визуально выглядит сама проблема дребезга на примере резкого скачка цены EURUSD 2-го октября этого года (таймфрейм М15, эксперт "MACD Sample" с настройками по умолчанию):
Автор: Alexander Masterskikh