Помогите скрипты с этого сайтаOP_Buy,OP_Sell, Revers, KellOver и другие часто выдают ошибку

 

Уважаемые програмисты. Я недавно работаю с программой, был рад такому фокусу как использование скрипта. Нажал и позиция открыта, перевернута или закрыта. Скачал с сайта скрипты (указаны в теме) и начал работать. Однако существует неприятность в том, что при быстром движении рыка они начинают выдавать ошибки примерно так: KeelOver EURUSD,M1: Alert: KeelOver: CloseBuyError = 129 или так KeelOver EURUSD,M1: Alert: KeelOver: или так EURUSD,M1: Alert: Error Open_SELL: 138. Ну насколько смог разобраться ошибки связаны со скоростью изменения котировок. Скрипты запускаю в момент когда надо купить продать продать или развернуться. Подскажите как модифицировать аргумент функц OrderSend (ask, Bid) что бы скрипты выполнялись всегда, а не только когда рынок спокоен.

Заранее спасибо. Тексты скриптов лежат на сайте. Пробовал увеличивать проскальзование до 7 - не помогло (пара евродоллар)

 
olvix:

Уважаемые програмисты. Я недавно работаю с программой, был рад такому фокусу как использование скрипта. Нажал и позиция открыта, перевернута или закрыта. Скачал с сайта скрипты (указаны в теме) и начал работать. Однако существует неприятность в том, что при быстром движении рыка они начинают выдавать ошибки примерно так: KeelOver EURUSD,M1: Alert: KeelOver: CloseBuyError = 129 или так KeelOver EURUSD,M1: Alert: KeelOver: или так EURUSD,M1: Alert: Error Open_SELL: 138. Ну насколько смог разобраться ошибки связаны со скоростью изменения котировок. Скрипты запускаю в момент когда надо купить продать продать или развернуться. Подскажите как модифицировать аргумент функц OrderSend (ask, Bid) что бы скрипты выполнялись всегда, а не только когда рынок спокоен.

Заранее спасибо. Тексты скриптов лежат на сайте. Пробовал увеличивать проскальзование до 7 - не помогло (пара евродоллар)


Посмотрел скрипты, на мой вкус сделано не очень. Осуществляется одна попытка открыть ордер. Один скрипт подправил. Будет пытаться открыть до победного конца (тоже не очень хорошо, но как вариант, правильнее сделать конечное число попыток). Остальные можете сделать по аналогии.

Файлы:
 
Figar0:
olvix:

Уважаемые програмисты. Я недавно работаю с программой, был рад такому фокусу как использование скрипта. Нажал и позиция открыта, перевернута или закрыта. Скачал с сайта скрипты (указаны в теме) и начал работать. Однако существует неприятность в том, что при быстром движении рыка они начинают выдавать ошибки примерно так: KeelOver EURUSD,M1: Alert: KeelOver: CloseBuyError = 129 или так KeelOver EURUSD,M1: Alert: KeelOver: или так EURUSD,M1: Alert: Error Open_SELL: 138. Ну насколько смог разобраться ошибки связаны со скоростью изменения котировок. Скрипты запускаю в момент когда надо купить продать продать или развернуться. Подскажите как модифицировать аргумент функц OrderSend (ask, Bid) что бы скрипты выполнялись всегда, а не только когда рынок спокоен.

Заранее спасибо. Тексты скриптов лежат на сайте. Пробовал увеличивать проскальзование до 7 - не помогло (пара евродоллар)


Посмотрел скрипты, на мой вкус сделано не очень. Осуществляется одна попытка открыть ордер. Один скрипт подправил. Будет пытаться открыть до победного конца (тоже не очень хорошо, но как вариант, правильнее сделать конечное число попыток). Остальные можете сделать по аналогии.

Спасибо щас посмотрю. Хотя если до победного то это то, что надо.
 

Посмотрел. Я немного програмирую на VBA и мне понятна идея использовани неоконченного цикла. Но, если не трудно подскажите эта строка

ticket=0;
while (ticket<=0)

насколько понимаю ограничивает количество циклов до первого выполнения. А что делать когда скрипт типа KeelOver (разворот с закрытием) закрыл не все (т.е. выполнился не полностью) но открыл новую удвоенную позицию. согласно кода, что произойти должно. А также мучит вопрос если ордеров несколько и используется этот цикл в скрипте revers, скрипт остановиться после переворота или после окончания всего скрипта. Предположив что началоо цикла я ставлю перед OrderSend. А есть ли возможность (теоретически) дать указание скрипту использовать любую текущую цену.

Возможно Вы найдете время ответить. Заранее благодарен.

 

Скоро весь набор "для ленивого" обновлю, уж очень много изменений накопилось. Но не думаю, что для обработки более двух поз можно уверенно пользоваться скриптами. Все-таки скрипт сам по себе предназначен для одноразового действа. Для управления большим хозяйством нужен советник :).

 
Bookkeeper:

Скоро весь набор "для ленивого" обновлю, уж очень много изменений накопилось. Но не думаю, что для обработки более двух поз можно уверенно пользоваться скриптами. Все-таки скрипт сам по себе предназначен для одноразового действа. Для управления большим хозяйством нужен советник :).


Вообще уже хорошо что такие вещи находяться в свободном доступе. За это уже спасибо. А когда хозяйством управляеш сам, от такие скрипты вообще незамменимы. Жаль только бывают не срабатывания. ведь одно дело щелкнуть по скрипту, а совсем другое ждать когда выполнится заявка по каждому отдельному ордеру. А если ордера мелкие (объемом) но их более трех то это занимает достаточно большое время. И вообще мне нравиться открыть последовательно 2-3 ордера а потом одним щелчком в нужном месте добится переворота. В скриптах все устраивает,за исключением их работы на очень подвижном рынке. И есть  только один вопрос, как в графе функции (orderSend) цена исполнения предусмотретьт, что он выполниться по любой существующей на рынке в момент времени цене (+ - проскальзывание). Т.е. только этого и не хатает для полного счастия.
 
olvix:

А что делать когда скрипт типа KeelOver (разворот с закрытием) закрыл не все (т.е. выполнился не полностью) но открыл новую удвоенную позицию. согласно кода, что произойти должно.

Сделать два примерно таких же цикла отдельно для каждой операции (учитывая что CloseBy возвращает bool). Но раз автор собирается вносить усоверщенствования, можно просто подождать
Причина обращения: