ASSurkov ProForex |
Автор блога: | Алексей Сурков |
Все рубрики (12) |
0
Алексей Сурков → 25 октября 2016
|
Волатильность на Форекс характеризует степень изменчивости цены. При низкой волатильности — рынок вялый, проходит малое количество пунктов. Соответственно, ожидать быстрой отработки сигналов тут не приходится. Время сделок будет значительным. А вот при высокой — наоборот. Крайне быстро цена может доходить до тейков или стопов. Именно периоды высокой волатильности наиболее популярны у любителей быстрых сделок и роботов, которые не прогнозируют движений рынка.
Для определения волатильности служит стандартный индикатор ATR (средний истинный диапазон). Он не совсем удобен для использования, т.к. значения сложны для интерпретации. В это связи я его перевел в пункты (файл ATR Point Бесплатно скачать с моего сайта): ExtPriseReversalBuffer=iATR(«0»,0, ExtPRPeriod,i)/Point; Тут уже более ясно, что в течении 1-2 периодов вполне можно ожидать прохода цены на значение ATR в пунктах. Высокую волатильность в моменте можно использовать 2мя способами: • Открыться на продолжение импульса; • Открыться на откат. В первом случае, как правило, речь идет о новостной торговле. Но тут есть большой минус. Не каждый брокер для этого подойдет, плюс даже небольшая задержка в исполнении приводит к исполнению ордера фактически по самой невыгодной цене, после чего вероятен уже откат. Для последнего я написал индикатор ATR Arrows (в архиве Бесплатно скачать с моего сайта). Он показывает точки при превышении некоторой волатильности на свече. По умолчанию (ориентировал на М1 при 5 знаках) сигнал на бай, если ATR больше 20 пунктов и от открытия до минимума цена прошла текущий ATR плюс 20 пунктов (примерный размер спреда) ((((Open-Low)>(iATR(«0»,0, 14,i)+20*Point))) && iATR(«0»,0, 14,i)>20*Point). На селл — аналогично. Как только свеча проходит такой предел волатильности, то можно ждать отката. Для больших тамфреймов в коде нужно увеличить число 20 до нужного числа пунктов, либо вынести это входной переменной. Эта идея хорошо может показать себя при дополнительном определении зон перекупленности/перепроданности, и такая ситуация вполне там может классифицироваться как срыв стопов. Итоги тестов в конце видео.
Нет комментариев
волатильность
|
0
Алексей Сурков → 2 октября 2016
|
Второй месяц торговли на публичном ПАММе закончился.
10% за месяц; 1% за последнюю неделю; 0,5% за последний день Просадка не увеличилась. Также и осталась на уровне 6,22%. Из приятного – возросло число инвесторов до 5. И сумма средств составила чуть более $5000. Вся торговля ведется внутри дня. ССЫЛКА НА МОЙ ПАММ НА МОЕМ САЙТЕ www.assurkov.ru>>> |
+1
Алексей Сурков → 18 сентября 2016
|
Автор: АлексейСурков |
+1
Алексей Сурков → 4 сентября 2016
|
Свечи доджи на форексе характеризуются равенством между ценами открытия и закрытия. При этом, крайне желательно, чтобы имелись и отличные от этой цены максимумы и минимумы. Сама суть этих свечей заключается в том, что на их протяжении цена претерпевала ряд колебаний. Продавцы и покупатели либо крыли позиции, либо формировали новые. Но по итогу все было сработано четко. На каком уровне открылись, на том же и закрылись. А если эта свеча показывает нам, что тут была такая борьба, то остается только определить, чем она закончилась и куда дальше пойдет рынок.
Для этого может быть использована очень простая стратегия трейдинга по доджи на валютном рынке. А именно, если следующая за доджи свеча имеет закрытие выше максимального значения — то пойдем наверх; если закрывается следующая свеча ниже минимального значения — то пойдем вниз. Естественно, чем на большем таймфрейме такая свеча доджи сформировалась, тем большее значение она имеет. Для графического отображения указанной стратегии я написал простой индикатор торговли по доджи, который Вы можете БЕСПЛАТНО СКАЧАТЬ с моего сайта>>>. Он имеет только один настраиваемый параметр: Different По умолчанию, значение 5. При торговле на 5 знаках после запятой и таймфреймах от Н1 все же находить абсолютное равенство указанных цен для классификации таких свечей несколько сложно и их будет крайне мало. А вот этим параметром мы уже задаем на сколько пунктов могут отличаться цены открытия и закрытия свечи в пунктах. То есть, по умолчанию, индикатор видит свечу доджи при разнице в ценах не более 5 пунктов. Поставите 15 — будет определять при разнице меньше или равно 15. Для жесткого равенства используйте параметр 0. В принципе, индикатор показывает неплохие сигналы при определении точного стопа (за уровень по доджи): Помимо индикатора я написал советник, который отторговывает эту идею. Имеет он всего 3 параметра: Different — уже рассмотренный; KT — коэффициент тейка в процентах, при 100 (%) тейк равен стопу, при 200 (%) в 2 раза его превысит и т.д.;KS - коэффициент стопа в процентах, при 100 (%) стоп устанавливается на уровень максимума доджи (для селл) или минимума доджи (для бай), при 200 (%) — это расстояние увеличивается вдвое и т.д.;Lots — размер лота;Magic — меджик ордера. Оптимизация с начала 2015 г. до 22.08.2016 при торговле 0,01 лота при депо в 1000 долларов показала неплохой трейдинг по доджи на часовом таймфрейме на евро/долларе: БОЛЬШЕ ИНФОРМАЦИИ на моем сайте assurkov.ru>>> |
+1
Алексей Сурков → 18 марта 2016
|
ПОДРОБНЕЕ, АРХИВ С КОДАМИ НА МОЕМ САЙТЕ>>> В одном из эфиров мы рассматривали индикацию стратегии трейдера Тушар Чанд. Суть ее была предельно проста, если закрытие свечи выше максимума 20й свечи, то это основание для покупки. Если закрытие ниже минимума 20й свечи, то это основание для продажи. По этой стратегии и написан советник LightProfit (№1 в архиве). |
0
Алексей Сурков → 11 марта 2016
|
СКАЧАТЬ АРХИВ С СОВЕТНИКОМ С МОЕГО САЙТА, ПОДРОБНЕЕ>>>
Многие сталкиваются с проблемой при покупке индикаторов или советников в маркете MQL5. С одной стороны, вроде и продукт по скринам неплохой, но все же доверия нет, пока сам не попробуешь его. У некоторых продуктов есть т.н. Демо версии, которые работают в некоторых ограниченных условиях. Например, я раньше выкладывал к своим индикаторам бесплатные версии, которые не отображают их данных на последних 25 свечах. Делается это просто добавлением условия if i>25.... То есть, если номер свечи больше 25, то индикатор в этих значениях работает. А при последних свечах номер их будет меньше 25 ( i<25) и тут индикатор не отображается. Но протстировать Вы можете бесплатно абсолютно любой платный продукт. Для этого его нужно скачать, нажав СКАЧАТЬ ТРИАЛ в маркете. А дальше открываете Метатрейдер, Тестер стратегий и выбираете советник из раздела Market (он появится после первого скачивания). А далее тестируете сколько угодно. Аналогичная история и с индикаторами. Скачать Триал, а далее будет отображение его данных в тестере с отработкой графика, т.н. визуализацией. Надо сказать, достаточно медленная вещь. При этом тестер нам дает хорошую возможность оптимизации советников, самостоятельно подбирая параметры. Эту возможность рассмотрим на примере простого советника, который начали писать в прошлом выпуске. Советник Sovetnik RSI (Скачать) сейчас имеет следующие входные параметры: input int Magic =66; - меджик намба input int TakeProfit =500; - размер тейка в пунктах input int STOP =500; - размер стопа в пунктах input int RSI_Zone =30; - размер зоны перекупленности/перепроданности индикатора RSI input int RSI_Period =14; - период RSI input double Lots =0.01; - объем сделки Суть советника простая. Как только значение индикатора заходит в соответствующую зону (меньше 30 и больше 70 допустим), открывается сделка с заданным тейком и стопом. Добавлена здесь проверка ордера по меджику. Реализована она следующим образом: for (int r=OrdersTotal()-1; r>=0; r--) {if (!OrderSelect( r, SELECT_BY_POS )) {Print("OrderSelect( ", r, ", SELECT_BY_POS ) - Error #",GetLastError()); continue;} if (OrderMagicNumber()==Magic) {OpenOrd++;}} То есть, если среди открытых ордеров есть ордер с нашим меджиком, то к переменной OpenOrd прибавляется единица. И вот ордер открывается только при условии, что на счете нет открытых ордеров этим советником: if(OpenOrd<1) и дальше идет проверка иных условий на открытие. Можно ли зарабатывать с такой торговой идеей на одном индикаторе? Можно все. Главное, иметь правильные параметры. И теперь возвращаемся к оптимизации. Для ее запуска в тестере ставим галочку на параметр Оптимизация и настраиваем ее в разделе Свойства эксперта: optimiz Мы оптимизируем 4 параметра: TakeProfit, STOP, RSI_Zone, RSI_Period. Допустим последний будет изменяться от 10 до 16 с шагом 1. График брали EURUSD, M5, с 09.02.2016 по 09.03.2016. Тестировали на счете FBS. По итогам оптимизации можем скачать .htm файл с ее результатами (Смотреть). Мне же оптимальным видится вариант №333: Здесь получается средняя доходность (24 дол.) при нормальной просадке (1,73%) и ЗНАЧИТЕЛЬНОМ количестве сделок (137). График теста при этих параметрах TakeProfit=250, STOP=200, RSI_Zone=31, RSI_Period=13 будет следующий: При этом отмечу, что отличия на разных периодах, парах могут колоссально отличаться. Так, на GBPUSD, М5, с сентября 2015 г. и настройками TakeProfit=500, STOP=480, RSI_Zone=26, RSI_Period=14 выглядит так: СКАЧАТЬ АРХИВ С СОВЕТНИКОМ С МОЕГО САЙТА, ПОДРОБНЕЕ>>> |
0
Алексей Сурков → 3 марта 2016
|
Архив с рассмотренными советниками на моем сайте
Основное отличие советников от индикаторов в том, что в них можно использовать функции открытия, закрытия и модификации ордеров. Все эти функции есть в разделе Торговых функций. И находятся советники в папке Experts. Мы рассматриваем три советника, два из них в архиве. Советник Zakryvator закрывает ордера при достижении ими заданного убытка в зависимости от объема ордера. Его ставим на любой график, а ордера он будет закрывать любые, не только открытые по этой паре. Во входных параметрах мы присваиваем значения убытка по умолчанию на объем ордера: input double min_001_002 =4; input double min_002_005 =8; input double min_005_01 =10; input double min_01_03 =15; input double min_03_05 =20; input double min_05_1 =25; input double min_from1 =30; Функция void OnTick() запускает советник с каждым новым тиком на паре, где он установлен. Далее перебираем ордера по порядковому номеру и выбираем каждый из открытых ордеров: int _GetLastError = 0, _OrdersTotal = OrdersTotal(); for ( int z = _OrdersTotal – 1; z >= 0; z — ) { if ( !OrderSelect( z, SELECT_BY_POS ) ) ЧИТАТЬ ДАЛЕЕ, ПОЛУЧИТЬ ДОСТУП К РАССМОТРЕННЫМ СОВЕТНИКАМ... |
+1
Алексей Сурков → 15 февраля 2016
|
Рано или поздно, в жизни любого трейдера приходит момент, когда уже нет возможности одновременно отслеживать все необходимый валютные пары, ситуации на разных таймфреймах, графиках. Для решения этого вопроса служат возможности оповещения, заложенные в Метатрейдере 4. Мы рассмотрим 4 таких функции:
Comment(); Alert(); Print(); SendMail(,). Отмечу, что как таковые они не выделены, а входят в раздел Общие функции. Рассмотренный в видео индикатор можно скачать с моего сайта https://assurkov.ru/?p=1120 Функция Comment() выводит соответствующий комментарий в левом верхнем углу. Она может выводить аргументы, разделенные запятыми или один какой то аргумент. Для перехода на новую строку можно использовать строку “\n”. В нашем примере эта функция рассматривается так: double VOLA=(iHigh(“0″,0,Candle)-iLow(“0″,0,Candle))*(1/Point);Comment (“VOLA=”, MathRound(VOLA)); То есть, рассчитывается переменная VOLA как разница между максимальным и минимальным значением свечи (номер свечи Candle задается во входных параметрах), переводится в пункты и функция MathRound() уже берет целую часть. Comment показывает нам размер соответствующей свечи в пунктах. Функция Print() выводит некоторое сообщение в журнал экспертов. В нашем случае: if(print==true){ if(print_signal<=0 && BuyBuffer[1]!=EMPTY_VALUE){ Print(“PRINT RSI( “,Symbol(),”, “,Period(),” ) – BUY!”);print_signal=1; } if(print_signal>=0 && SellBuffer[1]!=EMPTY_VALUE){ Print(“PRINT RSI( “,Symbol(),”, “,Period(),” ) – SELL!”);print_signal=-1;} } она выводит сообщение “PRINT RSI , соответствующая валютная пара (Symbol()), период графика (Period()), сделка (BUY! или SELL!)”. Она его выводит в случае, если во входных параметрах значение переменно print==true и соответствующий буфер заполнен: В основном, эта функция оповещения используется при написании советников с целью вывода кодов ошибок при их отладке. Функция Alert() имеет аналогичную структуры, как и Print(). Выводит сообщение в виде Алерта и подает звуковой сигнал: Ее удобно использовать при отслеживании разных графиков. Как только сигнал на сделку там появляется, функция срабатывает и отображает соответствующее сообщение в MT4. В примере она выглядит так: if(alert==true){ if(alert_signal<=0 && BuyBuffer[1]!=EMPTY_VALUE){ Alert(“RSI( “,Symbol(),”, “,Period(),” ) – BUY!”);alert_signal=1; } if(alert_signal>=0 && SellBuffer[1]!=EMPTY_VALUE){ Alert(“RSI( “,Symbol(),”, “,Period(),” ) – SELL!”);alert_signal=-1;} } Функция SendMail(,) отправляет соответствующее сообщение на ваш E-mail. Она имеет 2 аргумента, разделенных запятой: (Тема письма, содержание письма). У нас она выглядит так: if(message==true){ if(mes_signal<=0 && BuyBuffer[1]!=EMPTY_VALUE){ SendMail(“RSI( “+Symbol()+”, “+ (string) Period()+” ) – BUY!”, “Покупай”);mes_signal=1; } if(mes_signal>=0 && SellBuffer[1]!=EMPTY_VALUE){ SendMail(“RSI( “+Symbol()+”, “+ (string) Period()+” ) – SELL!”, “Продавай”);mes_signal=-1;}} И на почту приходят соответствующие письма: Для работы этой функции должна быть настроена отправка писем в разделе Сервис-Настройки-Почта вашего MT4: Для Mail.ru. Настройки такие: Сервер: smtp.mail.ru:465. Логин: Адрес почты. Пароль: Пароль от ящика. От кого, Кому: указываю Terminal, адрес ящика. Обязательно должна стоять галочка Разрешить. При отправке тестового сообщения в журнале должно появиться сообщение об успешной отправке: На основе этой функции сделан раздел сайта Сигналы моего сайт. Как только появляется сигнал, соответствующее сообщение отправляется на почту, а далее с почты формируется запись в виде торгового сигнала. Тема письма – Название записи, первый аргумент функции SendMail(,), содержание письма – содержание записи, второй аргумент функции SendMail(,). Рассмотренный в видео индикатор можно скачать с моего сайта https://assurkov.ru/?p=1120 |
0
Алексей Сурков → 11 февраля 2016
|
Рассмотренные исходники можно скачать с моего сайта https://assurkov.ru/?p=895
Пробойные стратегии основаны на предположении, что при пробитии какого либо уровня цена продолжит свое движение. Применяются, в основном, к таймфреймам не ниже Н1. Рассматриваем две примера подобных стратегий: 1. Стратегия Тушар Чанд. Основана на предположении, что при закрытии свечи выше максимума 20й свечи цена продолжит восходящее движение, а при закрытии свечи ниже минимума 20й свечи – нисходящее. Стрелочный индикатор стратегии – Файл №2 в архиве. Изменяемый параметр – номер свечи для сравнения, по умолчанию 20: 2. Фунтовая стратегия. Основана на предположении о том, что при закрытии свечи ниже “облака” скользящих средних цена пойдет вниз, выше – вверх. “облако” скользящих средних образовано следующими мумингами: 1) Период: 144. Метод расчета: экспоненциальный. Цена: закрытия. 2) Период: 169. Метод расчета: экспоненциальный. Цена: закрытия. 3) Период: 144. Метод расчета: Linear Weighted. Цена: Weighted Close. 4) Период: 169. Метод расчета: Linear Weighted. Цена: Weighted Close. Графически это выглядит так: Рассмотренные исходники можно скачать с моего сайта https://assurkov.ru/?p=895 |
0
Алексей Сурков → 11 февраля 2016
|
Недавно выступал на YouTrade.TV и рассматривали тему "Как написать индикатор Mql4". Собственно рассматрели структуру простого стрелочного индикатора, отображающего точки на вход исходя из данных индикатора стохастик с тремя разными периодами (медленный, средний и быстрый). Сам этот индикатор можно скачать с сайта mql5 https://www.mql5.com/ru/code/14657https://www.mql5.com/ru/code/14657
[video] |