View Full Version : Помогите новичку!
seregash
24-12-2008, 16:37
Здравствуйте, помогите написать советника если можно а то у меня по програмированию голова не варит! Сама идея вроде проста, сейчас опишу суть: только не судите за подбор слов если что нетак , потому как в этом деле я новичок, вообщем суть такая:
1) Советник должен работать при помощи индикатора Moving Averages т.е. открывать ордер только при пересичении линий ( естественно в положительном направлнеии)
2) При последующем пересечении линий, открытый ордер должен закрытся и открытся новый(как правило в противоположном направлении)
3) У советника при открытом ордере должен быть только стоп лосс ( тейк профит отсутствует). Стоп лосс должен быть регулируемой велечиной в настройках.(но я думаю что 100пипсов будет достаточно)
4) В открытом ордере стоп лосс должен перемещаться вслед за ценой (только в положительном направлении, тем самым ограничивая потери) перемещение должно происходить ну примерно через каждые 10 пипсов
5) ну и изменяемые велечины в настройках это изменение Лота, стоп лосса ну и еще что ниб на ваше усмотрение
Так вроде бы все описал, даный советник хорошо подойдет к долгосрочным сделкам где нибудь на Н4 и более я так думаю.
Все за ранее благодарен если получится, ну даже если и нет то все равно спасибо!!!
Замечательно!
Всё понятно. Напишем обязательно. Эта стратегия является классической, тривиальной задачей. Мы её разберём по косточкам и разложим по полочкам:)
seregash
25-12-2008, 07:41
Спасибо за то что вы откликнулись на мою просьбу. После её написания если вас не затруднит помогите как протестировать советника , потому как я пробовал у меня не выдает результатов. :huh:
Все советники можно грубо разделить на две категории - простые и сложные.
Простые советники содержат меньше программного кода, т.к. в них не выполняется анализ текущих торговых условий, не предусмотрен анализ ошибок при отказе исполнения торговых приказов.
Сложные советники содержат больше программного кода, более сложную логику и анализ изменяемых параметров, средства оповещения и интерактивные средства управления.
Представленный советник - нечто среднее. Он включает в себя как достоинства, так и недостатки и простых и сложных советников.
[attachment=5084:Simple_MA.mq4]
seregash
07-01-2009, 09:19
Спасибо за написаный советник, но возникла проблема он выдает ошибку! Может я что не так делаю, Судя по настраивыемым параметрам там используется 2 Moving Averages с разными периодами. Я пробовал и с индикаторами и без все равно выдает ошибку.
Так же там используются тейк профит по умолчанию 50 , могу ли я вообще не использовать его и закроется ли сделка при пересечении линий и откроется ли новая? И еще какой таймфрейм можно использовать и есть ли минимальные ограничения по депозиту?
Цитата(seregash @ Jan 7 2009, 12:19 PM) 16572"]
Спасибо за написаный советник, но возникла проблема он выдает ошибку! Может я что не так делаю, Судя по настраивыемым параметрам там используется 2 Moving Averages с разными периодами. Я пробовал и с индикаторами и без все равно выдает ошибку.
Так же там используются тейк профит по умолчанию 50 , могу ли я вообще не использовать его и закроется ли сделка при пересечении линий и откроется ли новая? И еще какой таймфрейм можно использовать и есть ли минимальные ограничения по депозиту?
1. Да, там возникает ошибочка. Это в нашем деле слуается. Сейчас посмотрю и исправлю.
2. ТР и SL могут устанавливаться любые, в том числе и нулевые.
3. Таймфрейм может использоваться любой. Вообще, это рабочий вариант программы. Предполагается, что при тестировании Вы найдёте оптимальные параметры TP, SL, периоды МА, таймфрейм, колич. лотов. После этого все параметры жёстко забиваются в программу. Обратите внимание, что сейчас на любом ТФ периоды МА применяются те, что пользователь указывает в настройках. А для реальной работы данные должны браться с индикаторов указанного ТФ. А вот какой именно указать, Вы нам и скажете после тестирования.
4. Ограничение по депозиту устанавливается на сервере - это нужно выяснить в ДЦ.
Вот исправленный советник. За ним желательно ещё поприсматривать.
[attachment=5117:Simple_MA.mq4]
В этом варианте я намеренно поставил небольшие периоды МА. Сделано это для того, чтобы в ТФ=М1 можно было легко отследить порядок открытия ордеров. Линии МА в пределах одной свечи могут несколько раз сходиться/расходиться, что вызывает последовательность открытий/закрытий ордеров.
[attachment=5116:2.png]
seregash
09-01-2009, 12:44
Начал пробовать советника, вообщем сама программа написана хорошо , но в процессе испытания нашел пока один изьян, который в принципе и начинает сливать депозит! Незнаю как точно описать но скажу как могу: как я понимаю точка пересечения двух МА дает сигнал на открытие ордера, но дело в том что движение цены не стабильно и она постонно движется то вверх то вниз это и есть проблема. Втот момент когда ордер открывается (вроде бы все нормально) цена начинает небольшое движение в обратном направлении , т.е. это нормальное явление но для советника даже не большое отклонение является сигналом на закрытие. А пока данная точка открытия окончательно сформируется, депозит начинает быстро таить :( .
Так вот какие бы изменения внести так что бы ордер открылся один раз и ждал следующего сигнала.
Может внести какие нибудь допуски +/- пока окончательно не сформируется точка.
Я надеюсь вы разберётесь с этой проблемой!!!
Цитата(seregash @ Jan 9 2009, 03:44 PM) 16642"]
Начал пробовать советника, вообщем сама программа написана хорошо , но в процессе испытания нашел пока один изьян, который в принципе и начинает сливать депозит! Незнаю как точно описать но скажу как могу: как я понимаю точка пересечения двух МА дает сигнал на открытие ордера, но дело в том что движение цены не стабильно и она постонно движется то вверх то вниз это и есть проблема. Втот момент когда ордер открывается (вроде бы все нормально) цена начинает небольшое движение в обратном направлении , т.е. это нормальное явление но для советника даже не большое отклонение является сигналом на закрытие. А пока данная точка открытия окончательно сформируется, депозит начинает быстро таить :( .
Так вот какие бы изменения внести так что бы ордер открылся один раз и ждал следующего сигнала.
Может внести какие нибудь допуски +/- пока окончательно не сформируется точка.
Я надеюсь вы разберётесь с этой проблемой!!!
Вот.
На ранней стадии кажется, что он всё понятно, а поведение реальных индикаторных линий и реальной программы вносит коррективы. Обычно в этой ситуации и начинаются настоящие исследования.
Что касается конкретно пересечения МА, то это - первое, с чего начинаются эксперименты по поиску торговых критериев. И кажется, что вот ещё чуть-чуть, только признак или фильтр добавить, "чтоб оно не открывало где не надо":) Но дальнейшее разбирательство показывает, что сделать это не так просто:
- если открывать, когда пересечение окончательно сформировалось (т.е. просто делать вычисления на следующем баре), то появляется бОльшее запаздывание, что негативно отражается на экономике;
- если открывать в первый момент, то дребезжание линий приводит к частым лишним ордерам.
Вообще, самая большая неприятность в этой задаче (пересечение МА), связана не столько с алгоритмом, сколько с запаздыванием самих МА. Фактически, решение принимается тогда, когда событие уже не актуально:
[attachment=5150:4.png]
Уменьшение периода МА тоже не приводит к положительному результату - увеличивается дребезжание.
По секрету: пока никому не удалось решить эту задачу в чистом виде. Запаздывание и дребезжание приводят к потерям.
Но рекомендуется убедиться в этом самостоятельно. Попробуйте найти решение.
Цитата(SK_ @ Jan 9 2009, 03:08 PM) 16643"]
Вот.
На ранней стадии кажется, что он всё понятно, а поведение реальных индикаторных линий и реальной программы вносит коррективы. Обычно в этой ситуации и начинаются настоящие исследования.
Что касается конкретно пересечения МА, то это - первое, с чего начинаются эксперименты по поиску торговых критериев. И кажется, что вот ещё чуть-чуть, только признак или фильтр добавить, "чтоб оно не открывало где не надо":) Но дальнейшее разбирательство показывает, что сделать это не так просто:
- если открывать, когда пересечение окончательно сформировалось (т.е. просто делать вычисления на следующем баре), то появляется бОльшее запаздывание, что негативно отражается на экономике;
- если открывать в первый момент, то дребезжание линий приводит к частым лишним ордерам.
Вообще, самая большая неприятность в этой задаче (пересечение МА), связана не столько с алгоритмом, сколько с запаздыванием самих МА. Фактически, решение принимается тогда, когда событие уже не актуально:
[attachment=5150:4.png]
Уменьшение периода МА тоже не приводит к положительному результату - увеличивается дребезжание.
По секрету: пока никому не удалось решить эту задачу в чистом виде. Запаздывание и дребезжание приводят к потерям.
Но рекомендуется убедиться в этом самостоятельно. Попробуйте найти решение.
Poprobujte otvetit prosche, MA eto trendovyj indikator, pri mezhsesionnom flete depozit slivaet iz-za zapazdyvanija. No pri trende rabotaet horosho. Trend - na rynke dlitsja vsego 30 procentov vremeni (sredne statisticheskoe znachenie) a 70 pr. flat, raznogo urovnja ot m1 do w1. EA podobnogo tipa - eto popytka torgovat na udachu, ili povezlo ili net.... No shansy skoree net chem da.
Pust probujut, vseravno uchitsja nado....
S uvazheniem,
Sergej.
seregash
12-01-2009, 16:19
Я все по поводу данного советника, а может быть данному советнику в настройках добавить ещё графу "обновление данных" по временному периоду. Все таки так как советник работает хорошо а проблема заключается проскочить момент открытия с наименьшими потерями. Вот я и подумал что обновление иформации поможет избежать этого, если я не ошибаюсь. А так как этот советник я бы все равно хотел использовать на больших таймфреймах, то информация обновляемая в несколько минут непомешала бы.
Вот моя мысль как вы считаете оправдано это иль нет?
Я не понял. Что именно Вы хотели бы изменить?
Что такое "обновление данных"? Каким способом "проскочить момент открытия с наименьшими потерями"?
Нужно конкретное техническое решение.
Исследования других трейдеров однозначно говорят о необходимости компромиса:
- либо загрубить данные, но тогда получится бОльшее запаздывание сигналов;
- либо не загрублять, но тогда появляется множество ложных сигналов.
Если Вы найдёте другой способ, скажите.
Но всё же прислушайтесь, пожалуйста. Пересечение средних - это идея, которая лежит на поверхности, она не требует каких-либо специальных знаний. Поэтому подавляющее число исследователей начинают именно с этого метода. Пока получить положительный результат не удалось. Если бы удалось, то эта методика была бы широко известна (подобно волнам Элиотта, уровням Фибоначчи и пр., с которых тоже мало толку, но они, по крайней мере, названы).
Этот этап в деятельности трейдера очень полезен. Главным его результатом является трезвый взгляд на рыночные закономерности и потеря иилюзий. Пожалуйста, не подумайте, что это шутка. Это действительно очень важно.
seregash
13-01-2009, 20:01
Под обновлением данных я имею ввиду, что когда советник работает он постоянно следит за изменением рынка и в связи с этим он совершает какие либо действия, а я имею ввиду что бы советник работал не постоянно а с интервалом времени (например 5мин) т.е. включался в работу скажем на "пару" секунд и снова выключался. Грубо говоря работал как по "будильнику"
Такой подход имеет как свои плюсы, так и минусы.
Если в течение этих 5 минут соетник даёт ложные сигналы, то их удастся избежать. Это +
Если в эти 5 минут попадётся полезный сигнал, то и он будет пропущен. Это -
Этот метод обработки данных можно назвать механистическим (т.е. грубым, формальным и ошибочным).
Это похоже на страусиную политику. Типа высунул голову из песка, глянул по сторонам, - ага, типа, в эту секунду ничего не происходит, - и снова голову в песок = ничего не вижу, ничего не слышу. Беда в том, что когда голова в песке, задница-то на поверхности :)
Powered by vBulletin® Version 4.1.8 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.