Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
extern double Regr.kstd1mall = 1.5; // ширина канала, если =0 то рисуется только средняя линия
int Regr.shift1mall = 0; // смещение относительно текущего бара
extern int SPermall = 50; // период баров
Вот выризал кусочек из кода..
Вопрос. А вторая сторочка правильно написана?
А ну тогда всё я думал его надо настраивать.Спасибо.
Хочу поблагодарить runika за отличный советник. И хотел написать о доработке, считаю, что часто возникает ситуация, когда открыто много колен и ТР находится на достаточно отдаленном расстоянии, цена разворачивается и ордера которые были в плюсе опять уходят в минус. Если я уверен, что так произойдет, закрываю плюсовые, а TP к оставшейся серии ордеров приходиться расчитывать и переставлять в ручную, или поменять ТР немного его передвинув в нужную сторону. Если бы сделать кнопку Refresh для автоматического пересчета ордеров и выставления ТР было бы замечательно!
Спасибо!
Усім привіт.
Тестую ілан 1.9.3 уже другий тиждень і виявив ряд пунктів які потрібно доопрацювати.
Стратегія ілана 1.9.3 розрахована на ДЦ у яких відсутні СВОП тому тести на ДЦ у якому я провожу торги не дали позитивних результатів. Із стандартними налаштуваннями сова зливає депо за 20 - 40 ставок. (пара EURUSD) Так було принято рішення провести переналаштування параметрів без зміни кода ілана.
Налаштування заточував під М1. Виходячи із цього " --- i-Regr --- с большим периодом опеределяем глобальный тренд" я перемістив на 2 таймфрейм
extern int TFS=2; // таймфрейм на котором работает индикатор,
і змінив extern int SPer = 400; // период баров до 400 це приблизно період 30 годин на 2 таймфреймі..
Графік " --- i-Regr --- с малым периодом" перемістив на 1 таймфрейм і змінив період барів із 50 до 20
extern extern int TFSmall=1; // таймфрейм на котором работает индикатор, та змінив
int SPermall = 20 ; // период баров.
Такі зміни різко покращили чутливість реакції ілана на зміну динаміки руху ціни. Лок почав виставлятися більш коректно, доречі його я теж підправив.
extern string c8= "Параметры лока";
extern double LockS=0,5; // пытаемся локировать часть позиций и получить дополнительную прибыль, если =0 то не работает, если =0.5, то локируем 50% позиций серии
extern int LMagN=689; // магический номер для локовой позы
extern int NumLockMin=1; // после какого по счету колена открывать локовый ордер если индикатор глобального тренда изменил направление
extern int NumLoc=10; // после какого по счету колена открывать локовый ордер если количество ордеров просто стало большим
extern int MaxDist=20; //dec максимальное расстояние от первой сделки после которого так же открываем лок
extern int LockProfitPerc=1; // суммарный заработок в % от депозита при закрытии всех локовых ордеров и серии
extern int koridor = 25; // dec расстояние в через который лок переворачивается в пунктах
extern double Lmul = 1; // множитель второго и последующих локовых ордеров
extern int MaxLockTrades = 50; // максиммальное количество локовых ордеров
extern int CCPeriod = 100; // параметр трендового индикатора для открытия лока TrendMagic
extern int ATRPeriod =100; // параметр трендового индикатора для открытия лока TrendMagic
Зміна верхніх двох параметрів вплинула на загрублення чутливості індекатора і фільтрації неправдивих спрацювань.
extern int TMTF = 1; // таймфрейм на котором работает трендовый индикатор
extern int TradeAfterLock = 1; // при =0 если у нас открылся лок, то мы перестаем торговать, = 1 продолжаем торговать
Останній параметер було вирішено змінити, оскількиалгоритм лок у деяких ситуаціях не міг вийти у прибуток. А додаткова торгівля частково вирішувала цю проблему.
Трейлінг теж був змінений і виглядає так
extern string t2 = " параметры трейлинга";
// кто пользуется трейлингом, пожалста ...
extern int UseTrailingStop = 1; // 0-не используем трал, 1 - ступенчатый трал, 2 - трал типа есмарт
extern int ProfitTrailDist = 3; //dec расстояние от точки безубытка, после которой включаем трал //+------------------------------------------------------------------+
extern int TrailDist = 20; //dec расстояние на котором тянется стоплосс //| ТРЕЙЛИНГ СТАНДАРТНЫЙ-СТУПЕНЧАСТЫЙ |
extern int TrailStep = 1; //dec модифицируем ордера каждые 5 пунктов //| Функции передаётся тикет позиции, расстояние от курса открытия, |
extern int NumIT = 1; // после какого количества сделок включается трал //| на котором трейлинг запускается (пунктов) и "шаг", с которым он переносится (пунктов) |
//| Пример: при +30 стоп на +10, при +40 - стоп на +20 и т.д. |
extern double xtral=1 // означает что, расстояние от точки безубытка до стоплосса в xtral раз меньше чем от точки бу до цены, например цена ушла на 90 п в +, значит стоп на уровне 30 п в плюс переносим
Після модифікації трейлінга ілан почав миттєво реагувати на зміну динаміки руху ціни і адекватніше виставляти необхідні параметри для стоплосів.
Але не дивлячись на підгонку всіх параметрів дотягнути вдалося тільки до 480 - 560 ставок після яких депо всеодно зливався. Зокрема через СВОП.
Проаналізувавше все я дійшов висновку, що необхідно доопрацювати наступне.
1 Лок не взмозі адекватно закритися в прибуток. Необхідно ввести наступні алгоритми.
а) Після виставлення лок пари коли ціна повертається у сторону глобального тренда необхідно закривати лок позиціх в плюс
2 Якщо настає момент коли ілан знаходиться на межі умови на продаж і на покупку то він відкриває і ті і ті ордера, цим самим створює просадку депо
Які у кого будуть думки ?
Вопрос по этим параметрам:
extern double PercDown=0; // т.е. если мы "зафиксировали" (т.е. цена уходила далеко не в нашем направлении) просадку на депозите по серии сделок больше 30 % от текущего баланса, то нам надо сматываться с рынка да побыстрееextern double PercClose=0; // поэтому если мы дошли до 10 % просадки после 30 надо закрываться с таким минусом, дальше соотношение поддерживается, если на 60 % уходили в просадку, то закроемся при 20 %
Не совсем понятно как работает?
Как сделать так, чтобы при определенной просадке бот закрывал все сделки нафик!?
А так при любых значениях дает эксперту уйти в минус больше заданного уровня.
Странно, что серию лонгов стопит нормально, а сериям из лонгов и локов позволяет выбивать депо по маржину!?
В начале идёт хорошо а потом, за две сделки всё сливает.
И так на всех тестах, что делать? Подскажите пожалуйста.
Мне кажется, слив из-за того что ты выбираешь определенный отрезок времени. Поясню: к примеру ты тестиш с 01,01,2011 по 01,03,2011, соответственно 01,03,2011 все сделки закрываются независимо от того в убытке они или нет. У меня Илан на тестах везде показывает слив после резкого взлета, хотя в реальном времени просто включаю его в определнное время и он зарабатывает.
Вопрос по этим параметрам:
extern double PercDown=0; // т.е. если мы "зафиксировали" (т.е. цена уходила далеко не в нашем направлении) просадку на депозите по серии сделок больше 30 % от текущего баланса, то нам надо сматываться с рынка да побыстрееextern double PercClose=0; // поэтому если мы дошли до 10 % просадки после 30 надо закрываться с таким минусом, дальше соотношение поддерживается, если на 60 % уходили в просадку, то закроемся при 20 %
Не совсем понятно как работает?
Как сделать так, чтобы при определенной просадке бот закрывал все сделки нафик!?
А так при любых значениях дает эксперту уйти в минус больше заданного уровня.
Странно, что серию лонгов стопит нормально, а сериям из лонгов и локов позволяет выбивать депо по маржину!?
нет такой функции в данном моде можешь поставить percdown = percclose тогда должен сработать, как один умный товарищ сказал, стоп равен размеру депозита
Вот пара изменений и при заданной просадке эквити, катапультируется нафик вместе с локами :) ! Теперь каждый из этих блоков ведет расчет с учетом локов по их магик номерам:
Есть возможность сделать так, чтобы советник не модифицировал ордера вообще. Просто торговал!
extern double TakeProfit = 1000; //dec минимальный тейк профит, если = 0 то используем массив значений тейков при установке колен - приходится ставить так, чтобы цена не достала, так как этот тейк модифицирует ордера и ставит стоп на уровне, как этот тэйк!!! ---> MinProfitPips =15; //dec если у нас отрыта серия по тренду и цена пошла против нас, то закрываемся по стоплоссу, который расположен в + на уровне MinProfitPips от точки безубытка
Может я что-то не понял. Такое ощущение, что описания тейков местами перепутали...
Я не хочу чтобы ставился тэйк серии так как он сильно снижает прибыль при моих настройках!!!
С параметрами на нефти CLJ1:
extern double TakeProfit = 1000;
MinProfitPips =15
эксперт берет тэйк по каждой сделке около 15 пунктов или достигнув заданный процент от депо кроет всю серию или серия разруливается локами и кроется с заданным мин. процентом от депо в настройках. При этом торгует без стопов и тейков. Не модифицирует ордера кроме случаев, когда срабатывает extern double TakeProfit = 1000.
Как сделать так, чтобы ордера не модифицировались и этот тейк вообще отключить???
Просто на Броко в демо терминале стопы не ставятся и дает ошибки, только на реале робот стопы ставит. Поэтому при моих 1000 тейка эксперт засыпает ошибками...
Есть возможность сделать так, чтобы советник не модифицировал ордера вообще. Просто торговал!
extern double TakeProfit = 1000; //dec минимальный тейк профит, если = 0 то используем массив значений тейков при установке колен - приходится ставить так, чтобы цена не достала, так как этот тейк модифицирует ордера и ставит стоп на уровне, как этот тэйк!!! ---> MinProfitPips =15; //dec если у нас отрыта серия по тренду и цена пошла против нас, то закрываемся по стоплоссу, который расположен в + на уровне MinProfitPips от точки безубытка
Может я что-то не понял. Такое ощущение, что описания тейков местами перепутали...
Я не хочу чтобы ставился тэйк серии так как он сильно снижает прибыль при моих настройках!!!
С параметрами на нефти CLJ1:
extern double TakeProfit = 1000;
MinProfitPips =15
эксперт берет тэйк по каждой сделке около 15 пунктов или достигнув заданный процент от депо кроет всю серию или серия разруливается локами и кроется с заданным мин. процентом от депо в настройках. При этом торгует без стопов и тейков. Не модифицирует ордера кроме случаев, когда срабатывает extern double TakeProfit = 1000.
Как сделать так, чтобы ордера не модифицировались и этот тейк вообще отключить???
Просто на Броко в демо терминале стопы не ставятся и дает ошибки, только на реале робот стопы ставит. Поэтому при моих 1000 тейка эксперт засыпает ошибками...
чтобы не ставил тейк всей серии то можно закоментировать строку
if (OrderTakeProfit()!=PriceTarget) ModifyOrder(Symbol(),OrderOpenPrice(),OrderStopLoss(), PriceTarget, Yellow);
а вот что касается MinProfitPips здесь сложнее
это несколько меняет стратегию но думаю тоже можно закоментировать два куска
if ((opa[i]<=Bid-TrendPS*1.5*Point) && (sla[i]<Bid-TrendPS*Point) && opa[i]>0 && Bid-TrendPS*Point<Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point && a1>Bid-TrendPS*Point)
{
if (ticka[i]>0)
{
OrderSelect(ticka[i],SELECT_BY_TICKET);
if (OrderStopLoss()!=mpric-TrendPS*Point) {ModifyOrder(Symbol(),OrderOpenPrice(),mpric-TrendPS*Point,OrderTakeProfit(),Green); }
}
}
и
if ((opa[i]>=Ask+TrendPS*1.5*Point) && (sla[i]>Ask+TrendPS*Point || sla[i]==0) && opa[i]>0 && Ask+TrendPS*Point>Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point && a1<Ask+TrendPS*Point)
{
if (ticka[i]>0)
{
OrderSelect(ticka[i],SELECT_BY_TICKET);
if (OrderStopLoss()!=mpric+TrendPS*Point) {ModifyOrder(Symbol(),OrderOpenPrice(),mpric+TrendPS*Point,OrderTakeProfit(),Red); }
}
}