Кого интересует CandleCode? - страница 3

 
Речь шла не о коде.  Сейчас вышлю.
 
- Речь идет о том, чтобы в файле была уже обработанная статистика? Типа

liza писал (а):
...статистически какие свечи после каких ищут чаще всего. Какое расстояние от Опен до Клоуз и от Опен до Лоу.

и т.п. Боюсь, что в MQL это реализовать не оправданно сложно, да и не надо - проще открыть готовый файл в том же экселе и там обрабатывать. А вообще для статистики есть статистические пакеты.


- Если же все таки речь шла о "побарной записи"

liza писал (а):
Дело в том что потом можно читать из файла и подсчитать статистически какие свечи после каких ищут чаще всего. Какое расстояние от Опен до Клоуз и от Опен до Лоу.

ДЛЯ "статистики", то вставить интересующие "расчеты" вместо "Чё надо"

 
Вот в том то и дело что не могу сложить логику в голове.  Как посчитать количиство одинаковых последовательностей?
 

1. В "оригинальном" коде есть "логическая ошибка" (уже много раз обсуждаемая):

Это условие

if(hb0==iClose(Symbol(),P,i))

никогда не выполнится - нельзя так сравнивать два дубля. (Обратил внимание только когда в файле появились одинаковые "коды")

2.

iza:
...Как посчитать количиство одинаковых последовательностей?

З А Ч Е М? Что даст знание того, что "код 51" 36 раз появлялся в 2007 году. И что?


3. С учетом 1. и 2., например, как-то так


//+------------------------------------------------------------------+
//|                                                   Статистика.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#property show_inputs

extern int     P = PERIOD_D1;
extern int     FutureWinSize = 20;
extern string  FileName = "Статистика";

int start()
{
int handle;
int BarHigh, BarLow;
int CurrYear, PrevYear;
double FLow, FHigh;

for(int i = Bars - FutureWinSize - 1; i >= 0; i--)
{
/////Отдельные файлы для каждого года из истории
  CurrYear = TimeYear(Time[i]);
  if(PrevYear != CurrYear)
  {
   if(PrevYear != 0) FileClose(handle);
   PrevYear = CurrYear;
   handle=FileOpen(FileName + "_" + CurrYear + ".txt", FILE_CSV|FILE_WRITE,',');
   if(handle<1)
   {
    Print("Файловая ошибка: ", GetLastError());
    return(false);
   }
   FileWrite(handle,
             "Time",
             "Candle", 
             "iTime_FHigh",
             "iHigh_FHigh",
             "FHigh",
             "iTime_FLow",
             "iLow_FLow",
             "FLow"
            );
  }
/////Отдельные файлы для каждого года из истории
  
  //Бар в будущее, на котором достигается максисмум в окне FutureWinSize
  BarHigh = iHighest(NULL, 0, MODE_HIGH, FutureWinSize, i - FutureWinSize);
  //Разница между будущим Хайным High и текущим клозе
  FHigh = (iHigh(NULL, 0, BarHigh) - iClose(NULL, 0, i)) / Point;
  
  //Бар в будущее, на котором достигается минимум в окне FutureWinSize
  BarLow = iLowest(NULL, 0, MODE_LOW, FutureWinSize, i - FutureWinSize);
  //Разница между будущим Ловным Low и текущим клозе
  FLow = (iLow(NULL, 0, BarLow) - iClose(NULL, 0, i)) / Point;
  FileWrite(handle,
           TimeToStr(Time[i], TIME_DATE|TIME_MINUTES),
           CandleCode(i), 
           TimeToStr(Time[BarHigh], TIME_DATE|TIME_MINUTES),
           NormalizeDouble(iHigh(NULL, 0, BarHigh), Digits),
           NormalizeDouble(FHigh, 0),
           TimeToStr(Time[BarLow], TIME_DATE|TIME_MINUTES),
           NormalizeDouble(iLow(NULL, 0, BarLow), Digits),
           NormalizeDouble(FLow, 0)
           );
}

FileClose(handle);
return(0);
}

Все это для того чтобы ... кхм-кхм ... попытаться "распознать вкусные паттерны". (С методом автора из соседней, созвучной, ветки не согласен. Возможные методы анализа качества входов тоже уже обсуждались, причем относительно недавно. Это к тому как можно "сложить логику в голове").

4.


Т.е., если я правильно подготовил данные и правильно проинтерпретировал результаты, то текущий "код свечи" не говорит о том, что после ее появления не будет достаточного роста и/или досточного падения. Можно предположить!!!! (вопреки статистике) что и в будущем при появлении "кода свечи" большего 99 или меньшего 26 ... ничего не произойдет.

 

Можно посмотреть какое процентное соотношеине преобладает.  А статистика все-таки наука с которой не нужно спорить. а дает конкретные факты.  Например, если какой-либо факт происходит 897 случаев из 1000, то 89,7% шанс при похожих обстоятельствах что он опять произойдет.  

Извините, но я говорила, что интересует статистика а не просто вывод данных.  Я имела ввиду сколько раз происходит повторение паттерна по отношению к тому если CandleCode(i) тот же, а CandleCode(i-1) другой.

 
liza:

Можно посмотреть какое процентное соотношеине преобладает. А статистика все-таки наука с которой не нужно спорить. а дает конкретные факты. Например, если какой-либо факт происходит 897 случаев из 1000, то 89,7% шанс при похожих обстоятельствах что он опять произойдет.

Извините, но я говорила, что интересует статистика а не просто вывод данных. Я имела ввиду сколько раз происходит повторение паттерна по отношению к тому если CandleCode(i) тот же, а CandleCode(i-1) другой.

По пунктам:

- Лиховидова читал давно, архив в первом посте даже не открывал, т.к. для себя уже сделал вывод.

- В "диалог" ввязался исключительно для помощи в разборе кода.

Собственно:

А статистика все-таки наука с которой не нужно спорить.

Если со статистикой не спорит Ваш депозит.

А средняя температура по больнице....

Повторюсь - вот и сконцентрируйтесь на изучении статистики ("Статистика для трейдеров", "Одураченные случайностью" и т.п.) и займитесь изучением стат.пакетов (хотя бы того же экселя), а не заставляйте делать MT то, что ему не свойственно.


Резюме - сабж мне не интересен, в коде, кроме собственно математики, вроде бы все нормально.


Сим за сим ...


ЗЫ. И еще, ИМХО, (в подолжении темы об анализе качества входов), надо анализировать не "повторение паттерна по отношению к тому если CandleCode(i) тот же, а CandleCode(i-1) другой." а "закономерность роста депозита от кода свечи и т.д.". Но тут уже проблеммы датамининга, адекватности/коррелированности входов, прогнозируемость выходов и прочая, не относящаяся к данной теме, лабуда :)


ЗЫЫ.

Отвечу на Вашу реплику в параллельном топике

Существует теория вероятностей, которая не голословна и основана на науке называемой - статистика. На основе моих знаний станистики это должно работать

Наберите в строке поиска, хотя бы этого форума, строчку "толстые хвосты". На форексе многие специалисты, в своих научных направлениях, пытались применить фундаментальные знания. По-моему, даже!!! :), радиотехники не преуспели :):):):)
Причина обращения: