Форум » Консультации по программированию » Я новичок. » Ответить

Я новичок.

Anatoliy: Пишу пользовательский индикатор на основе пересечение уровни 20 и 80. Если главная линия Stochastic пересекла уровень 80 (сверху - вниз), то выводит стрелка Sell на ценовых графиках, а если главная линия Stochastic пересекла уровень 20 (снизу - верх), то стрелка Buy на ценовых графиках. #property strict #property indicator_chart_window #property indicator_buffers 2 //--- plot Buy #property indicator_type1 DRAW_ARROW #property indicator_color1 clrGreen #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- plot Sell #property indicator_type2 DRAW_ARROW #property indicator_color2 clrRed #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //--- input parameters //--- indicator buffers double BuyBuffer[]; double SellBuffer[]; //жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж //+------------------------------------------------------------------+ //| Функция инициализации пользовательского индикатора | //+------------------------------------------------------------------+ int init() { //--- SetIndexBuffer(0,BuyBuffer); SetIndexArrow(0,233); SetIndexStyle(0,DRAW_ARROW); //--- SetIndexBuffer(1,SellBuffer); SetIndexArrow(1,234); SetIndexStyle(1,DRAW_ARROW); //--- SetIndexEmptyValue(0,80.0); SetIndexEmptyValue(1,20.0); //--- return(0); } //жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж //+------------------------------------------------------------------+ //| Функция пользовательского индикатора итерации | //+------------------------------------------------------------------+ int start() { //--- int i, Counted_bars; double mainStoc_1 = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1); // бар 1 double mainStoc_2 = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,2); // бар 2 Counted_bars=IndicatorCounted(); // Количество просчитанных баров i=Bars-Counted_bars-1; for(i=0;i>=0;i--) { if (mainStoc_2 > 80.0 && mainStoc_1 < 80.0) SellBuffer = Low-5*Point; else SellBuffer = 0.0; if (mainStoc_2 < 20.0 && mainStoc_1 > 20.0) BuyBuffer = High+5*Point; else BuyBuffer = 0.0; } //--- return(0); } И в результатах индикатор вообще не работает. Как его исправит?

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 All

Scriptong: Добрый вечер, Евгений. Balbesik пишет: 1. Так или иначе ты «вник» в синбар (равновысокий). Правильно ли я понимаю, что «отсечка» по времени у равновысокого бара идет, в отличии от «штатного» по Closе? Немного подробнее, пожалуйста. Что такое отсечка и что такое штатный равновысокий бар? Balbesik пишет: 2. У тебя была ссылка на тему – «Вписать индикатор в советник». Найти не могу, все статьи пересмотрел – подскажи, пожалуйста. Хочу попробовать (проблема памяти). Это мы вот здесь обсуждали. Но никакого универсального алгоритма встраивания индикатора в советник не существует. К этому процессу нужно подходить индивидуально, в зависимости от индикатора. Balbesik пишет: 3. Можешь ли МТ4 связать с МТ5 – котировки, их контроль и прочь. Это отдельно в почте, если возможно, то сориентируешь по работе. Какого типа связь между МТ4 и МТ5 интересует?

Balbesik: Scriptong пишет: Немного подробнее, пожалуйста. Что такое "отсечка" и что такое штатный равновысокий бар Насколько я понимаю, обычный штатный бар, время бара - по Опен, а равноаысокий по Клозе. В чем и хотел убедится. По второму спасибо - это и искал! Scriptong пишет: Какого типа связь между МТ4 и МТ5 интересует? Нет как таковая связь не нужна. На МТ5 нет импорта, а хотелось бы "поиграться" - это отдельная тема не для форума. Завтра постараюсь на почте изложить (если у тебя будет время).

Scriptong: Balbesik пишет: Насколько я понимаю, обычный штатный бар, время бара - по Опен, а равноаысокий по Клозе. В чем и хотел убедится. В каком-то смысле - да. Это вытекает из алгоритма построения равновысоких баров: закрытие равновысокого бара - это всегда его максимум или минимум. А вот время бара все равно соответствует цене открытия бара. Balbesik пишет: На МТ5 нет импорта, а хотелось бы "поиграться" В МТ5 не дали играться с историей. Приходится использовать ту, что дает терминал. В итоге все нестандартные ТФ там можно делать не штатным, а только синтетическим образом - через отображение графического объекта "Чарт". Хотя, возможно, и это не получится, т. к. сам не пробовал. Поэтому в МТ5 с нестандартными ТФ все гораздо сложнее. Хотя по логике должно было быть наоборот.


Balbesik: Scriptong пишет: В МТ5 не дали играться с историей. Приходится использовать ту, что дает терминал. В итоге все нестандартные ТФ там можно делать не штатным, а только синтетическим образом - через отображение графического объекта "Чарт". Хотя, возможно, и это не получится, т. к. сам не пробовал. Поэтому в МТ5 с нестандартными ТФ все гораздо сложнее. Хотя по логике должно было быть наоборот. Даа…, Другими словами вариант «подмены ТФ» не смотрится. Все рушится по фондовки (там Мт5). А тогда вариант, что-то типа моста на МТ4? Если рано или поздно этого Рената посадят, не поленюсь съезжу свечку поставлю.

Scriptong: Balbesik пишет: Другими словами вариант «подмены ТФ» не смотрится. Ну почему же? Просто в МТ5 будет несколько другой подход, не такой как в МТ4. Я еще на этот счет всерьез не думал, но, как минимум, пользовательские чарты в МТ5 есть. В МТ4, к примеру, такого нет. Balbesik пишет: А тогда вариант, что-то типа моста на МТ4? Можно. Но, на мой взгляд, это лишнее усложнение. Все можно сделать на одном МТ5. К примеру, для него можно сделать свой TicksCollector, который будет строить нестандартные ТФ в специальном чарте. Хотя это пока только догадки. Нужно пробовать.

Balbesik: Scriptong пишет: Ну почему же? Просто в МТ5 будет несколько другой подход, не такой как в МТ4. Я еще на этот счет всерьез не думал, но, как минимум, пользовательские чарты в МТ5 есть. В МТ4, к примеру, такого нет. Файл - Открыть автономно..., такого нет. Если "накладывать" поверх штатного графика, то как будет работать советник в реале. Вот этого я вообще не знаю.

Scriptong: Balbesik пишет: Файл - Открыть автономно..., такого нет. Да, я именно об этом и говорю - нет поддержки пользовательской истории. Видимо, разработчики МТ слишком ревностно относятся к нестандартным графикам. Balbesik пишет: Если "накладывать" поверх штатного графика, то как будет работать советник в реале. Что-то типа такого, но смотрится удобоваримо - вот так. Ну а работать придется с котировками из специально создаваемого файла. Проще говоря, вести свою бухгалтерию. Терминал в этом случае нужен только для отправки торговых приказов. На этот счет в МТ4 простор больше. P. S. Посмотрел внимательнее на этот OBJ_CHART. Он тоже с ограничениями. Ему нельзя скормить собственную историю. Объект "чарт" берет данные из истории, предоставляемой терминалом. Так что торговля по нестандартным графикам в МТ5 - это создание практически второй копии клиентского терминала.

Balbesik: Scriptong пишет: Так что торговля по нестандартным графикам в МТ5 - это создание практически второй копии клиентского терминала. Добрый вечер! Я помню твою позицию, но все равно интересен твой взгляд. Если я только правильно предполагаю, то совместно с МТ5 (как брокер) использовать Trader68 - в свободном доступе ( http://www.trader68.com/ ), а вместо TradingSolutions использовать МТ4. Может , что–либо получиться (что твой опыт говорит)? Само по себе это направление может иметь место или пустая трата времени? Помню, ты писал, что можно «увязнуть» и не решить проблему. Встречались ли где – либо готовые «мосты» (примеры) для МТ5? Естественно, речь идет о доработке. Например котировки с МТ5 путем "Сохранить как.." не идут в МТ4 и не идут скриптом, но если переделать скрипт в индикатор, то в МТ4 закачиваются (история для тестера). Другими словами если доработка незначительная.

Scriptong: Добрый день. Balbesik пишет: Я помню твою позицию, но все равно интересен твой взгляд. Если я только правильно предполагаю, то совместно с МТ5 (как брокер) использовать Trader68 - в свободном доступе ( http://www.trader68.com/ ), а вместо TradingSolutions использовать МТ4. Может , что–либо получиться (что твой опыт говорит)? К сожалению ни с первым, ни со вторым не работал. Только слышал и, наверное, только от тебя. Поэтому тут опыта 0. Balbesik пишет: Само по себе это направление может иметь место или пустая трата времени? Направление с нестандартными ТФ? На мой взгляд перспективное. Именно его я сейчас и разрабатываю. Правда, опустился до тиков и пытаюсь анализировать не какой-либо конкретный ТФ, а чистый тиковый поток. К тому же, когда имеешь дело с тиковым потоком, время действительно теряет значение, как ты и характеризовал равновысокие бары. Balbesik пишет: Например котировки с МТ5 путем "Сохранить как.." не идут в МТ4 и не идут скриптом, но если переделать скрипт в индикатор, то в МТ4 закачиваются (история для тестера). Ну а это уже есть. Потратил 10 мин на поиск и нашел скрипт от Юрия Зайцева или подобный от Андрея Хатимлянского.

Balbesik: индикатор Scriptong пишет: Ну а это уже есть. Потратил 10 мин на поиск и нашел скрипт от Юрия Зайцева или подобный от Андрея Хатимлянского. Добрый вечер! Да это я к простоте переделки – скрипт – индикатор – работает. индикатор (http://dropmefiles.com/gQVAi) Интересная идеология Метаквостов – выполняя «пожелания» Заказчиков (ДЦ) – «отсекается» на форумах связка МТ4-МТ5. Т.е., по логике, для пользователя (старого) имеющего наработки по МТ4 был бы смысл сделать «зеленую улицу» по «мостам» МТ4-МТ5, однако «политика» только МТ5-МТ4 (http://www.mql5.com/ru/articles/189 - Копирование торговли из MetaTrader 5 в MetaTrader 4). Учитывая, насколько мне известно, что эта МТ5 не имеет сертификации ни на одной бирже мира (это не выгодно Заказчикам). В отличии от других платформ «не выходит» на «шлюз» биржи, и сервер находится в руках ДЦ. Вариант при отсутствии законодательства. Соответственно тут и их политика и интересы Заказчиков. Соответственно, ни один здравомыслящий человек, как мне кажется, не станет более менее приличные деньги пускать через эту платформу (хотя, как инструмент для меня – МТ4, не плохой). В общем плевать на них. Сегодня не актуально. Scriptong пишет: Направление с нестандартными ТФ... А вот это очень интересно. Я использую в первую очередь с т.з. прикладного значения – попробую пояснить на примере – для отработки любого советника (индикатора) используется тестер. В тестере предусмотрено 2 режима с «Генетическим алгоритмом» и без. При тестировании более одного параметра с «Генетическим алгоритмом» не зная начальные их значения (а мы их первоначально и не знаем, для этого и тест) в результате мы получим «Настроение бабушки, умершей в прошлом веке», а если без «Генетического алгоритма» (полный перебор) в зависимости от диапазона, по времени может занять «До второго пришествия». А так же тест от 0 до ..... дает массу некорректных значений. Возникает вопрос диапазона тестирования (первоначальный тест) – А как его хотя бы приблизительно «прикинуть» - необходим расчет, а размерности по осям (цена- время) разные. Уходя на равновысокий бар мы получаем диапазон, т.е. если цена прошла 30 пунктов и размах бара задан 10 пунктов, то по цене приведенной к барам не может быть более 3 баров – т.е граница диапазона! Другими словами мы получаем «меру» или «базу» от которой можно «плясать». Это прикладное по равновысоким. Ну и пожелание по объемам – имеем путь (размах), время и количество тиков (объем) по бару. Время считаю использовать не очень корректно из-за торговых сессии. А вот объем приведенный к размаху (v/н), а еще и в виде равновысоких по объему – очень интересно.

Scriptong: Balbesik пишет: Учитывая, насколько мне известно, что эта МТ5 не имеет сертификации ни на одной бирже мира (это не выгодно Заказчикам). Есть у них сертификация на многих биржах (Чикагской, РТС, Бразильской). То есть далеко не на одной бирже, их больше, чем я перечислил. Так что этот камень в них не бросить Balbesik пишет: В тестере предусмотрено 2 режима с «Генетическим алгоритмом» и без. Тестер, что МТ4, что МТ5 лучше не использовать в качестве последнего критерия выбора торговой системы. Это должен быть один из первых критериев, невыполнение которого автоматически убирает стратегию из нашего поля зрения. Искать же оптимальные параметры для работы системы вообще не имеет смысла, т. к. мы ищем их на истории, которая полностью в деталях уже не повториться. Повтор может быть, но со значительными изменениями. Для оценки системы лучше использовать следующий подход: 1. Оптимизировать систему на как можно бОльшем периоде. 2. Посмотреть на расхождение результатов при различных значениях параметров. Если доминируют отрицательные результаты, то это говорит о неустойчивости системы. Сразу выбрасываем. Если же доминируют положительные результаты, то система достаточно устойчива. Это дает возможность перехода к следующему этапу оценки системы. Balbesik пишет: А вот объем приведенный к размаху (v/н), а еще и в виде равновысоких по объему – очень интересно. К сожалению, идеально совместить равновысокие и эквиобъемные графики на одном чарте не получится. Разве что принять, что бар закрывается по выполнению первого из условий: достигнут заданный максимум объема бара или достигнута заданная высота бара. В принципе - да, интересно. Такого подхода я еще не видел, можно попробовать. Просто ради расширения опыта исследований. Но мне кажется, что получим "солянку".

Balbesik: Scriptong пишет: Но мне кажется, что получим "солянку". Не... "Солянка" не нужна. Да и как считать будет не понятно. Я подразумевал, что еще один график "наложен" и мне кажется, что получим что-то типа пересечения МА.

Scriptong: Balbesik пишет: Я подразумевал, что еще один график "наложен" и мне кажется, что получим что-то типа пересечения МА. А, вон оно как! В этом варианте появится проблема синхронизации баров по времени. Допустим, одному бару эквиобъемного графика будет соответствовать несколько баров равновысокого графика. Причем ладно, если бы это соотношение было только в одну сторону. В данном случае это соотношение будет меняться со временем. То один график будет "более медленный", то другой. Так что нужно крепко подумать над проблемой отображения такого графика.

Balbesik: Scriptong пишет: А, вон оно как! В этом варианте появится проблема синхронизации баров по времени. Допустим, одному бару эквиобъемного графика будет соответствовать несколько баров равновысокого графика. Причем ладно, если бы это соотношение было только в одну сторону. В данном случае это соотношение будет меняться со временем. То один график будет "более медленный", то другой. Так что нужно крепко подумать над проблемой отображения такого графика. Вот, что значит, не умею объяснить. Для начало – «быстрее» - «медленней» это должно быть (я так думаю). Главное нет оснований хоть что-то предполагать! Возвращаемся к началу проблемы – равнообъемные да, равновысокие да, ну и что? Даже не стоит вопрос , а как считать? Задача – сделать равнообъемные в привязки к равновысоким. Попробую опять на примерах – Рис. 0 – история (offlein) – идут 1 до «нового» бара по истории – нет объема. Рис. 1 – подтверждение в реале. Рис. 2 – внутри бара «случайным» образом выбран объем – его взять не где и берет последний. Другими словами нет основании о каких-либо выводах. На внешний взгляд «простота» задачи, но мне не удается ее переложить в алгоритм. Цель – берем один бар, допустим 20 пунктов – равновысокий по цене = 10 пунктов = 2 бара, По объему (зададим 5 единиц) – 4 бара. Как минимум можно посмотреть чередование периодов, соотношение пути ко времени, как квадрат для случайных величин, оптимизация их согласованности и проч. и проч. Т.е. для начала разложить равнообъемный в привязки к ценам (Клозе-Опен) равновысоких. Даже, хотя бы как консультация в рамках синбара. Я это сделать не могу, а реал по тикам – не представляю, кто найдет столько времени? А связка в один индикатор - тут масса причин, хотя на этапе отработки (решения проблемы привязки, хотя она сама по себе это требует), возможно и не надо (существуют же Глобальные).

Scriptong: Balbesik пишет: Задача – сделать равнообъемные в привязки к равновысоким. Эта фраза вроде бы говорит о том, что все-таки требуется некий микс из эквиобъемных и равновысоких баров. Меня именно этот способ сначала заинтересовал, но потом вроде бы понял, что требуется другое. Теперь вновь возвращаемся назад. Видимо придется набраться тебе терпения и объяснять мне до тех пор, пока не дойдет до меня. Balbesik пишет: Цель – берем один бар, допустим 20 пунктов – равновысокий по цене = 10 пунктов = 2 бара, По объему (зададим 5 единиц) – 4 бара. Но вот сам способ микса непонятен. На рисунках же приведено что-то странное. Если крайняя правая колонка указывает тиковый объем, то каким образом все четыре цены минутного бара оказываются разными? Скорее всего, в данных, откуда взята минутная история, не было информации о тиковом объеме. Его просто добавили для совместимости с МТ4. Но тогда на эти единички не стоит обращать внимание.



полная версия страницы