Здравствуйте, гость ( Вход | Регистрация )
| leonid553 |
6.10.2007, 12:21
Сообщение
#1
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
В мультивалютном советнике Rosh-a "ProtoType-IX" приведен пример определения тренда по четырем последним экстремумам. http://codebase.mql4.com/ru/1256
В аннотации указано: "Данный советник торговал без алгоритмических ошибок на чемпионате по автотрейдингу 2006 года. Требует для работы индикатор NRTR GATOR. Может являться примером мультивалютного эксперта и, надеюсь, облегчит написание такового новичкам в MQL4." Похоже пришла пора разобраться с ТРЕНДОМ, - как это делается. Хотя бы "методом тыка". Для примера можно взять любой простейший эксперт и использовать приемы определения тренда из советника "ProtoType-IX". (см. пост №2) Возьмем оттуда всё, что касается тренда и вставим в любой простейший советник. В результате получим: Function "GetSymbolString" is not referenced and will be removed from exp-file Function "PeriodNumber" is not referenced and will be removed from exp-file Function "TrendByWPR" is not referenced and will be removed from exp-file Function "SetArrow" is not referenced and will be removed from exp-file Function "SetUpArrows" is not referenced and will be removed from exp-file Function "TrendExist" is not referenced and will be removed from exp-file Мы получили шесть функций, которые вычисляются, но пока не принимают участия в торговле нашего эксперта. Поскольку, наш эксперт пусть будет НЕ МУЛЬТИВАЛЮТНЫЙ, то первая функция нам неинтересна. Вторая функция, - пожалуй, тоже, т.к. она задает таймфрейм. Но оставим пока всё как есть. Начнем с самого начала. Во внешних нашего эксперта параметрах мы добавляем: Код extern int PeriodWPR=8; extern double CriteriaWPR=25; extern int ATRPeriod=40;// период ATR для индикатора extern double kATR=0.5; extern int ZeroBar=8; // выход в безубыток через ZeroBar баров extern double MinTargetinSpread=5.0; extern double TP_SL_Criteria=2.0; extern int MaxOpenedOrders=3; extern double MaxOrderSize=5.0; Понятно что пока чего-то не хватает а что-то будет лишним. Надеюсь разберемся... Далее (после внешних параметров) задаем по аналогии глобальные переменные: Код int LastUpArray[13,7]; int PreLastUpArray[13,7]; int LastDownArray[13,7]; int PreLastDownArray[13,7]; double Complextrend[13,7];// собираем все тренды (Z,A и N тренды) в одно значение. double TPvsSL[13,7];// отношение TakeProfit к StopLoss на данном символе и таймфрейме int BestTPvsSLSymbol[20]; // лучшие символы по соотношению TP/SL int BestTPvsSLPeriod[20]; // лучшие таймфреймы по соотношению TP/SL //-------------------------------------------- string SymbolsArray[13]={"","USDCHF","GBPUSD","EURUSD","USDJPY","AUDUSD", "USDCAD","EURGBP","EURAUD","EURCHF","EURJPY","GBPJPY","GBPCHF"}; int TrendOnSymbol[13,7]; // тренд по символу и таймфрейму int MyBarsArrays[13,7];// храним количество баров по инструменту и таймфрейму int TimeNullArrays[13,7];// храним время Time[0] по инструменту и таймфрейму Не будем пока особо вникать. Посмотрим дальше... |
![]() ![]() |
| leonid553 |
10.10.2007, 6:15
Сообщение
#2
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
Ок!
Вот ещё идея подошла! По граалям... Изложу здесь чтобы мысль не потерялась. Вспомнилась цитата Ю.Решетова на форуме MQ: А что касаемо граалей, дык тут большого ума не надо. Надо лишь выполнить ряд условий: 1. Система должна открывать позиции либо вообще без стоплоссов, либо со стоплоссами на очень большом расстоянии, так чтобы вероятность их срабатывания была близка к 0 2. Воткнуть мощный фильтр на базе нескольких индикаторов с условиями срабатывания разделенными по логическому И (&&). И вытащить множество входных параметров этих самых индикаторов во внешние настройки МТС, так чтобы за несколько лет исторических данных на тестах открылось всего несколько позиций. 3. Ко всему этому добавить управление капиталом и риском с задранной фракцией Первое условие сразу отсекаем! А второе условие будем использовать в соотв. со здравым смыслом. Итак мы строим советник совершающий сделки "редко но метко" в соотв. с условием 2 При этом используем тактику с 2-3-мя индикаторами. Пусть он открывает сделки хотя-бы 2-4 раза в месяц. С большой вероятностью выигрыша. Далее берем другую тактику. С другими индикаторами. И строим второй советник с аналогичным результатом работы. Далее берем третью тактику ... Ну и так далее... Идея понятна! Обьединяем в один эксперт десяток-два таких "граалей" и "возрадуемся над оным" ! Думаю, что почти у всех трейдеров есть почти готовые такие тактики ,- с оч. редкими, но гарантированно прибыльными сделками. Осталось собрать их в одну кучу и соотв. образом обработать. Тут возможны вырианты: 1. Одну версию ориентировать на длинные позиции, 2. Вторую, - на короткие, 3. Третью, - исполнить по канальной тактике для тренда, 4. .... ... ... и т.п. Готовы ли посетители ветки поделиться такими версиями в конкретном исполнении? или хотя бы в общем виде? Вот уже сейчас я уже прикинул пару вариантов .... |
leonid553 Определение тренда 6.10.2007, 12:21
leonid553 Прежде всего (как я уже говорил), возьмем простейш... 6.10.2007, 12:54
leonid553 С внешними параметрами и глобальными переменными м... 6.10.2007, 13:27
leonid553 Далее вне функции int start() вставляем начало фун... 6.10.2007, 18:40
Dimi Привет! Эта переменная походу нигде не участву... 7.10.2007, 13:57
leonid553 Да действительно! Эта переменная не задействов... 7.10.2007, 14:49
leonid553 Начинаем вникать в определение тренда по индикатор... 7.10.2007, 15:29
leonid553 Продолжаем....
// ================ начинаем пои... 7.10.2007, 16:21
Moriarty
Продолжаем....
Действительно, этот алгоритм опред... 7.10.2007, 17:54
leonid553
Имхо всё черезчур усложнено. Все три последних фу... 8.10.2007, 19:19
leonid553 Далее, - отображаем найденные экстремумы на график... 7.10.2007, 17:02
leonid553 Здесь немного остановимся! Вот сейчас обнаружи... 7.10.2007, 17:58
Moriarty
Хитрый Rosh вызывает его в эксперте, как "NR... 7.10.2007, 18:07
Moriarty Вот что у меня получилось с определением пиков/дон... 8.10.2007, 12:40
leonid553 А у Роша действительно много лишнего.
Например, и... 8.10.2007, 19:33
Moriarty Вот сейчас наблюдаю за Вашим, Moriarty, индикаторо... 9.10.2007, 21:43
leonid553 В визуальном режиме видно, что советник ProtoType... 9.10.2007, 11:59
Dm_35 Привет.
Очень интересная тема.
Чуть переделал код,... 27.10.2007, 12:22
Dimi
Привет.
Очень интересная тема.
Чуть переделал код... 28.10.2007, 13:55
Dm_35 Привет.
В советник надо скопировать этот индикатор... 28.10.2007, 17:37
Dimi Если я правильно понимаю код, то на каждом ТФ ищут... 28.10.2007, 19:16
Dm_35 Привет.
Если поставить индикатор на М15 а потом по... 28.10.2007, 23:27
leonid553
Привет.
Если поставить индикатор на М15 а потом п... 29.10.2007, 17:16
leonid553 Всем привет! У меня вот проблемы с инетом. Про... 29.10.2007, 11:02
Dm_35 Привет.
Я на пред. станице выложил свою версию Ваш... 29.10.2007, 11:55
Dm_35 Привет.
Это Вам спасибо за огромную работу, у меня... 29.10.2007, 23:29
Plastик double vol_long= (iClose(NULL,0,1)- iOpen(NULL,0,1... 2.11.2007, 13:50
leonid553 Умножение как раз необходимо! Вот смотри :
Что... 2.11.2007, 14:14
Plastик
Умножение как раз необходимо! Вот смотри :
Чт... 2.11.2007, 14:14
leonid553 Понял. Тогда надо определиться с моментом входа.
... 2.11.2007, 14:54
Plastик
Понял. Тогда надо определиться с моментом входа. ... 2.11.2007, 19:07
leonid553 Вот вроде - то что надо. Но коэф.=10000 пока остав... 2.11.2007, 17:36
leonid553 Похоже ещё надо добавить "блокировку". Ч... 2.11.2007, 18:04
Plastик А вот еще вариантец
2007.11.02 22:24:45 TestGenera... 2.11.2007, 19:26
leonid553
А вот еще вариантец
2007.11.02 22:24:45 TestGener... 2.11.2007, 19:55
leonid553 Ты, похоже, сам запутался! Как же я могу счита... 2.11.2007, 19:32
Plastик
Ты, похоже, сам запутался! Как же я могу счит... 2.11.2007, 22:21
leonid553 У тебя, видимо, нет котировок с разных тф на истор... 2.11.2007, 20:20
Plastик
У тебя, видимо, нет котировок с разных тф на исто... 2.11.2007, 22:55
Plastик Символ GBPUSD (Great Britan vs US Dollar)
Период ... 3.11.2007, 11:06
leonid553 Такой результат не проходит!
"Ошибки рас... 3.11.2007, 15:59
leonid553 Поймать тренд .... :)
B) 18.11.2007, 22:14
Dimi Привет всем! Тут вот интересный скрипт, не пом... 24.11.2007, 16:02
Dimi Вот мое первое творение, если можно так сказать ;... 2.12.2007, 11:32
Dimi Привет, всем!!! Вот индикатор для МТ4 ... 6.12.2007, 18:55![]() ![]() |
|
Текстовая версия | Сейчас: 13.3.2026, 1:14 |