Рынок всегда неправ - страница 4

 
Reshetov:

Т.е. когда есть возможность, смотрим на эквити. Если оно превысило прежний уровень, то:
  1. Останавливаем работу всех советников.
  2. Встречные позы на всех инструментах закрываем через "закрыть перекрытые ордеры", чтобы не потерять на спредах.
  3. Увеличиваем советникам магики на 1 и выставляем им beginPrice по текущим Bid, т.е. начинаем новую игру.
  4. Запоминаем текущий уровень эквити. Например, записываем на бумажке или в какой нибудь файл.
  5. Запускаем советников с новыми настройками.
  6. Идем на работу, по делам или по бабам.
  7. Когда опять появляется возможность глянуть на эквити и поменять настройки, то смотрим на него и если прежний уровень превышен, то переходим к п. 1. Если еще не превышен, то переходим к п. 5
Почему к п.5? О каких новых настройках, в этом случае, идёт речь в п.5, ведь советник итак запущен и работает?
Может лучше к п.6? Он мне больше нравится :)
 

Что-то все молчат, но может это будет интересней.
Советник все еще версии 1.1 (пора с ним завязывать, и другую версию набирать, тем более что Юрий скучать не дает), поставил обсчет 3 пар EURUSD EURCHF EURJPY. причем EURJPY шел весь день вниз на 100 п.
Рассматривал тот же неудачный расклад, а именно 15/03/05, с 00 часов и сутки.
Сначала взял депо 1000, BL 1000, BeginPrice -текущая. Если посмотрите таблицу _view, увидете в поле comment, в конце файла - попытку открыть позиции и нехватку средств. Это именно то, о чем говорил Юрий, про маленькое депо. Сами задействованные средства на момент открытия ордеров стал выводить в таблицу _resources, в конце, так что видно. Да, сам предоставляемый график я строю по данным таблицы _resources.



 
А теперь, те же самы параметры, но депо взял 3000, т.е. все что хотелось - открывалось.
 
arzuma:
Reshetov:

Т.е. когда есть возможность, смотрим на эквити. Если оно превысило прежний уровень, то:
  1. Останавливаем работу всех советников.
  2. Встречные позы на всех инструментах закрываем через "закрыть перекрытые ордеры", чтобы не потерять на спредах.
  3. Увеличиваем советникам магики на 1 и выставляем им beginPrice по текущим Bid, т.е. начинаем новую игру.
  4. Запоминаем текущий уровень эквити. Например, записываем на бумажке или в какой нибудь файл.
  5. Запускаем советников с новыми настройками.
  6. Идем на работу, по делам или по бабам.
  7. Когда опять появляется возможность глянуть на эквити и поменять настройки, то смотрим на него и если прежний уровень превышен, то переходим к п. 1. Если еще не превышен, то переходим к п. 5
О каких новых настройках, в этом случае, идёт речь в п.5, ведь советник итак запущен и работает?

Если у Вас со зрением не все в порядке, то спросите окружающих и они Вам вслух подтвердят, что там есть еще и п. 1, согласно которого, необходимо предварительно остановить работу всех советников.
 
Reshetov:
arzuma:
Reshetov:

Т.е. когда есть возможность, смотрим на эквити. Если оно превысило прежний уровень, то:
  1. Останавливаем работу всех советников.
  2. Встречные позы на всех инструментах закрываем через "закрыть перекрытые ордеры", чтобы не потерять на спредах.
  3. Увеличиваем советникам магики на 1 и выставляем им beginPrice по текущим Bid, т.е. начинаем новую игру.
  4. Запоминаем текущий уровень эквити. Например, записываем на бумажке или в какой нибудь файл.
  5. Запускаем советников с новыми настройками.
  6. Идем на работу, по делам или по бабам.
  7. Когда опять появляется возможность глянуть на эквити и поменять настройки, то смотрим на него и если прежний уровень превышен, то переходим к п. 1. Если еще не превышен, то переходим к п. 5
О каких новых настройках, в этом случае, идёт речь в п.5, ведь советник итак запущен и работает?

Если у Вас со зрением не все в порядке, то спросите окружающих и они Вам вслух подтвердят, что там есть еще и п. 1, согласно которого, необходимо предварительно остановить работу всех советников.

Прежде чем оскорблять, прочтите внимательно, что Вы сами написали:

Т.е. когда есть возможность, смотрим на эквити. Если оно превысило прежний уровень, то:

1. Останавливаем работу всех советников.
.......

Когда опять появляется возможность глянуть на эквити и поменять настройки, то смотрим на него и если прежний уровень превышен, то переходим к п. 1. Если еще не превышен, то переходим к п. 5
5.Запускаем советников с новыми настройками.

И так:
1.советнки работают.
2. смотрим эквити.
3. если прежний эквити превышен, останавливаем советники и меняем настройки.
4. если не превышен, запускаем уже запущенные советники с новыми настройками. Какими? Что меняем Magic и beginPrice? Тогда получается, что при любом подходе к терминалу надо менять настройки не зависимо от изменения эквити.

 
arzuma:
Reshetov:

Т.е. когда есть возможность, смотрим на эквити. Если оно превысило прежний уровень, то:
  1. Останавливаем работу всех советников.
  2. Встречные позы на всех инструментах закрываем через "закрыть перекрытые ордеры", чтобы не потерять на спредах.
  3. Увеличиваем советникам магики на 1 и выставляем им beginPrice по текущим Bid, т.е. начинаем новую игру.
  4. Запоминаем текущий уровень эквити. Например, записываем на бумажке или в какой нибудь файл.
  5. Запускаем советников с новыми настройками.
  6. Идем на работу, по делам или по бабам.
  7. Когда опять появляется возможность глянуть на эквити и поменять настройки, то смотрим на него и если прежний уровень превышен, то переходим к п. 1. Если еще не превышен, то переходим к п. 5
Почему к п.5? О каких новых настройках, в этом случае, идёт речь в п.5, ведь советник итак запущен и работает?
Может лучше к п.6? Он мне больше нравится :)
И на старуху бывает проруха. Спасибо за поправку! Действительно, при отсутствии превышения в п. 7 нужно переходить на п. 6, а не на п. 5.
 

Посмотрел на изменение BeginPrice, ну если задать в самом начале работы отличное от текущей цены значение. Выскажу такую общую рекомендацию – в код советника, в самом начале (init()), желательно вставить проверку на полученную разность задаваемой BeginPrice-текущая цена (что-то типа защиты «от дурака»). Если это значение превышает 50 п., то выкинуть Message, чтобы было хотя бы подтверждение, что человек не ошибся (не опечатка) и сознательно идет на такую разность. Дело в том, что размер первоначального лота и первоначальной операции зависит от начальной BeginPrice. И если человек случайно задаст разность в 100 п., то откроется изначально около 0.5 лотов, в зависимости от того, в какую сторону BeginPrice оттянута. Ну вот, на всякий случай, думаю, что не мешало бы сделать такую проверку.

Ну вот что далее получается у меня, если я оттянул BeginPrice на (-80п. ) в валютной паре EURUSD, а в этой группе еще существуют валютные пары EURCHF и EURJPY и их BeginPrice==текущей. Советник сразу покупает 0. 4 лота по EURUSD, и далее как бы хеджирует эту покупку продажей 0. 2 лота по EURCHF и на следующем обороте еще продажей 0,1 лота по EURJPY. И тут мне не все понятно с распределением лотов по продажам. У меня получается, что продажу 0,2 лота он осуществит на той паре, которая стоит первой после EURUSD, а оставшееся объем - на второй паре, стоящей от EURUSD. Ну если полагаться на то, что «как бог пошлет» - то оно все равно. А если чуть регулировать процесс и пытаться сделать так, чтобы продажа 0.2 лотов произошла на EURJPY, то как это можно сделать не изменяя код советника?

Т.е у меня вопрос или к Юрию, или к админам MQL, или может кто-то другой даст ссылку: От чего зависит очередность обработки советников, расположенных на разных валютных парах, если предположить, что «тик» пришел одновременно, скажем и на EURCHF и на EURJPY. Существует ли какой либо порядок срабатывания советников? Сам я думаю, что все же order должен быть – либо котировки придут в какой-либо сортировке по валютным парам (и что-то будет стоять первым), либо срабатывание осуществиться по очередности запуска советников на этих валютных парах. Ну хотелось бы услышать истину от специалистов.

Малюсенький файл прилагаю (см. comment в хвосте). Из него мой вопрос станет, может быть, более понятным. Сначала я и сам не делал никакой сортировки по парам, полагая, что в одной валютной группе все равны, но потом стало ясно что это все же важно и я сделал принудительную сортировку валютных пар в своей программе. Вот и спрашиваю у mql от каких условий «некоторые равнее других»?

Да, то что EIRUSD (в файле) сейчас стоит в сортировке на первом месте – это не важно, т.к. BeginPrice именно по ней оттянута, и первое срабатывание произойдет именно на EURUSD (тут все нормально и ясно), но на какой паре дальше?

С уважением, Fed

P.S. Да, все что здесь говорю - может быть неправдой, я ошибаюсь чаще других. Я поэтому на этом форуме и болтаю, чтобы Юрий меня поправил.

Файлы:
order.zip  4 kb
 
Fed:

Посмотрел на изменение BeginPrice, ну если задать в самом начале работы отличное от текущей цены значение. Выскажу такую общую рекомендацию – в код советника, в самом начале (init()), желательно вставить проверку на полученную разность задаваемой BeginPrice-текущая цена (что-то типа защиты «от дурака»). Если это значение превышает 50 п., то выкинуть Message, чтобы было хотя бы подтверждение, что человек не ошибся (не опечатка) и сознательно идет на такую разность. Дело в том, что размер первоначального лота и первоначальной операции зависит от начальной BeginPrice. И если человек случайно задаст разность в 100 п., то откроется изначально около 0.5 лотов, в зависимости от того, в какую сторону BeginPrice оттянута. Ну вот, на всякий случай, думаю, что не мешало бы сделать такую проверку.

Ну вот что далее получается у меня, если я оттянул BeginPrice на (-80п. ) в валютной паре EURUSD, а в этой группе еще существуют валютные пары EURCHF и EURJPY и их BeginPrice==текущей. Советник сразу покупает 0. 4 лота по EURUSD, и далее как бы хеджирует эту покупку продажей 0. 2 лота по EURCHF и на следующем обороте еще продажей 0,1 лота по EURJPY. И тут мне не все понятно с распределением лотов по продажам. У меня получается, что продажу 0,2 лота он осуществит на той паре, которая стоит первой после EURUSD, а оставшееся объем - на второй паре, стоящей от EURUSD. Ну если полагаться на то, что «как бог пошлет» - то оно все равно. А если чуть регулировать процесс и пытаться сделать так, чтобы продажа 0.2 лотов произошла на EURJPY, то как это можно сделать не изменяя код советника?

Т.е у меня вопрос или к Юрию, или к админам MQL, или может кто-то другой даст ссылку: От чего зависит очередность обработки советников, расположенных на разных валютных парах, если предположить, что «тик» пришел одновременно, скажем и на EURCHF и на EURJPY. Существует ли какой либо порядок срабатывания советников? Сам я думаю, что все же order должен быть – либо котировки придут в какой-либо сортировке по валютным парам (и что-то будет стоять первым), либо срабатывание осуществиться по очередности запуска советников на этих валютных парах. Ну хотелось бы услышать истину от специалистов.

Малюсенький файл прилагаю (см. comment в хвосте). Из него мой вопрос станет, может быть, более понятным. Сначала я и сам не делал никакой сортировки по парам, полагая, что в одной валютной группе все равны, но потом стало ясно что это все же важно и я сделал принудительную сортировку валютных пар в своей программе. Вот и спрашиваю у mql от каких условий «некоторые равнее других»?

Да, то что EIRUSD (в файле) сейчас стоит в сортировке на первом месте – это не важно, т.к. BeginPrice именно по ней оттянута, и первое срабатывание произойдет именно на EURUSD (тут все нормально и ясно), но на какой паре дальше?

С уважением, Fed

P.S. Да, все что здесь говорю - может быть неправдой, я ошибаюсь чаще других. Я поэтому на этом форуме и болтаю, чтобы Юрий меня поправил.

Тики редко приходят одновременно. Но, даже если они так пришли, то срабатывание сделки советники будут совершать в зависимости от значения Fair Value (справедливая цена, которая рассчитывается и выводится на график в виде комментария у советника Swaper).

Первоначально справедливая цена всегда равна значению beginPrice. После того, как цена изменилась, советники действуют следующим образом:
  • Если текущая цена ушла значительно ниже справедливой, то будет закрыта короткая или открыта длинная позиция на расчетный объем или на объем короткой, если расчетный больше чем у нее
  • Если текущая цена ушла значительно выше справедливой, то будет закрыта длинная или открыта короткая позиция на расчетный объем или на объем длинной, если расчетный больше чем у нее
Смещение справедливой цены происходит таким макаром:
  • После открытия длинной или закрытия короткой, справедливая цена смещается вниз на том инструменте, на котором исполнен приказ в большую сторону и на остальных инструментах чуть меньше.
  • После открытия короткой или закрытия длинной, справедливая цена смещается вверх на том инструменте, на котором исполнен приказ в большую сторону и на остальных инструментах чуть меньше
Таким образом, справедливая цена перемещается вслед за текущими котировками с небольшим отставанием. Но может возникнуть перекос, т.е. когда по каким-то причинам, например по нехватке средств, справедливая цена начинает уходить в сторону противоположную от текущей. В этом случае, советников (если их более одного) у которых растет перекос необходимо временно отключить до тех пор пока у других советников перекос не начнет выправляться.
 
Я просто все смотрю версию 1.1 и все что я пишу - относится к ней. Честно скажу - она мне нравиться. И на ней играть можно, и сдается мне, что и не таким огромным депо можно обойтись, если грамотно все рассчитать и хорошо понимать реакцию от настроек, ну и если чуть изменить советника или наблюдать за его работой.
Пока все же покапаюсь с этой версией, а после отпуска (в июле) переберу код и сяду пристально смотреть на Swaper (если г-н Решетов еще что-то более новое не выдаст).
С уважением, Fed
 
Fed:
Я просто все смотрю версию 1.1 и все что я пишу - относится к ней. Честно скажу - она мне нравиться. И на ней играть можно, и сдается мне, что и не таким огромным депо можно обойтись, если грамотно все рассчитать и хорошо понимать реакцию от настроек, ну и если чуть изменить советника или наблюдать за его работой.

Пока тоже занимаюсь версией 1.1, по душе она мне, есть с чем поэксперементировать. ..

Результаты торговли за неполных две недели, весьма достойно, со скромным депо в 3000
  • Альпари-Демо
  • Логин: 468988
  • Пароль инвестора: hadn4kd
  • Причина обращения: