Бред какой то! Ни одного графика не выдает, хоть на каком режиме прогоняй его!
Скачайте новую версию.
Если будут проблемы с работой, выкладывайте их сюда, постараюсь оперативно исправить.
Автору привет!
У меня просьба, напишите определение параметров и правила открытия и закрытия позиций, жду, спасибо.
Вообще могу сказать, с депо 500 баксов по 100 баксов или около того берет каждый день, на тесте, ставлю на демо, будем наблюдать.
Как он торгует при мощном тренде пока не понятно.
Автору привет!
У меня просьба, напишите определение параметров и правила открытия и закрытия позиций, жду, спасибо.
Вообще могу сказать, с депо 500 баксов по 100 баксов или около того берет каждый день, на тесте, ставлю на демо, будем наблюдать.
Как он торгует при мощном тренде пока не понятно.
Что вы понимаете под определением параметров и правилами открытия закрытия сделок? Объясните поподробней, я просто не очень понял.
Комментарии по-русски написать что-ли?
Автору привет!
У меня просьба, напишите определение параметров и правила открытия и закрытия позиций, жду, спасибо.
Вообще могу сказать, с депо 500 баксов по 100 баксов или около того берет каждый день, на тесте, ставлю на демо, будем наблюдать.
Как он торгует при мощном тренде пока не понятно.
Что вы понимаете под определением параметров и правилами открытия закрытия сделок? Объясните поподробней, я просто не очень понял.
Комментарии по-русски написать что-ли?
Версия с русскими комментариями и подправленным динамическим лотом.
//+------------------------------------------------------------------+ //| Kloss_.mq4 | //| Copyright © 2007, Tinytjan | //| tinytjan@mail.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, Tinytjan" #property link "tinytjan@mail.ru" #define STUPID 0x60BE57 extern string Lots_Desc = "Если 0 применяется динамический лот"; extern double Lots = 0; extern string RiskPercentage_Desc = "Настройка для динамического лота -- % риска. Если 0 используется минимальный доступный размер лота, если Lots > 0 эта настройка игнорируется"; extern int RiskPercentage = 0; extern int Slippage = 2; extern string Target_Desc = "Тейк профит, если 0 профит не выставляется 90-200"; extern int Target = 152; extern string Loss_Desc = "Стоп лосс, если 0 лосс не выставляется 30-80"; extern int Loss = 48; extern string MA_DESC = "Период МА 1-10"; extern int MA = 1; extern string CCI_DESC = "Период ССI 8-30"; extern int CCI = 10; extern int StochasticK = 10; extern int StochasticD = 3; extern int StochasticS = 3; extern string CCIDiffer_Desc = "Сигнальный уровень CCI для открытия позиций CCIDiffer -- sell b -CCIDiffer -- buy 80-200"; extern int CCIDiffer = 120; extern string StochDiffer_Desc = "Сигнальный уровень Stochastic для открытия позиций 50 + StochDiffer -- sell 50 - StochDiffer -- buy 15-40"; extern int StochDiffer = 20; extern string MaxOrders_Desc = "если 0 количество одновременно открытых позиций не ограничивается 1-3"; extern int MaxOrders = 3; double LotsToBid; string symbol; // закрытие покупок void CloseBuys(int MagicNumber, int Slippage) { for(int i = 0; i < OrdersTotal(); i++) { // already closed if(OrderSelect(i, SELECT_BY_POS) == false) continue; // not current symbol if(OrderSymbol() != Symbol()) continue; // order was opened in another way if(OrderMagicNumber() != MagicNumber) continue; if(OrderType() == OP_BUY) { if(OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Blue)) { i--; } RefreshRates(); } } } // закрытие продаж void CloseSells(int MagicNumber, int Slippage) { for(int i = 0; i < OrdersTotal(); i++) { // already closed if(OrderSelect(i, SELECT_BY_POS) == false) continue; // not current symbol if(OrderSymbol() != Symbol()) continue; // order was opened in another way if(OrderMagicNumber() != MagicNumber) continue; if(OrderType() == OP_SELL) { if (OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Red)) { i--; } RefreshRates(); } } } // подсчет кол-ва открытых позиций int GetOrdersCount(int MagicNumber, int Type) { int count = 0; for(int i = 0; i < OrdersTotal(); i++) { // already closed if(OrderSelect(i, SELECT_BY_POS) == false) continue; // not current symbol if(OrderSymbol() != Symbol()) continue; // order was opened in another way if(OrderMagicNumber() != MagicNumber) continue; if(OrderType() == Type) { count++; } } return (count); } // Вычисление динамического лота double GetLotsToBid(int RiskPercentage) { double margin = MarketInfo(Symbol(), MODE_MARGINREQUIRED); double minLot = MarketInfo(Symbol(), MODE_MINLOT); double maxLot = MarketInfo(Symbol(), MODE_MAXLOT); double step = MarketInfo(Symbol(), MODE_LOTSTEP); double account = AccountFreeMargin(); double percentage = account*RiskPercentage/100; double lots = MathRound(percentage/margin/step)*step; if(lots < minLot) { lots = minLot; } if(lots > maxLot) { lots = maxLot; } return (lots); } // покупка void OpenBuy() { double TP = 0; if (Target > 0) { TP = Bid + Target*Point; } double SL = 0; if (Loss > 0) { SL = Bid - Loss*Point; } if (Lots == 0) LotsToBid = GetLotsToBid(RiskPercentage); OrderSend(Symbol(), OP_BUY, LotsToBid, Ask, Slippage, SL, TP, NULL, STUPID, 0, Blue); } // продажа void OpenSell() { double TP = 0; if (Target > 0) { TP = Ask - Target*Point; } double SL = 0; if (Loss > 0) { SL = Ask + Loss*Point; } if (Lots == 0) LotsToBid = GetLotsToBid(RiskPercentage); OrderSend(Symbol(), OP_SELL, LotsToBid, Bid, Slippage, SL, TP, NULL, STUPID, 0, Red); } // проверка условий торговли и управление позициями void Check() { double ma = iMA(symbol, 0, MA, 0, MODE_LWMA, PRICE_TYPICAL, 5); double cci = iCCI(symbol, 0, CCI, PRICE_WEIGHTED, 0); double stoch = iStochastic(symbol, 0, StochasticK, StochasticD, StochasticS, MODE_SMA, 0, MODE_MAIN, 0); // Проверка условий на покупку. if (cci < -CCIDiffer && stoch < 50 - StochDiffer && Open[1] > ma) { // Можно покупать if (GetOrdersCount(STUPID, OP_SELL) > 0) { // Закрываем продажи CloseSells(STUPID, Slippage); return; // это по авторскому коду, можно закомментировать и тогда встречный лот будет открываться в тот же тик } if (GetOrdersCount(STUPID, OP_BUY) < MaxOrders || MaxOrders == 0) { // покупаем, если не превышено кол-во позиций OpenBuy(); } } // Проверка на продажу if (cci > CCIDiffer && stoch > 50 + StochDiffer && Close[1] < ma) { if (GetOrdersCount(STUPID, OP_BUY) > 0) { CloseBuys(STUPID, Slippage); return; // это по авторскому коду, можно закомментировать и тогда встречный лот будет открываться в тот же тик } if (GetOrdersCount(STUPID, OP_SELL) < MaxOrders || MaxOrders == 0) { OpenSell(); } } } int init() { LotsToBid = Lots; symbol = Symbol(); } int start() { // Check for open new orders and close current ones Check(); return(0); }
Спасибо, изучаю, интересно....возможен толк.
Вижу на фунте, сегодня тренд почти 200 пунктов, а советник его пропускает, не торгует.
Хороший советник. Оптимизацей можно добиться неплохих результатов. У меня с начальной 1000$ по истории GBP-M15 01042008-21062008 (нет времени оптимизить на больший период) получилось:
Прибыль - 7529.12 Сделок - 231 Просадка - 4281.90
С параметрами: Slippage=2 Target=150 Loss=160 MA=1 CCI=11 StochasticK=8 StochasticD=5 StochasticS=4 CCIDiffer=150 StochDiffer=21 MaxOrders=8 Lots=0 RiskPercentage=0
А с начала 2008г. с этими же параметрами быстро сливает.
Хороший советник. Оптимизацей можно добиться неплохих результатов. У меня с начальной 1000$ по истории GBP-M15 01042008-21062008 (нет времени оптимизить на больший период) получилось:
Прибыль - 7529.12 Сделок - 231 Просадка - 4281.90
С параметрами: Slippage=2 Target=150 Loss=160 MA=1 CCI=11 StochasticK=8 StochasticD=5 StochasticS=4 CCIDiffer=150 StochDiffer=21 MaxOrders=8 Lots=0 RiskPercentage=0
А с начала 2008г. с этими же параметрами быстро сливает.
Самый оптимальный промежуток для тестирования -- 2002-2008 годы, затянется может даже на сутки. У Вас получилась переоптимизация. Да, еще советую не особо экспериментировать с MaxOrders. В исходном варианте увеличения этого параметра не несет никакой выгоды.
Кстати, попробуйте проверить на минутке, график просто великолепный, но только до середины 2007 года, потом слив. Кто найдет рабочие параметры для минутки, с маленькой просадкой и стабильным выигрышем, просьба поделиться :) .
Вот что у меня получилось:
Символ | EURUSD (Euro vs US Dollar) | ||||
Период | 5 Минут (M5) 2008.06.16 16:10 - 2008.06.27 22:55 (2008.05.01 - 2008.06.28) | ||||
Модель | Все тики (наиболее точный метод на основе всех наименьших доступных таймфреймов) | ||||
Параметры | Lots_Desc="Если 0 применяется динамический лот"; Lots=0; RiskPercentage_Desc="Настройка для динамического лота -- % риска. Если 0 используется минимальный доступный размер лота, если Lots > 0 эта настройка игнорируется"; RiskPercentage=5; Slippage=2; Target_Desc="Тейк профит, если 0 профит не выставляется 90-200"; Target=90; Loss_Desc="Стоп лосс, если 0 лосс не выставляется 30-80"; Loss=30; MA_DESC="Период МА 1-10"; MA=5; CCI_DESC="Период ССI 8-30"; CCI=12; StochasticK=10; StochasticD=3; StochasticS=3; CCIDiffer_Desc="Сигнальный уровень CCI для открытия позиций CCIDiffer -- sell b -CCIDiffer -- buy 80-200"; CCIDiffer=120; StochDiffer_Desc="Сигнальный уровень Stochastic для открытия позиций 50 + StochDiffer -- sell 50 - StochDiffer -- buy 15-40"; StochDiffer=20; MaxOrders_Desc="если 0 количество одновременно открытых позиций не ограничивается 1-3"; MaxOrders=0; | ||||
Баров в истории | 2761 | Смоделировано тиков | 86169 | Качество моделирования | 86.74% |
Ошибки рассогласования графиков | 9 | ||||
Начальный депозит | 10000.00 | ||||
Чистая прибыль | 122615.80 | Общая прибыль | 210811.00 | Общий убыток | -88195.20 |
Прибыльность | 2.39 | Матожидание выигрыша | 154.43 | ||
Абсолютная просадка | 1179.10 | Максимальная просадка | 97679.00 (85.36%) | Относительная просадка | 85.36% (97679.00) |
Всего сделок | 794 | Короткие позиции (% выигравших) | 92 (56.52%) | Длинные позиции (% выигравших) | 702 (63.68%) |
Прибыльные сделки (% от всех) | 499 (62.85%) | Убыточные сделки (% от всех) | 295 (37.15%) | ||
Самая большая | прибыльная сделка | 880.00 | убыточная сделка | -332.90 | |
Средняя | прибыльная сделка | 422.47 | убыточная сделка | -298.97 | |
Максимальное количество | непрерывных выигрышей (прибыль) | 124 (54717.80) | непрерывных проигрышей (убыток) | 163 (-52525.50) | |
Максимальная | непрерывная прибыль (число выигрышей) | 54717.80 (124) | непрерывный убыток (число проигрышей) | -52525.50 (163) | |
Средний | непрерывный выигрыш | 45 | непрерывный проигрыш | 30 |
Открыл реальный счет. Бросил туда 3.4$. Вчера получил сверху 1.4, сегодня пока советник не торговал
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Kloss_:
Author: Андрей