Ручные торговые стратегии и системы Обсуждаем ручные торговые стратегии и системы для торговли на форекс и биржах: примеры входов, доработка, обновленные версии, вопросы и ответы.

Закрытая тема
17.03.2012, 08:01
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
неее - совет токо один могу дать тут - в теме, описан ряд индикаторов - и Любой из них можно подогнать под систему - пробуйте их - или придумайте свой
ведь это только первая часть ТС, вторая - это ММ RM - от этого зависит Прибыльность ТС... вот с ней поработайте....

а насчёт зеромакд..... я его сам делал - по формуле.... почемуто показатели НЕ совпадают с теми что выкладывались на форуме.... гдето в реализации косячок у когото из нас - или же "Неправильные" параметры участники подбирают для МАшек этих индикаторов
ведь это - Гистограмма - Результат "сложения" 4х(Четырёх) МАшек.... и у каждой свой параметр может быть для конкретного ТФ....
17.03.2012, 08:14
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
ЗЫ - а если приплести сюда ещё и Контрольную линию - то получится 6(шесть) машек со своими параметрами - да ещё % отклонения....
вот у тебя ЗероМакд и не подходит почемуто
17.03.2012, 08:18
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
ЗЫЫ - да ещё Адаптивную часть ты не учёл стат данные за полгода, 2 месяца и неделю перед конкретной сделкой = с выбором параметров дающих минимальную просадку на последнем этапе, а в других, отбор по другим параметрам....
---
может решив в комплексе Первую часть ТС, и подобрав ММ ты и решишь эту Задачку(Грааль для себя)
17.03.2012, 08:52
Аватар для Insaider
Insaider Insaider вне форума Местный житель
Регистрация: 07.12.2011 / Сообщений: 126
Поблагодарили 197 раз(а) / Репутация: 198
У вас есть зеро макд работоспособный для МТ5? начнем с него

Вложение 69754
Если вопрос ко мне то я пользовал, вот этот ZeroLag
http://www.mql5.com/ru/code/100

И все таки
ведь это - Гистограмма - Результат "сложения" 4х(Четырёх) МАшек.... и у каждой свой параметр может быть для конкретного ТФ....
Похоже используется не одинаковые параметры машек, по ФИ (если правильно понимаю).
Как то NeColla их оптимизирует, чтоль.

стат данные за полгода, 2 месяца и неделю перед конкретной сделкой = с выбором параметров дающих минимальную просадку на последнем этапе
Не совсем понятно "полгода, 2 месяца и неделю" почему не семь месяцев, а дискретно.
И получается все же нужно вести просчет некого оптимального уровня с которого надо открываться. (пока не совсем понятно надо думать)
17.03.2012, 13:21
Регистрация: 17.02.2009 / Сообщений: 2,526
Поблагодарили 8,107 раз(а) / Репутация: 8161
неправда ваша наверное ты не вкурил Где Открывать позиции - где тралить а где закрывать
ЗЫ - даже на приведённом тобой рисунке все 4 раздвижки дали плюсики в профите....
ЗЫЫ - в плюсике если смотреть Евру и Фунт - на графиках
а не Евру и Франк как у тебя считает профит лосс позиция.....
ЗЫЫЫ - и ошибка №3... - закрытие или Трал Начинается в Текущей 0ой точке а не переносится на следующую.....
извеняюсь не тот график под скрин подставил

и все же Ind_2 Line+11-Histo.mq4 дает неточности ... которые могут заканчиваться "-" мягко выражаясь

на счет вкурил пока иду без единого общего минуса по связкам пар ... и давно
ЗЫЫЫ - и ошибка №3... - закрытие или Трал Начинается в Текущей 0ой точке а не переносится на следующую.....
я про закрытие или открытие вообще не говорил ... понятно и первом классе: старый ноль уже не ноль ... я говорил только о точности исчесляемых данных
the trading essence is not to prove that you're right, but making money
чем ближе истина тем меньше слов для ее выражения
http://www.youtube.com/watch?v=jSicu...layer_embedded

Последний раз редактировалось redneedle; 17.03.2012 в 13:41.
17.03.2012, 16:42
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
ох уж эти рисуночки....
повторюсь.... 0ая точка - это НЕ точка входа в позицию - это Точка начала отслеживания входа в сделки.... - следующая 0ая точка - это или Закрытие позиций Или начала Трала эквити при положительном общем результате - возможно траление вплоть до следующего входа....
---
к примеру - на 1ом рисунке жёлтый квадратик показывает начало 0ой точки - а Вход в позицию будет через несколько часов , вернее сказать на следующий день - в начале гдето... а потом 0ая точка в районе 8 утра будет сигнализировать о Трале совокупной ПОЛОЖИТЕЛЬНОЙ позиции...
---
ну да ладно.... как хотите так и используйте инструменты... воля ваша
17.03.2012, 16:57
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
ЗЫ - и насчёт точности исчесления... лично для меня - ТО, что я вижу на вашем рисунке - показывает ТОЛЬКО положительные результаты каждого входа - где там минуса у вас берутся - чес слово не пойму....
17.03.2012, 17:06
Регистрация: 17.02.2009 / Сообщений: 2,526
Поблагодарили 8,107 раз(а) / Репутация: 8161
ох уж эти рисуночки....
повторюсь.... 0ая точка - это НЕ точка входа в позицию - это Точка начала отслеживания входа в сделки.... - следующая 0ая точка - это или Закрытие позиций Или начала Трала эквити при положительном общем результате - возможно траление вплоть до следующего входа....
---
к примеру - на 1ом рисунке жёлтый квадратик показывает начало 0ой точки - а Вход в позицию будет через несколько часов , вернее сказать на следующий день - в начале гдето... а потом 0ая точка в районе 8 утра будет сигнализировать о Трале совокупной ПОЛОЖИТЕЛЬНОЙ позиции...
---
ну да ладно.... как хотите так и используйте инструменты... воля ваша

я нулевую точку и расматриваю как точку отсчета а не как место входа - зачем входить на месте схождении ..... какое то странное недопонимание между нами
the trading essence is not to prove that you're right, but making money
чем ближе истина тем меньше слов для ее выражения
http://www.youtube.com/watch?v=jSicu...layer_embedded
17.03.2012, 17:23
Аватар для 4er58
4er58 4er58 вне форума Почётный гражданин
Регистрация: 23.07.2010 / Сообщений: 1,271
Поблагодарили 286 раз(а) / Репутация: 303
я нулевую точку и расматриваю как точку отсчета а не как место входа - зачем входить на месте схождении ..... какое то странное недопонимание между нами
А почему бы на расхождении не входить расставленными пробойничками в разные стороны через n-пунктов по двум ногам , я так понял что Никола вроде сам это использует ?
17.03.2012, 17:23
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
нуу... так покажите ГДЕ там Минуса?
Цитата:
имхо тупиковый момент вообще пользоваться Ind_2 Line+11-Histo.mq4
прослеживая по пунктам вообще нет никакого схлопывания от раздвижек

и все же Ind_2 Line+11-Histo.mq4 дает неточности ... которые могут заканчиваться "-" мягко выражаясь
т.е. я так понимаю... смотря на свой график вы видите ОТРИЦАТЕЛЬНЫЕ результаты от Ваших точек Входа выхода....
вот ЭТОто и не понятно.... ГДЕ, в Какой Момент вы их... минуса , видите?
так как - в классической интерпретации - ваши рисунки показывают ТОЛЬКО положительные результаты?



Последний раз редактировалось NeColla; 17.03.2012 в 18:17.
4er58 , drDim , Insaider , User 
17.03.2012, 17:49
Аватар для 4er58
4er58 4er58 вне форума Почётный гражданин
Регистрация: 23.07.2010 / Сообщений: 1,271
Поблагодарили 286 раз(а) / Репутация: 303
Никола как по вашему по индексам не поздно или не рано входить , зашел от 6 марта ( в расчете на сдвиг ) , сначала была прибыль но пересечения небыло , теперь убыток висит , доливаемся , или рано ? , или пробойники раставляем ? Или что посоветуете где закрываем убытки ?

Раздвижечка то не хочет останавливаться . ( до этого все шло прекрасно)

Последний раз редактировалось 4er58; 17.03.2012 в 18:02.
17.03.2012, 18:36
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
использовать ТФ 4 часа - имхо НЕ в этой системе... тут от 15-30 макс 1 час рабочие тф...
а так, надо глянуть бы по истории - примерно 15 марта надо было бы Долиться ещё
ну и ждать схлопывания... если депозит позволит....

ЗЫ - для такого ТФ совсем другие параметры машек нужны.... и лучше на нём не работать....
ЗЫЫ - обратите внимание на Тему от Леонида(раз вы от него индикатором пользуетесь) - типа так называлась - КРАТКОСРОЧНАЯ псевдоарбитражная сделка.. или как то так... не для больших тф...

Последний раз редактировалось NeColla; 17.03.2012 в 18:49.
4er58 
17.03.2012, 19:54
Аватар для 4er58
4er58 4er58 вне форума Почётный гражданин
Регистрация: 23.07.2010 / Сообщений: 1,271
Поблагодарили 286 раз(а) / Репутация: 303
использовать ТФ 4 часа - имхо НЕ в этой системе... тут от 15-30 макс 1 час рабочие тф...
а так, надо глянуть бы по истории - примерно 15 марта надо было бы Долиться ещё
ну и ждать схлопывания... если депозит позволит....

ЗЫ - для такого ТФ совсем другие параметры машек нужны.... и лучше на нём не работать....
ЗЫЫ - обратите внимание на Тему от Леонида(раз вы от него индикатором пользуетесь) - типа так называлась - КРАТКОСРОЧНАЯ псевдоарбитражная сделка.. или как то так... не для больших тф...


И все же допустим что такая ситуация произошла на 15 минтуках , раздвижка поперла , что делаем в этой систуации ? Допустим расчитали месячный диапазон кросса EURGBP - она же волатильность 2 ног , правильно ? ход цены допустим гуляет в стреднем 100 пунктов в день .

Дальше что нам это дает ? Как использывать инфу ? Ставим стопы за эти 100 пунктов ?

Последний раз редактировалось 4er58; 17.03.2012 в 19:57.
17.03.2012, 20:12
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
подобие этой ситуации нарисовано на выше лежащем рисунке - точки 6 6.1 6.2 7
посмотри сам
17.03.2012, 20:29
Аватар для 4er58
4er58 4er58 вне форума Почётный гражданин
Регистрация: 23.07.2010 / Сообщений: 1,271
Поблагодарили 286 раз(а) / Репутация: 303
подобие этой ситуации нарисовано на выше лежащем рисунке - точки 6 6.1 6.2 7
посмотри сам
То есть тупо на кройняк закроемся с общим минусом по тралу это и есть наш стопарь. Неколла ты молоток .

Но тут еще созрел вопрос , а нафига нам тогда волотильность считать ?
И еще как относитесь к пробойникам на разные ноги , на одной пошли плюсы вторая стоит без работы , это же вроде тоже из вашей оперы ?

Последний раз редактировалось 4er58; 17.03.2012 в 20:33.
17.03.2012, 22:11
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
ну и ещё подкину инфы индикатор и советник - думал в мт5 - нее - в мт4

Скрытый текст

Код:
//+------------------------------------------------------------------+
//|                                                          ARB.mq4 |
//|                                                               TO |
//+------------------------------------------------------------------+
#property copyright "TO"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Magenta
#property indicator_color2 White
#property indicator_level1 0
#property indicator_level2 150
#property indicator_level3 -150

extern string symbol_1 = "EURUSD";
extern string symbol_2 = "USDCHF";
extern int BARS = 2000;
extern int MA_period_1 = 20;
extern int MA_period_2 = 10;

double buff_1[];
double buff_2[];

int init()
{
   IndicatorBuffers(2);
   IndicatorDigits(0);
   SetIndexBuffer(0,buff_1);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(1,buff_2); 
   return(0);
}

int deinit()
{
   return(0);
}

int start()
{
   int i;
   for ( i = BARS; i >= 0 ; i -- )buff_1[i] = iOpen(symbol_1,Period(),i) - 1/iOpen(symbol_2,Period(),i);
   for( i = 0; i < BARS - MA_period_1 ; i++)buff_2[i]=iMAOnArray(buff_1,0,MA_period_1,0,MODE_SMA,i);
   for ( i = BARS; i >= 0 ; i -- )
   {
      buff_1[i] -=buff_2[i];
      buff_2[i] = buff_1[i];
   }   
   for( i = 0; i < BARS - MA_period_2 - MA_period_1 ; i++)buff_1[i]=NormalizeDouble(iMAOnArray(buff_2,0,MA_period_2,0,MODE_SMA,i)/MarketInfo(symbol_1,MODE_POINT),0);
   return(0);
}
[свернуть]

Последний раз редактировалось chocolate; 19.03.2012 в 10:29.
Alex741 , Beast , drDim 
17.03.2012, 22:12
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
может кому пригодятся там был индикатор - по нему вот советник....

Скрытый текст

Код:
//+------------------------------------------------------------------+
//|                                                       EA_ARB.mq4 |
//|                                                               TO |
//+------------------------------------------------------------------+
#property copyright "TO"

extern int MA_1 = 20;
extern int MA_2 = 10;
extern int UP_LEVEL = 150;
extern int DOWN_LEVEL = -150;
extern bool inverse = false;
extern double LOTS = 0.1;
extern int ID = 3556;

int init()
{
   return(0);
}

int deinit()
{
   return(0);
}

int start()
{
   if ( !isNewBar() )return(0);
   double ind_1 = iCustom(NULL,0,"ARB_IND","EURUSD","USDCHF",100,MA_1,MA_2,0,0);
   double ind_2 = iCustom(NULL,0,"ARB_IND","EURUSD","USDCHF",100,MA_1,MA_2,0,1);
   double ind_3 = iCustom(NULL,0,"ARB_IND","EURUSD","USDCHF",100,MA_1,MA_2,0,2);
   
   if ( 
         ( ind_3 >= ind_2 && ind_2 < ind_1 && ind_2 < DOWN_LEVEL && orders_kol(inverse) ) || 
         ( ind_2 < 0 && ind_1 >= 0 && order_total_type(inverse) == 0 && order_total_type(!inverse) != 0  ) || 
         ( ind_1 > last_order_indic(!inverse) && ind_1 > 0 && order_total_type(!inverse) != 0 )
      )
   {
      close_type (!inverse);
      open(inverse,LOTS,0,0,DoubleToStr(ind_2,0));
   }
   if ( 
         ( ind_3 <= ind_2 && ind_2 > ind_1 && ind_2 >   UP_LEVEL && orders_kol(!inverse) ) || 
         ( ind_2 > 0 && ind_1 <= 0 && order_total_type(!inverse) == 0 && order_total_type(inverse) != 0 ) || 
         ( ind_1 < last_order_indic(inverse) && ind_1 < 0 && order_total_type(inverse) != 0  )
      )
   {
      close_type (inverse);
      open(!inverse,LOTS,0,0,DoubleToStr(ind_2,0));
   }
   
   return(0);
}

double last_order_indic( int c)
{
   int i;
   double indic = 0;

   for(i=OrdersTotal()-1;i>=0;i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);      
      if(OrderMagicNumber() == ID && OrderType() == c && c == 1 )indic = MathMax(indic,StrToDouble(OrderComment()));
      if(OrderMagicNumber() == ID && OrderType() == c && c == 0 )indic = MathMin(indic,StrToDouble(OrderComment()));
   }
   return(indic);
}

bool orders_kol ( int f )
{
   if ( order_total_type(f) == 0 )return(true);
   if ( order_total_type(f) != 0 && last_trade(f) < 0 )return(true);
}

double last_trade( int c)
{
   int i;
   double profit = 0;
   datetime time=0;
   
   for(i=OrdersTotal()-1;i>=0;i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);      
      if(OrderOpenTime() > time && OrderMagicNumber() == ID && OrderType() == c)
      {
         time = OrderOpenTime();
         profit = OrderProfit();
      }
   }
   return(profit);
}

bool isNewBar()
{
  static datetime BarTime;  
   bool res=false;
    
   if (BarTime!=Time[0]) 
      {
         BarTime=Time[0];  
         res=true;
      } 
   return(res);
}

int order_total_type( int type )
{
   int i;
   int kol=0;
   for(i=OrdersTotal()-1;i>=0;i--)       
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderMagicNumber()==ID && OrderType() == type )kol++;         
   }
   return(kol);   
}

bool close(int ticket)
{
   bool isClosed = false;
   int try = 0;
   while ( IsTradeContextBusy() ){Sleep(500);}
   RefreshRates();
   OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
   isClosed = OrderClose(OrderTicket(), OrderLots(),NormalizeDouble(OrderClosePrice(),Digits), 3, 0);
   while(!isClosed)
   {
      Sleep(1000);
      try++;
      isClosed = OrderClose(OrderTicket(), OrderLots(),NormalizeDouble(OrderClosePrice(),Digits), 3, 0);
      if(try > 5 || isClosed) break;
   }
   if(!isClosed) Print("Order ", ticket, " was NOT closed due to error:", GetLastError());
   return (isClosed);
}

void close_type( int type )
{
   int i;
   for(i=OrdersTotal()-1;i>=0;i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderMagicNumber() == ID && OrderType() == type)close(OrderTicket());
   }   
}

int open(int type, double l, double sl=0, double tp=0, string comm = "")
{
   int isOpened = 0, try = 0;
   double s,t;
   while ( IsTradeContextBusy() ){Sleep(500);}
   RefreshRates();
   if ( sl != 0 && sl < MarketInfo(Symbol(),MODE_STOPLEVEL) )sl = MarketInfo(Symbol(),MODE_STOPLEVEL);
   if ( tp != 0 && tp < MarketInfo(Symbol(),MODE_STOPLEVEL) )tp = MarketInfo(Symbol(),MODE_STOPLEVEL);
   if ( type == 0 )
   {
      if ( tp == 0 )t = 0;
      if ( tp != 0 )t = Bid + tp * Point;
      if ( sl == 0 )s = 0;
      if ( sl != 0 )s = Bid - sl * Point;
   }
   if ( type == 1 )
   {
      if ( tp == 0 )t = 0;
      if ( tp != 0 )t = Ask - tp * Point;
      if ( sl == 0 )s = 0;
      if ( sl != 0 )s = Ask + sl * Point;
   }
   s = NormalizeDouble(s,Digits);
   t = NormalizeDouble(t,Digits);
   if(type==0)isOpened = OrderSend(Symbol(),type,check_lot(l),NormalizeDouble(Ask,Digits),10,s,t,comm,ID);
   if(type==1)isOpened = OrderSend(Symbol(),type,check_lot(l),NormalizeDouble(Bid,Digits),10,s,t,comm,ID);
   Sleep(500);
   while(isOpened<0)
   {
      while ( IsTradeContextBusy() ){Sleep(500);}
      RefreshRates();
      if ( type == 0 )
      {
         if ( tp == 0 )t = 0;
         if ( tp != 0 )t = Bid + tp * Point;
         if ( sl == 0 )s = 0;
         if ( sl != 0 )s = Bid - sl * Point;
      }
      if ( type == 1 )
      {
         if ( tp == 0 )t = 0;
         if ( tp != 0 )t = Ask - tp * Point;
         if ( sl == 0 )s = 0;
         if ( sl != 0 )s = Ask + sl * Point;
      }
      s = NormalizeDouble(s,Digits);
      t = NormalizeDouble(t,Digits);
      try++;
      if(type==0)isOpened = OrderSend(Symbol(),type,check_lot(l),NormalizeDouble(Ask,Digits),10,s,t,comm,ID);
      if(type==1)isOpened = OrderSend(Symbol(),type,check_lot(l),NormalizeDouble(Bid,Digits),10,s,t,comm,ID);
      if(try > 5) break;
      if(isOpened>=0)break;
      Sleep(500);
   }   
   if(isOpened<0) Alert("Ордер не открыт, ошибка :", GetLastError());
   return (isOpened);
}

double check_lot(double &lo)
{
   double l = MarketInfo(Symbol(),MODE_LOTSTEP);
   int ok = 0;
   while ( l < 1 ){l*=10;ok++;}
   if( lo < MarketInfo(Symbol(),MODE_MINLOT) )lo = MarketInfo(Symbol(),MODE_MINLOT);
   if( lo > MarketInfo(Symbol(),MODE_MAXLOT) )lo = MarketInfo(Symbol(),MODE_MAXLOT);
   return(NormalizeDouble(lo,ok));
}
[свернуть]

Последний раз редактировалось chocolate; 19.03.2012 в 10:30.
17.03.2012, 22:16
Аватар для NeColla
NeColla NeColla вне форума Местный знаток
Регистрация: 07.11.2011 / Сообщений: 944
Поблагодарили 683 раз(а) / Репутация: 682
может халявщикам поможет
вот типа картинка1


и результ за месяц - ТФ 1 час
Alex741 , Beast , drDim , vdav 
17.03.2012, 22:58
Аватар для 4er58
4er58 4er58 вне форума Почётный гражданин
Регистрация: 23.07.2010 / Сообщений: 1,271
Поблагодарили 286 раз(а) / Репутация: 303
Теперь точно , будет чистка кухонь )))
18.03.2012, 04:35
Аватар для adre66
adre66 adre66 вне форума Элитный участник
Регистрация: 28.01.2011 / Сообщений: 1,941
Поблагодарили 1,235 раз(а) / Репутация: 1254
я нулевую точку и расматриваю как точку отсчета а не как место входа - зачем входить на месте схождении ..... какое то странное недопонимание между нами
Я так понял, что это две разные торговые системы на одном принципе. Да уж, широкая тема. Каждый выбирает, что ему больше подходит.
Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 18:13. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO