![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
leonid553 |
![]()
Сообщение
#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] по инструменту и таймфрейму Не будем пока особо вникать. Посмотрим дальше... |
![]() ![]() |
Dimi |
![]()
Сообщение
#2
|
![]() Группа: Активный участник Сообщений: 236 Регистрация: 12.4.2006 Пользователь №: 14 Спасибо сказали: 2 раз(а) ![]() |
Привет всем! Тут вот интересный скрипт, не помню где, скачал, мож кому пригодится
![]() - но исходника у меня к сожалению нет.... ![]() Вот его описание ____________________________________________________________________________________________________ ____ ZZ_All Quotings 0-0050.mq4 Copyright © Zhunko MF ZHUNKO zhunko@mail.ru 27.03.2007 - 09.05.2007 ____________________________________________________________________________________________________ ____ Скрипт для закачки истории по всем валютным парам и металлам. С последующим контролем на "дыры" в истории. В связи с функциональным расширением, скрипт "ZZ_All Quotings Exchange+Metals 0-0050" переименован в "ZZ_All Quotings 0-0050". Перед использованием скрипта установите в МТ4 (сервис --> настройки --> графики) нужное максимальное количество баров в окне. Именно это количество баров будет загружаться и контролироваться. За тем перезагрузите МТ4 и воспользуйтесь скриптом. Конец работы скрипта не означает конец загрузки истории. Процесс загрузки можете посмотреть в диспетчере задач (правая кнопка мыши на панели задач, вкладка «Сеть»). По окончании загрузки истории необходимо перезагрузить МТ4 для её сохранения в файлах *.hst. ИЗМЕНЕНИЯ и ДОПОЛНЕНИЯ. 1.Дополнения в версии ZZ_All Quotings Exchange+Metals 0-0020 от 28.03.2007. 1.1.Изменён алгоритм опроса на наличие баров в истории. 1.2.Полная информация о дефектных барах выводится в файлы. Валютные пары : ZZ_All_Quotings_Exchange_InCorrect.txt; Металлы: ZZ_All_Quotings_Metals_InCorrect.txt. 2.Дополнения в версии ZZ_All Quotings Exchange+Metals 0-0030 от 31.03.2007. 2.1.Изменён принцип контроля загрузки. 2.2.Введён визуальный контроль всех процессов. 2.3.Введён полный контроль всей загруженной истории. 2.4.В файл записываются только интервалы отсутствия баров. 3.Дополнения в версии ZZ_All Quotings Exchange+Metals 0-0040 от 31.03.2007. 3.1.Введены диалоговые окна. Теперь можно подтвердить или отказаться от загрузки валютных пар, металлов и контроля дефектных интервалов истории. 4.Дополнения в версии ZZ_All Quotings Exchange+Metals 0-0050 от 06.05.2007. 4.1.Устранена ошибка в создании файлов. Пустые файлы создавались при отказе от контроля на "дыры" в истории. 4.2.Увеличено количество групп инструментов. Включены все инструменты "Alpari Ltd.", "Forex Best", "MoneyRein Corporation", "North Finance Company Ltd" и основные инструменты "North-West Financial Broker". 5.Дополнения в версии ZZ_All Quotings 0-0050 от 09.05.2007. 5.1.Всвязи с функциональным расширением скрипт "ZZ_All Quotings Exchange+Metals 0-0050" в "ZZ_All Quotings 0-0050". ___________________________________________________________________________________________ |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 13.3.2025, 14:12 |