MyMessir: ну это всё понятно, но хотелось бы услышать Nirus'a )
Да, пожалуйста! "Усреднением при просадке" это назвать нельзя, я бы назвал компенсацией потерь... :-) А ММ вы можете выбрать любой в зависимости от того, насколько вы готовы рисковать, благо он гибко настраивается посредством параметров MaximumRisk и balans...
MyMessir: ну это всё понятно, но хотелось бы услышать Nirus'a )
Да, пожалуйста! "Усреднением при просадке" это назвать нельзя, я бы назвал компенсацией потерь... :-) А ММ вы можете выбрать любой в зависимости от того, насколько вы готовы рисковать, благо он гибко настраивается посредством параметров MaximumRisk и balans...
Большое спасибо за ответ, а не могли бы Вы, выложить код советника целиком, или советник сам? а то я, например, не очень шарю)
MyMessir: ну это всё понятно, но хотелось бы услышать Nirus'a )
Да, пожалуйста! "Усреднением при просадке" это назвать нельзя, я бы назвал компенсацией потерь... :-) А ММ вы можете выбрать любой в зависимости от того, насколько вы готовы рисковать, благо он гибко настраивается посредством параметров MaximumRisk и balans...
Большое спасибо за ответ, а не могли бы Вы, выложить код советника целиком, или советник сам? а то я, например, не очень шарю)
А ветку целиком почитать слабо? :-)
Выкладываю исключительно для ленивых... :-)
#property copyright "Scam Laboratory 2012"#property link "http://www.forex4you.org/?affid=bdbda7b"//=============== Меню ===============================================externstring Name="BeerGodEA (25.06.12)";
externstring MoneyManagement = "MoneyManagement";
externdouble MaximumRisk = 0.1; // прогресия лота на каждые 1000 баланса +0.1 лот. например депозит стал 2000 лот =0.2, 3000 лот =0.3 итдexterndouble DecreaseFactor = 10.0; // если будет две убыточные сделки лот уменьшится от предыдущего деленое на DecreaseFactorexterndouble balans = 1000; // шаг баланса, баланс реинвестирования, на каждую 1000 депо будет умножатся лот на рискexterndouble Lots = 0.1; // начальный лотexternstring Indicators="Параметры индикаторов";
externint Period_MA=20; // Период МАexternint TimeBarOpen = 15; // время свечи для принятия решенияexternstring TradeManagement="Управление торговлей";
externbool BUY = true; // разрешить BUYexternbool SELL = true; // разрешить SELLexternint TakeProfit = 1650; // фиксированный профитexternint StopLoss = 950; // фиксированный стопexternint MinTP = 50; // минимальный тейк профит externint MinSL = 50; // минимальный стоп лоссexternstring TradeTime="Время торговли (по ДЦ)";
externint MondayStart = 0; // (8)(9) открытие первой сделки не раньше этого времени по ДЦexternint FridayStop = 20;
externint FridayClose = 22;
externstring Server="Параметры сервера";
externint Slippage = 10; // Допустимое проскальзование ценыexternint Pause = 1000; // пауза между запросами на серверexternstring Magic="Магическое число";
externint MagicNumber = 0; // Магический номер//============== Переменные ==========================================string GetNameOP="BeerGodEA"; // комент в открытом ордереdouble TimeBar_t; // текущее время свечиdouble sv_close; // цена закрытия свечиdouble PA; // текущая ценаdouble MA_1_t; // МА текущаяdouble MA_1_p; // МА предыдущаяdouble NewBuy; // сигнал открытия покупкиdouble NewSell; // сигнал открытия продажиdouble Trade; // разрешение или запрет работыint mn; // мейджик в зависимости от валютной парыint timeplus; // время для валютной парыint stoplevel; // текущий уровень стоповint spread;
//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
if (!IsTesting())
{
if (IsExpertEnabled())
{
Comment("Советник будет запущен следующим тиком");
}
else
{
Comment("Отжата кнопка \"Разрешить запуск советников\"");
}
}
return (0);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//----//----return(0);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{//0//======== Magic в зависимости от валютной пары ==============================
{ //1if(Symbol()=="EURUSD")
{
mn=(100+MagicNumber);
timeplus=0;
}
if(Symbol()=="GBPUSD")
{
mn=(200+MagicNumber);
timeplus=1;
}
if(Symbol()=="AUDUSD")
{
mn=(300+MagicNumber);
timeplus=2;
}
if(Symbol()=="USDCAD")
{
mn=(400+MagicNumber);
timeplus=3;
}
if(Symbol()=="USDCHF")
{
mn=(500+MagicNumber);
timeplus=4;
}
if(Symbol()=="USDJPY")
{
mn=(600+MagicNumber);
timeplus=5;
}
} //1//======== получение данных с индикаторов и текущей цены ======================
{//2
MA_1_t=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0); // МА_1 текущая
MA_1_p=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,1); // МА_1 текущая
TimeBar_t = (TimeCurrent()-Time[0])/60; // время в минутах с открытия свечи
sv_close = iClose(NULL,0,1); // цена закрытия свечи на предыдущем баре
PA = Bid; // получение текущей цены
spread = MarketInfo(Symbol(),MODE_SPREAD);
stoplevel = MarketInfo(Symbol(),MODE_STOPLEVEL); // уровень стопов
RefreshRates ();
}//2 // ================= Обработка сигналов ===============================
{//3if ((PA < MA_1_t) && (MA_1_t < MA_1_p) && (PA < sv_close) && (TimeBar_t==(TimeBarOpen+timeplus))) NewBuy = 1; else NewBuy = 0; // условие BUYif ((PA > MA_1_t) && (MA_1_t > MA_1_p) && (PA > sv_close) && (TimeBar_t==(TimeBarOpen+timeplus))) NewSell = 1; else NewSell = 0; // условие SELL// ======= вычисляем время торговли ======// (воскресенье-0,1,2,3,4,5,6)if((DayOfWeek() == 1 && Hour() >= MondayStart) ||DayOfWeek() == 2 || DayOfWeek() == 3 || DayOfWeek() == 4 || (DayOfWeek() == 5 && Hour() < FridayStop)) Trade = 1; else Trade = 0;
}//3// ================= Открытие сделки ===================================
{//4// открытие BUYif ((NewBuy == 1) && (ExistPositions() == false) && (Trade == 1) && (BUY==true))
{
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,Slippage,0,0,GetNameOP,mn,0,Blue);
Sleep (Pause);
OrderModify(GetTicketLastPos(),OrderOpenPrice(),(Ask-Point*StopLoss),(Ask+Point*TakeProfit),0,Red);
}
// открытие Sellif ((NewSell == 1) && (ExistPositions() == false) && (Trade == 1) && (SELL==true))
{
OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,Slippage,0,0,GetNameOP,mn,0,OrangeRed);
Sleep (Pause);
OrderModify(GetTicketLastPos(),OrderOpenPrice(),(Bid+Point*StopLoss),(Bid-Point*TakeProfit),0,Red);
}
}//5// ================= Закрытие сделки ===================================
{//6if (NewBuy == 1)
{
ClossAllProfitSell ();
ClossAllLossSell();
Sleep(Pause);
}
if (NewSell == 1)
{
ClossAllProfitBuy ();
ClossAllLossBuy();
Sleep(Pause);
}
if (DayOfWeek() == 5 && Hour() >= FridayClose) // закрываем в пятницу вечером все прибыльные ордера
{
ClossAllProfitBuy ();
ClossAllProfitSell ();
Sleep(Pause);
}
}//6// ================= Комментарии ======================================
{//7if (!IsTesting())
{
Comment("Magic=",mn, " PA=",PA, " MA_t=",MA_1_t," MA_p=",MA_1_p," Sv_close=",sv_close," TimeBar=",TimeBar_t," Spread=",spread," StopLevel=",stoplevel); // Комментарий в угол окна
}
}//7// =====================================================================return(0);
}//0// END// ================= Функции ==========================================//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 06.03.2008 |//| Описание : Возвращает флаг существования позиций |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| ot - время открытия ( 0 - любое время открытия) |//+----------------------------------------------------------------------------+bool ExistPositions(string sy="", int op=-1, datetime ot=0) {
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
}
return(False);
}
//END//+------------------------------------------------------------------+//| Закрыть прибыльные ордера |//+------------------------------------------------------------------+// ====================== Закрыть BUY в профите ===============================double ClossAllProfitBuy ()
{
int Profit1=MinTP;
int col1=Lime;
int ask1, bid1, open1;
double point1;
for (int i1=OrdersTotal()-1; i1>=0; i1--)
{
if (!OrderSelect(i1,SELECT_BY_POS,MODE_TRADES)) break;
if ((OrderType()==OP_BUY) && (OrderMagicNumber()==mn))
{
point1=MarketInfo(Symbol(),MODE_POINT);
if (point1==0) break;
bid1=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point1);
open1=MathRound(OrderOpenPrice()/point1);
if (bid1-open1<Profit1) continue;
OrderClose(OrderTicket(),OrderLots(),bid1*point1,Slippage,col1);
}
}
}
// End// ====================== Закрыть SELL в профите ===============================double ClossAllProfitSell ()
{
int Profit2=MinTP;
int col2=Lime;
int ask2, bid2, open2;
double point2;
for (int i2=OrdersTotal()-1; i2>=0; i2--)
{
if (!OrderSelect(i2,SELECT_BY_POS,MODE_TRADES)) break;
if ((OrderType()==OP_SELL) && (OrderMagicNumber()==mn))
{
point2=MarketInfo(Symbol(),MODE_POINT);
if (point2==0) break;
ask2=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point2);
open2=MathRound(OrderOpenPrice()/point2);
if (open2-ask2<Profit2) continue;
OrderClose (OrderTicket(),OrderLots(),ask2*point2,Slippage,col2) ;
}
}
}
// End//+------------------------------------------------------------------+//| Закрыть убыточные ордера |//+------------------------------------------------------------------+// ====================== Закрыть BUY в убытке ===============================double ClossAllLossBuy()
{
int Stop4=MinSL;
int ask4, bid4, open4;
double point4;
for (int i4=OrdersTotal()-1; i4>=0; i4--)
{
if (!OrderSelect(i4,SELECT_BY_POS,MODE_TRADES)) break;
if ((OrderType()==OP_BUY) && (OrderMagicNumber()==mn))
{
point4=MarketInfo(Symbol(),MODE_POINT);
if (point4==0) break;
bid4=MathRound(MarketInfo(Symbol(),MODE_BID)/point4);
open4=MathRound(OrderOpenPrice()/point4);
if (open4-bid4<Stop4) continue;
OrderClose(OrderTicket(),OrderLots(),bid4*point4,Slippage,Red);
}
}
}
// End// ====================== Закрыть SELL в убытке ===============================double ClossAllLossSell()
{
int Stop5=MinSL;
int ask5, bid5, open5;
double point5;
for (int i5=OrdersTotal()-1; i5>=0; i5--)
{
if (!OrderSelect(i5,SELECT_BY_POS,MODE_TRADES)) break;
if ((OrderType()==OP_SELL) && (OrderMagicNumber()==mn))
{
point5=MarketInfo(Symbol(),MODE_POINT);
if (point5==0) break;
ask5=MathRound(MarketInfo(Symbol(),MODE_ASK)/point5);
open5=MathRound(OrderOpenPrice()/point5);
if (ask5-open5<Stop5) continue;
OrderClose (OrderTicket(),OrderLots(),ask5*point5,Slippage,Red);
}
}
}
// End//+----------------------------------------------------------------------------------------+//| ММ Функция работает по принципу наращивания лота при увеличении |//| депозита, и уменьшении лота при серии убыточных сделок лот возвращается |//| на начальный лот в данном случае 0.1 если происходит профит то следующий |//| лот расчитывается по прогресии. |//| К примеру при депозите 500 старт лота будет равен 0.1 далее депозит |//| увеличивается до 5000 лот будет равен 1 если будет две убыточные сделки |//| лот уменьшится от предыдущего деленое на DecreaseFactor = 3, если по далее |//| две сделки будут убыточные,уменьшится от предыдущего деленое на DecreaseFactor = 3, |//| далее если сделка будет прибыльной то следующий лот откроется из расчета |//| баланса депозита "баланс/500*0.1"=лот внешние переменные |//+----------------------------------------------------------------------------------------+double LotsOptimized() {
double minlot = MarketInfo(Symbol(), MODE_MINLOT);
double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);
double lot = Lots;
int orders = OrdersHistoryTotal();
int losses = 0;
lot = NormalizeDouble((AccountFreeMargin()- AccountCredit()) * MaximumRisk / balans, 2);
if (DecreaseFactor > 0.0) {
for (int i = orders - 1; i >= 0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == FALSE) {
Print("Error in history!");
break;
}
if (OrderSymbol() != Symbol() || OrderType() > OP_SELL) continue;
if (OrderProfit() > 0.0) break;
if (OrderProfit() < 0.0) losses++;
}
if (losses > 1) lot = NormalizeDouble(lot + lot * losses / DecreaseFactor, 2);
}
if(lot < minlot) lot = minlot;
if(lot > maxlot) lot = maxlot;
return (lot);}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает тикет последней открытой позиции или -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int GetTicketLastPos(string sy="", int op=-1) {
datetime o;
int i, k=OrdersTotal(), r=-1;
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (o<OrderOpenTime()) {
o=OrderOpenTime();
r=OrderTicket();
}
}
}
}
}
}
}
return(r);
}
// END
Nirus: Как в том анекдоте - "Ну чо, типа, ау-у!" Может кто-то выскажется? У кого какие результаты в тестировании?
Ну типа ау-у! :))))))
По-делу значится.
1. Прогнал по твоим настройкам и график получился похож, но как уже говорил, что даже на разных серверах одного ДЦ результаты бывают различаются, поэтому ничего странного и страшного в этом нет, в целом результат положителен.
2. Настройки у меня свои. Мне советник нравится, но вот все времени нет фильтр какой-нибудь попробовать.
3. На последней неделе прям лосиная семья прибежала, такая жирная, упитанная, но если глянуть на историю, то случается такое, а потом все отыгрывается с лихвой. Главное не нервничать и не выкидывать советника с целью поиска грааля....
4. Сколько не оптил и не пробовал на другие пары, ну никак не получается после оптимизации в дальнейшем стабильность получить. Наверное евробакс и баксфранк :)
5. Ну и идея по поводу граализации данного советника. Может есть смысл вместо стопа, применить усреднение? А то как получается, попал в глобальный тренд (например идем вверх) и словил стоп, так он через час все равно откроется с продажой, т.е. против тренда..... но тренд по большому счету не отфильтруешь, т.к. пока отфильтруешь можно как раз пропустить те самые сделки, которые выводят из просадки. Вот и родилась мысль что вместо стопа надо пробовать усредняться (можно и мартина попробовать). Стоп обычно (у меня в настройках в районе 80-100 пунктов), ну так вот стоп не ставить, а на расстоянии 100 (регулируемый параметр) усреднение с подтягиванием тейкпрофита ну скажем в безубыток И!!! если сигнал меняется, то соответственно переворот и дальше как обычно. Оно все равно бывает переворот с небольшим минусом. С одной стороны без стопов опасно (обрывы связи т.п.), но просто можно добавить как вариант на любителя. На мой взгляд возможно это лучше чем просто фильтр использовать, т.к. неизвестно что найдешь, а что потеряешь. Буду благодарен кто попробует добавить эту мысль в код для проверки. Может и другие пары тоже приручатся.....
Nirus: Как в том анекдоте - "Ну чо, типа, ау-у!" Может кто-то выскажется? У кого какие результаты в тестировании?
Ну типа ау-у! :))))))
По-делу значится.
1. Прогнал по твоим настройкам и график получился похож, но как уже говорил, что даже на разных серверах одного ДЦ результаты бывают различаются, поэтому ничего странного и страшного в этом нет, в целом результат положителен.
2. Настройки у меня свои. Мне советник нравится, но вот все времени нет фильтр какой-нибудь попробовать.
3. На последней неделе прям лосиная семья прибежала, такая жирная, упитанная, но если глянуть на историю, то случается такое, а потом все отыгрывается с лихвой. Главное не нервничать и не выкидывать советника с целью поиска грааля....
4. Сколько не оптил и не пробовал на другие пары, ну никак не получается после оптимизации в дальнейшем стабильность получить. Наверное евробакс и баксфранк :)
5. Ну и идея по поводу граализации данного советника. Может есть смысл вместо стопа, применить усреднение? А то как получается, попал в глобальный тренд (например идем вверх) и словил стоп, так он через час все равно откроется с продажой, т.е. против тренда..... но тренд по большому счету не отфильтруешь, т.к. пока отфильтруешь можно как раз пропустить те самые сделки, которые выводят из просадки. Вот и родилась мысль что вместо стопа надо пробовать усредняться (можно и мартина попробовать). Стоп обычно (у меня в настройках в районе 80-100 пунктов), ну так вот стоп не ставить, а на расстоянии 100 (регулируемый параметр) усреднение с подтягиванием тейкпрофита ну скажем в безубыток И!!! если сигнал меняется, то соответственно переворот и дальше как обычно. Оно все равно бывает переворот с небольшим минусом. С одной стороны без стопов опасно (обрывы связи т.п.), но просто можно добавить как вариант на любителя. На мой взгляд возможно это лучше чем просто фильтр использовать, т.к. неизвестно что найдешь, а что потеряешь. Буду благодарен кто попробует добавить эту мысль в код для проверки. Может и другие пары тоже приручатся.....
Ну, слава богу... Я уж подумал, что все ушли косить бабло... :-)
1. Ключевое резюме - "в целом результат положителен".
2. На счёт фильтра - очень сомневаюсь. Мне кажется любой фильтр будет мешать и сильно скажется на прибыльности...
3. Действительно, без лосей - никуда, и, действительно, здесь главное - не нервничать... Что, конечно, очень непросто... :-) Причём необходимо понимать, что весомые профитные сделки случаются именно после двух подряд (иногда - трёх) лосевых сделок.
4. На других парах можно подобрать настройки, но по результатам моих прогонов могу сказать, что наибольшая прибыльность получается по евробаксу, а по баксофранку - наибольшая стабильность... А по-большому счёту не вижу необходимости использовать данного советника в мультивалютной торговле...
5. Категорически против "мартингейлизации" - это, во-первых, нарушает логику работы советника, во-вторых, это - путёвка к сливу...
Не могу сказать, что не думал по поводу возможностей усовершенствования кода, но всякий раз приходил к выводу, что улучшать здесь нечего... И не надо забывать, что "грааль" и "утопия" - слова синонимы... :-)
В этом советнике меня беспокоит только одно - просто дьявольская зависимость результатов торговли от параметра TimeBarOpen! В чём здесь логика?! А советник действительно отличный, из серии "Всё гениальное - просто!"
5. Категорически против "мартингейлизации" - это, во-первых, нарушает логику работы советника, во-вторых, это - путёвка к сливу...
Не могу сказать, что не думал по поводу возможностей усовершенствования кода, но всякий раз приходил к выводу, что улучшать здесь нечего... И не надо забывать, что "грааль" и "утопия" - слова синонимы... :-)
В этом советнике меня беспокоит только одно - просто дьявольская зависимость результатов торговли от параметра TimeBarOpen! В чём здесь логика?! А советник действительно отличный, из серии "Всё гениальное - просто!"
Какие будут мнения?
Идем дальше.
1. А в настройках где
lot + lot
уже заложен Мартингейл. ))))))) да еще
DecreaseFactor = 0,16
и в итоге имеем после 2-х минусовых (не обязательно сработал стоп) советник входит лотом в 14 раз большим. Можно и снизить эту цифру, но факт остается фактом, мартингейл на лицо. И если в этом случае сработает стоп (85 пунктов), то получаем убыток в 36%, но это повторюсь на любителя.
Я чуть позже (может сегодня вечером, может завтра) в тестере с визуализацией и с ручкой и листочком, посмотрю как оно будет выглядеть в "натуре" усреднение и отчитаюсь здесь.
2. По поводу TimeBarOpen, да это по своей сути и есть как раз тот самый фильтр, но как бы внутри часа. Если поставить например 59 (как раз за минуту до закрытия свечи), то получим массу "неправильных" входов. А так вроде как и ничего, нормально получается.
В этом советнике меня беспокоит только одно - просто дьявольская зависимость результатов торговли от параметра TimeBarOpen! В чём здесь логика?! А советник действительно отличный, из серии "Всё гениальное - просто!"
Какие будут мнения?
На рынке нет логики, поэтому не надо искать логику там где её нет Всё что нам подвластно это только управление рисками ...
5. Категорически против "мартингейлизации" - это, во-первых, нарушает логику работы советника, во-вторых, это - путёвка к сливу...
Не могу сказать, что не думал по поводу возможностей усовершенствования кода, но всякий раз приходил к выводу, что улучшать здесь нечего... И не надо забывать, что "грааль" и "утопия" - слова синонимы... :-)
В этом советнике меня беспокоит только одно - просто дьявольская зависимость результатов торговли от параметра TimeBarOpen! В чём здесь логика?! А советник действительно отличный, из серии "Всё гениальное - просто!"
Какие будут мнения?
Идем дальше.
1. А в настройках где
lot + lot
уже заложен Мартингейл. ))))))) да еще
DecreaseFactor = 0,16
и в итоге имеем после 2-х минусовых (не обязательно сработал стоп) советник входит лотом в 14 раз большим. Можно и снизить эту цифру, но факт остается фактом, мартингейл на лицо. И если в этом случае сработает стоп (85 пунктов), то получаем убыток в 36%, но это повторюсь на любителя.
Я чуть позже (может сегодня вечером, может завтра) в тестере с визуализацией и с ручкой и листочком, посмотрю как оно будет выглядеть в "натуре" усреднение и отчитаюсь здесь.
2. По поводу TimeBarOpen, да это по своей сути и есть как раз тот самый фильтр, но как бы внутри часа. Если поставить например 59 (как раз за минуту до закрытия свечи), то получим массу "неправильных" входов. А так вроде как и ничего, нормально получается.
Saban, вот тут ты как раз принципиально ошибаешься! Мартингейл - это, упрощённо говоря, последовательное открытие ордеров с увеличением лота В ОДНУ И ТУ ЖЕ СТОРОНУ С ОДНИМ УСРЕДНЯЮЩИМ СТОПОМ ДЛЯ ВСЕХ И ДО ПОБЕДНОГО КОНЦА! Который как раз может оказаться не победным, а весьма плачевным. Здесь же каждый последующий ордер открывается только после закрытия предыдущего, а компенсирующий ордер открывается не обязательно в ту же сторону, что и два предыдущих убыточных, да и два последовательно убыточных ордера тоже могут быть противоположными! Поэтому принципом мартингейла здесь и не пахнет!
Направление открытия ордеров здесь зависит только от расположения текущей цены относительно МА...
ну это всё понятно, но хотелось бы услышать Nirus'a )
Да, пожалуйста! "Усреднением при просадке" это назвать нельзя, я бы назвал компенсацией потерь... :-) А ММ вы можете выбрать любой в зависимости от того, насколько вы готовы рисковать, благо он гибко настраивается посредством параметров MaximumRisk и balans...
ну это всё понятно, но хотелось бы услышать Nirus'a )
Да, пожалуйста! "Усреднением при просадке" это назвать нельзя, я бы назвал компенсацией потерь... :-) А ММ вы можете выбрать любой в зависимости от того, насколько вы готовы рисковать, благо он гибко настраивается посредством параметров MaximumRisk и balans...
ну это всё понятно, но хотелось бы услышать Nirus'a )
Да, пожалуйста! "Усреднением при просадке" это назвать нельзя, я бы назвал компенсацией потерь... :-) А ММ вы можете выбрать любой в зависимости от того, насколько вы готовы рисковать, благо он гибко настраивается посредством параметров MaximumRisk и balans...
А ветку целиком почитать слабо? :-)
Выкладываю исключительно для ленивых... :-)
Как в том анекдоте - "Ну чо, типа, ау-у!" Может кто-то выскажется? У кого какие результаты в тестировании?
Ну типа ау-у! :))))))
По-делу значится.
1. Прогнал по твоим настройкам и график получился похож, но как уже говорил, что даже на разных серверах одного ДЦ результаты бывают различаются, поэтому ничего странного и страшного в этом нет, в целом результат положителен.
2. Настройки у меня свои. Мне советник нравится, но вот все времени нет фильтр какой-нибудь попробовать.
3. На последней неделе прям лосиная семья прибежала, такая жирная, упитанная, но если глянуть на историю, то случается такое, а потом все отыгрывается с лихвой. Главное не нервничать и не выкидывать советника с целью поиска грааля....
4. Сколько не оптил и не пробовал на другие пары, ну никак не получается после оптимизации в дальнейшем стабильность получить. Наверное евробакс и баксфранк :)
5. Ну и идея по поводу граализации данного советника. Может есть смысл вместо стопа, применить усреднение? А то как получается, попал в глобальный тренд (например идем вверх) и словил стоп, так он через час все равно откроется с продажой, т.е. против тренда..... но тренд по большому счету не отфильтруешь, т.к. пока отфильтруешь можно как раз пропустить те самые сделки, которые выводят из просадки. Вот и родилась мысль что вместо стопа надо пробовать усредняться (можно и мартина попробовать). Стоп обычно (у меня в настройках в районе 80-100 пунктов), ну так вот стоп не ставить, а на расстоянии 100 (регулируемый параметр) усреднение с подтягиванием тейкпрофита ну скажем в безубыток И!!! если сигнал меняется, то соответственно переворот и дальше как обычно. Оно все равно бывает переворот с небольшим минусом. С одной стороны без стопов опасно (обрывы связи т.п.), но просто можно добавить как вариант на любителя. На мой взгляд возможно это лучше чем просто фильтр использовать, т.к. неизвестно что найдешь, а что потеряешь. Буду благодарен кто попробует добавить эту мысль в код для проверки. Может и другие пары тоже приручатся.....
Как в том анекдоте - "Ну чо, типа, ау-у!" Может кто-то выскажется? У кого какие результаты в тестировании?
Ну типа ау-у! :))))))
По-делу значится.
1. Прогнал по твоим настройкам и график получился похож, но как уже говорил, что даже на разных серверах одного ДЦ результаты бывают различаются, поэтому ничего странного и страшного в этом нет, в целом результат положителен.
2. Настройки у меня свои. Мне советник нравится, но вот все времени нет фильтр какой-нибудь попробовать.
3. На последней неделе прям лосиная семья прибежала, такая жирная, упитанная, но если глянуть на историю, то случается такое, а потом все отыгрывается с лихвой. Главное не нервничать и не выкидывать советника с целью поиска грааля....
4. Сколько не оптил и не пробовал на другие пары, ну никак не получается после оптимизации в дальнейшем стабильность получить. Наверное евробакс и баксфранк :)
5. Ну и идея по поводу граализации данного советника. Может есть смысл вместо стопа, применить усреднение? А то как получается, попал в глобальный тренд (например идем вверх) и словил стоп, так он через час все равно откроется с продажой, т.е. против тренда..... но тренд по большому счету не отфильтруешь, т.к. пока отфильтруешь можно как раз пропустить те самые сделки, которые выводят из просадки. Вот и родилась мысль что вместо стопа надо пробовать усредняться (можно и мартина попробовать). Стоп обычно (у меня в настройках в районе 80-100 пунктов), ну так вот стоп не ставить, а на расстоянии 100 (регулируемый параметр) усреднение с подтягиванием тейкпрофита ну скажем в безубыток И!!! если сигнал меняется, то соответственно переворот и дальше как обычно. Оно все равно бывает переворот с небольшим минусом. С одной стороны без стопов опасно (обрывы связи т.п.), но просто можно добавить как вариант на любителя. На мой взгляд возможно это лучше чем просто фильтр использовать, т.к. неизвестно что найдешь, а что потеряешь. Буду благодарен кто попробует добавить эту мысль в код для проверки. Может и другие пары тоже приручатся.....
Ну, слава богу... Я уж подумал, что все ушли косить бабло... :-)
1. Ключевое резюме - "в целом результат положителен".
2. На счёт фильтра - очень сомневаюсь. Мне кажется любой фильтр будет мешать и сильно скажется на прибыльности...
3. Действительно, без лосей - никуда, и, действительно, здесь главное - не нервничать... Что, конечно, очень непросто... :-) Причём необходимо понимать, что весомые профитные сделки случаются именно после двух подряд (иногда - трёх) лосевых сделок.
4. На других парах можно подобрать настройки, но по результатам моих прогонов могу сказать, что наибольшая прибыльность получается по евробаксу, а по баксофранку - наибольшая стабильность... А по-большому счёту не вижу необходимости использовать данного советника в мультивалютной торговле...
5. Категорически против "мартингейлизации" - это, во-первых, нарушает логику работы советника, во-вторых, это - путёвка к сливу...
Не могу сказать, что не думал по поводу возможностей усовершенствования кода, но всякий раз приходил к выводу, что улучшать здесь нечего... И не надо забывать, что "грааль" и "утопия" - слова синонимы... :-)
В этом советнике меня беспокоит только одно - просто дьявольская зависимость результатов торговли от параметра TimeBarOpen! В чём здесь логика?! А советник действительно отличный, из серии "Всё гениальное - просто!"
Какие будут мнения?
Не могу сказать, что не думал по поводу возможностей усовершенствования кода, но всякий раз приходил к выводу, что улучшать здесь нечего... И не надо забывать, что "грааль" и "утопия" - слова синонимы... :-)
В этом советнике меня беспокоит только одно - просто дьявольская зависимость результатов торговли от параметра TimeBarOpen! В чём здесь логика?! А советник действительно отличный, из серии "Всё гениальное - просто!"
Какие будут мнения?
Идем дальше.
1. А в настройках где
уже заложен Мартингейл. ))))))) да еще
DecreaseFactor = 0,16и в итоге имеем после 2-х минусовых (не обязательно сработал стоп) советник входит лотом в 14 раз большим. Можно и снизить эту цифру, но факт остается фактом, мартингейл на лицо. И если в этом случае сработает стоп (85 пунктов), то получаем убыток в 36%, но это повторюсь на любителя.
Я чуть позже (может сегодня вечером, может завтра) в тестере с визуализацией и с ручкой и листочком, посмотрю как оно будет выглядеть в "натуре" усреднение и отчитаюсь здесь.
2. По поводу TimeBarOpen, да это по своей сути и есть как раз тот самый фильтр, но как бы внутри часа. Если поставить например 59 (как раз за минуту до закрытия свечи), то получим массу "неправильных" входов. А так вроде как и ничего, нормально получается.
В этом советнике меня беспокоит только одно - просто дьявольская зависимость результатов торговли от параметра TimeBarOpen! В чём здесь логика?! А советник действительно отличный, из серии "Всё гениальное - просто!"
Какие будут мнения?
На рынке нет логики, поэтому не надо искать логику там где её нет
Не могу сказать, что не думал по поводу возможностей усовершенствования кода, но всякий раз приходил к выводу, что улучшать здесь нечего... И не надо забывать, что "грааль" и "утопия" - слова синонимы... :-)
В этом советнике меня беспокоит только одно - просто дьявольская зависимость результатов торговли от параметра TimeBarOpen! В чём здесь логика?! А советник действительно отличный, из серии "Всё гениальное - просто!"
Какие будут мнения?
Идем дальше.
1. А в настройках где
уже заложен Мартингейл. ))))))) да еще
DecreaseFactor = 0,16и в итоге имеем после 2-х минусовых (не обязательно сработал стоп) советник входит лотом в 14 раз большим. Можно и снизить эту цифру, но факт остается фактом, мартингейл на лицо. И если в этом случае сработает стоп (85 пунктов), то получаем убыток в 36%, но это повторюсь на любителя.
Я чуть позже (может сегодня вечером, может завтра) в тестере с визуализацией и с ручкой и листочком, посмотрю как оно будет выглядеть в "натуре" усреднение и отчитаюсь здесь.
2. По поводу TimeBarOpen, да это по своей сути и есть как раз тот самый фильтр, но как бы внутри часа. Если поставить например 59 (как раз за минуту до закрытия свечи), то получим массу "неправильных" входов. А так вроде как и ничего, нормально получается.
Saban, вот тут ты как раз принципиально ошибаешься! Мартингейл - это, упрощённо говоря, последовательное открытие ордеров с увеличением лота В ОДНУ И ТУ ЖЕ СТОРОНУ С ОДНИМ УСРЕДНЯЮЩИМ СТОПОМ ДЛЯ ВСЕХ И ДО ПОБЕДНОГО КОНЦА! Который как раз может оказаться не победным, а весьма плачевным. Здесь же каждый последующий ордер открывается только после закрытия предыдущего, а компенсирующий ордер открывается не обязательно в ту же сторону, что и два предыдущих убыточных, да и два последовательно убыточных ордера тоже могут быть противоположными! Поэтому принципом мартингейла здесь и не пахнет!
Направление открытия ордеров здесь зависит только от расположения текущей цены относительно МА...