Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ozhiganov, nav_soft СПАСИБО ЗА РАЗВЕРНУТЫЙ ОТВЕТ!
загрузил индикатор на индекс РТС 12,14 в "Открытии" на Д1 и выше не отображается, это вероятно нехватка баров истории?
хорошо бы вывести в левый верхний угол окна имеющуюся информацию о текущем паттерне, как в прошлой версии вкладке Общие, к примеру:
восходящие тренды - М15, M16, W14, W16
нисходящие тренды - M1 M3 W1 W2
голова и плечи - w6 w7 w9 w11 w13 w15
перевернутая голова и плечи M2 M4 M6 M8 M10 M11
и другое.... полезное.
Ну так уменьшить поисковое окно до 110 (HistSize - "Zigzag: Размер истории для расчетов"). Интересно самому как на индексе будет работать???(Не тестировал...) Вполне может сложиться так: из-за малой волатильности рынка индикатор работать не будет, так как во второй версии я помню боролся со флэтом... поищи коммент в файле mycpatternzigzag.mqh "АНТИ-ФЛЭТ" и закомментируй код ниже надписи до return(true), может вылечит.
На счет сопоставления с техническими фигурами:
В первой версии кода это было, но потом я лично протестировал их в деле... и получил полное разочарование(собственно фигура Голова & плечи)... 40-50% эффективности ТС, легче на кофейной гуще гадать! Но потом была ТС 2 версии FP + CCI эффективность улучшилась аж до 75-85%, тут я обрадовался, но рано... стандартный Zigzag слишком подвержен переоптимизации к текущей волатильности, т.е. на значительных форвадах ТС сливает депозит. Начал работать на новым ядром, в процессе работы/тестирования меня озарило, самый простой и эффективный способ лежал на виду: это коррекция цены. Рынок никуда от Вас не денется! Главное знать приблизительное место входа и выхода. Третья версия ТС без всякой оптимизации показала 98% прибыльных сделок. Так вот к чему я - а убрал я их, чтобы людей не смущать. Но если ЛЮДИ требуют, то будет сопоставление с технической моделью.
Кстати заметил одну закономерность при оптимизации поискового ядра, какой бы ни был поисковый алгоритм: Classic Zigzag или иной, ошибка в прогнозировании следующей модели колеблется около 20+/-1 %. А это наводит меня на мысль, А.Меррилл либо намеренно не описал 6 паттернов(т.е. по 3 фигуры M и W), либо их не обнаружил.
Ну так уменьшить поисковое окно до 110 (HistSize - "Zigzag: Размер истории для расчетов"). Интересно самому как на индексе будет работать???(Не тестировал...) Вполне может сложиться так: из-за малой волатильности рынка индикатор работать не будет, так как во второй версии я помню боролся со флэтом... поищи коммент в файле mycpatternzigzag.mqh "АНТИ-ФЛЭТ" и закомментируй код ниже надписи до return(true), может вылечит.
На счет сопоставления с техническими фигурами:
В первой версии кода это было, но потом я лично протестировал их в деле... и получил полное разочарование(собственно фигура Голова & плечи)... 40-50% эффективности ТС, легче на кофейной гуще гадать! Но потом была ТС 2 версии FP + CCI эффективность улучшилась аж до 75-85%, тут я обрадовался, но рано... стандартный Zigzag слишком подвержен переоптимизации к текущей волатильности, т.е. на значительных форвадах ТС сливает депозит. Начал работать на новым ядром, в процессе работы/тестирования меня озарило, самый простой и эффективный способ лежал на виду: это коррекция цены. Рынок никуда от Вас не денется! Главное знать приблизительное место входа и выхода. Третья версия ТС без всякой оптимизации показала 98% прибыльных сделок. Так вот к чему я - а убрал я их, чтобы людей не смущать. Но если ЛЮДИ требуют, то будет сопоставление с технической моделью.
Кстати заметил одну закономерность при оптимизации поискового ядра, какой бы ни был поисковый алгоритм: Classic Zigzag или иной, ошибка в прогнозировании следующей модели колеблется около 20+/-1 %. А это наводит меня на мысль, А.Меррилл либо намеренно не описал 6 паттернов(т.е. по 3 фигуры M и W), либо их не обнаружил.
Именно так оно и есть, сами по себе фигуры Меррилла мало дают информации о рынке и о его дальнейшем движении , лишь предположение о том что какая фигура возможно образуется в будущем, но при наличии фильтрующих элементов и как дополнение к какой либо стратегии это становиться "оружием массовой прибыли" возможно А.Меррилл сделал это намеренно или не увидел, а возможно просто не успел, в любом случае начало им было положено, остается лишь дополнить и модернизировать, а так же подогнать под существующий рынок, я к примеру не особо заморачиваюсь с волнами M и W, меня больше интересует в какой волне Эллиота сейчас находиться рынок, если взять любую волну Меррилла и сопоставить её с Волновой структурой Эллиота, и отфильтрровать все сигналами Билла Вильямса, то открываются очень интересные возможности для торговли. Так что не останавливайся на достигнутом, развивай, и модернизируй!!!
Пять баллов. Для МТ4 версия есть?
..., самый простой и эффективный способ лежал на виду: это коррекция цены. Рынок никуда от Вас не денется! Главное знать приблизительное место входа и выхода. Третья версия ТС без всякой оптимизации показала 98% прибыльных сделок.
а что Вы вкладываете в понятие коррекция цены..,?
2 вопрос - почемуто при работе индикатор "мигает" - не знаете с чем связано, уже и удалял - не помогает
Пока нет.
Проект закрыт. Надеюсь его скоро удалят из CodeBase. Всем спасибо.
Почему закрыт, все же работало прекрасно?
Между мной и сотрудниками MQL возникло некоторое взаимное недопонимание. Ситуация разрешилась. Работа над индикатором будет продолжена.
Я приношу искренние извинения сотрудникам MQL.
С Уважением А.Емельянов.
...Кстати заметил одну закономерность при оптимизации поискового ядра, какой бы ни был поисковый алгоритм: Classic Zigzag или иной, ошибка в прогнозировании следующей модели колеблется около 20+/-1 %. А это наводит меня на мысль, А.Меррилл либо намеренно не описал 6 паттернов(т.е. по 3 фигуры M и W), либо их не обнаружил.
Ранее писал что есть еще 6 паттернов. Это ошибочное мнение. Вот простой скрипт который подтверждает, что паттернов 32.
#include <Object.mqh>
#include <Arrays\ArrayObj.mqh>
//+------------------------------------------------------------------+
//| КЛАСС ХРАНЕНИЯ ПОЛУЧЕННЫХ ДАННЫХ |
//+------------------------------------------------------------------+
class MyPPattern : public CObject
{
private:
double A;
double B;
double C;
double D;
double E;
public:
MyPPattern(void){A=0;B=0;C=0;D=0;E=0;};
MyPPattern(double ia, double ib, double ic,
double id, double ie)
{A=ia;B=ib;C=ic;D=id;E=ie;};
~MyPPattern(void){;};
//+---------------------------------------------------------------+
//| SET-МЕТОДЫ |
//+---------------------------------------------------------------+
void SetA(double in){A = in;};
void SetB(double in){B = in;};
void SetC(double in){C = in;};
void SetD(double in){D = in;};
void SetE(double in){E = in;};
//+---------------------------------------------------------------+
//| GET-МЕТОДЫ |
//+---------------------------------------------------------------+
double GetA(void){return(A);};
double GetB(void){return(B);};
double GetC(void){return(C);};
double GetD(void){return(D);};
double GetE(void){return(E);};
};
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- value
int filehandle,total;
double a=1,b=1,c=1,d=1,e=1,sum=0;
string subfolder="Research";
CArrayObj* Marray = new CArrayObj;
CArrayObj* Warray = new CArrayObj;
MyPPattern* ppattern;
//--- Простой поисковый массив
while(true)
{
//--- 1. Инкримент
a = a + 1;
if(a > 5){a = 1;b = b + 1;};
if(b > 5){b = 1;c = c + 1;};
if(c > 5){c = 1;d = d + 1;};
if(d > 5){d = 1;e = e + 1;};
//--- 2. Выход из цикла
if(e > 5) break;
//--- 3. Сумматор
sum = a+b+c+d+e;
//--- 4. Запись данных
if(sum == 15)
{
//--- Проверка: неравенства
if(a!=b && a!=c && a!=d && a!=e && b!=c &&
b!=d && b!=e && c!=d && c!=e && d!=e)
{
//--- Проверка: зиг-заг формации
if(a<b && b>c && c<d && d>e)
{//--- Формация M-волн
ppattern = new MyPPattern(a,b,c,d,e);
Marray.Add(ppattern);
}
if(a>b && b<c && c>d && d<e)
{//--- Формация W-волн
ppattern = new MyPPattern(a,b,c,d,e);
Warray.Add(ppattern);
}
}
}
}
//--- Сохранение M-данных
ResetLastError();
filehandle=FileOpen(subfolder+"\\SearchNewPatternM.csv",FILE_WRITE|FILE_CSV);
if(filehandle!=INVALID_HANDLE)
{
total = Marray.Total();
for(int i=0;i<total;i++)
{
ppattern = Marray.At(i);
FileWrite(filehandle,ppattern.GetA(),ppattern.GetB(),ppattern.GetC(),
ppattern.GetD(),ppattern.GetE());
}
//--- Close file
FileClose(filehandle);
}
else Print(__FUNCTION__,": ERROR FileOpen = ",GetLastError());
//--- Сохранение W-данных
ResetLastError();
filehandle=FileOpen(subfolder+"\\SearchNewPatternW.csv",FILE_WRITE|FILE_CSV);
if(filehandle!=INVALID_HANDLE)
{
total = Warray.Total();
for(int i=0;i<total;i++)
{
ppattern = Warray.At(i);
FileWrite(filehandle,ppattern.GetA(),ppattern.GetB(),ppattern.GetC(),
ppattern.GetD(),ppattern.GetE());
}
//--- Close file
FileClose(filehandle);
}
else Print(__FUNCTION__,": ERROR FileOpen = ",GetLastError());
//--- delet all objects
delete Marray;
delete Warray;
}
//+------------------------------------------------------------------+
А ошибка работы алгоритма в 20 процентов, вызвана поздним определением паттерной модели. Заметил я её только, после тестирования двойной паттерной модели, вот иллюстрация: