[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 47
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Уважаемые специалисты форума, которые тоже когда-то почти ничего не понимали.
Я пробую написать в качестве тренировки простейший советник, с применением индикатора Parabolic Sar. Действие его предполагается элементарным: если цена была ниже значения Сар, а потом стала выше, то надо купить, именно при пересечении ценой значения индикатора и именно один раз свыставлением стоп-лосса и тейк-профита по 10 пунктов. А если наоборот, то продать.
Вся беда в том, что он и покупает и продает, но делает это постоянно пока есть свободные средства на депозите, а не один раз. Т.е. как только цена поднялась выше значения Сар он покупает постоянно пока цена выше, а как только цена опускается ниже Сар продает все время пока цена находится ниже.
Собственно сам вопрос: как заставить советника заключать только одну сделку при появлении таких условий, а не их бесконечное множество?
Вот код моего советника.
Прошу Вас помочь разобраться, обещаю что когда стану гуру, не пройду мимо просьб таких же чайников как я.
С уважением, Орлов Денис.
Уважаемые специалисты форума, которые тоже когда-то почти ничего не понимали.
Я пробую написать в качестве тренировки простейший советник, с применением индикатора Parabolic Sar. Действие его предполагается элементарным: если цена была ниже значения Сар, а потом стала выше, то надо купить, именно при пересечении ценой значения индикатора и именно один раз свыставлением стоп-лосса и тейк-профита по 10 пунктов. А если наоборот, то продать.
Вся беда в том, что он и покупает и продает, но делает это постоянно пока есть свободные средства на депозите, а не один раз. Т.е. как только цена поднялась выше значения Сар он покупает постоянно пока цена выше, а как только цена опускается ниже Сар продает все время пока цена находится ниже.
Собственно сам вопрос: как заставить советника заключать только одну сделку при появлении таких условий, а не их бесконечное множество?
Вот код моего советника.
Прошу Вас помочь разобраться, обещаю что когда стану гуру, не пройду мимо просьб таких же чайников как я.
С уважением, Орлов Денис.
а где у вас превидущее значение индикатора? (в какой переменной сохранили...?) то же самое с значений цены
а где у вас превидущее значение индикатора? (в какой переменной сохранили...?) то же самое с значений цены
Дело в том, что предыдущее значение индикатора расположено на предыдущей свече, а цена пересекает значение индикаторана на текущей свече.
Так же и с ценой, что значит "предыдущее значение цены", цена предыдущего тика? или закрытия предыдущей свечи, но это не то.
Я понимаю что что-то я должен добавить, но что именно понять не могу. Помогите пожалуйста, это первый опыт.
С уважением, Орлов Денис.
Дело в том, что предыдущее значение индикатора расположено на предыдущей свече, а цена пересекает значение индикаторана на текущей свече.
Так же и с ценой, что значит "предыдущее значение цены", цена предыдущего тика? или закрытия предыдущей свечи, но это не то.
Я понимаю что что-то я должен добавить, но что именно понять не могу. Помогите пожалуйста, это первый опыт.
С уважением, Орлов Денис.
Ты понял, что сказал, то? У тебя проверяется значение в данное время
Два взаимоисключающих условия. Когда он потом стал выше?
Ты понял, что сказал, то? У тебя проверяется значение в данное время
Два взаимоисключающих условия. Когда он потом стал выше?
может быть неправильно сформулировал комментарий, но суть остается верна, уровень цены стал выше значения индикатора, надо купить и он покупает, но надо сделать это один раз, а советние покупает до тех пор пока на депозите имеются деньги. Нужно просто ограничить количество сделок. Сделать не больше одной за раз, вот это и не получается.
а если в истории был ордер Sell, а затем его эксперт закрыл (в типе истории он (его закрытие) отображается как t/p или s/l - не будет ли он считаться последним? не смог добиться нужного эффекта((
Если ордер (buy или sell) закрыт последним (эксперт его закрыл, или сработал t/p или s/l) и проходит по условиям
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MagicNumber){
Если ордер (buy или sell) закрыт последним (эксперт его закрыл, или сработал t/p или s/l) и проходит по условиям
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MagicNumber){
да, наверное это потому, что я исключил из кода OrderMagicNumber()
я хочу сделать так, чтобы у меня не открывались ордера повторно после закрытия. В условиях невозможно описать, чтобы после того как поступил сигнал на открытие Buy, а потом на его закрытие, сново не открывался бы Buy (дело в том, что порой еще сохраняются условия на его открытие). с sell таже самая история. я подумал, что будет круто, если в условиях указать, если был бай и была прибыль - не открывать снова бай. а он пока что открывает- мерзавец!)))
((
да, наверное это потому, что я исключил из кода OrderMagicNumber()
я хочу сделать так, чтобы у меня не открывались ордера повторно после закрытия. В условиях невозможно описать, чтобы после того как поступил сигнал на открытие Buy, а потом на его закрытие, сново не открывался бы Buy (дело в том, что порой еще сохраняются условия на его открытие). с sell таже самая история. я подумал, что будет круто, если в условиях указать, если был бай и была прибыль - не открывать снова бай. а он пока что открывает- мерзавец!)))
((
Самый простой способ контролировать количество одновременно открытых ордеров
Читайте описание функции OrderSend( ... )
Магический номер (магик) назначается ордеру при его отсылке на сервер.
Применяется в основном для идентификации отложенных ордеров/позиций.
Т.е. чтобы советник не трогал "чужие" ордера. Назначает его советник или скрипт.
Вручную магик выставить невозможно. Правила Вы определяете сами в эксперте/скрипте.
Чаще магик бывает статический, но можно сделать и динамический если нужно.
Посмотрите несколько простых примеров из кодобазы - должно стать понятно.
А почему нельзя идентифицировать "свои" ордера, по номеру тикета. Они то точно уникальны, хоть сколько советников работает.
Открыл например советник ордер, запомнил тикет, закрыл - забыл.
А почему нельзя идентифицировать "свои" ордера, по номеру тикета. Они то точно уникальны, хоть сколько советников работает.
Открыл например советник ордер, запомнил тикет, закрыл - забыл.