OrderClose : окно off-quote как при ручной торговле...

 

дорогие Господа, всем доброго времени суток

У меня тут проблема во время закрытия ордеров через стандартную функцию OrderClose() в accentforex.com, fxcm.com и на instaforex.com, через некоторое время у меня на только на ЖИВЫХ счетах у этих брокеров перестали закрываться некоторые ордера, они должны были быть закрыты моим экспертом, вот как он должен это делать:


// сам ордер для закрытия определяется через OrderSelect() в коде эксперта рание

for(xyz=1; xyz<=OrderExecuteTry; xyz++)

{

if (IsTradeAllowed)

{

RefreshRates();
if (OrderClose(OrderTicket(), OrderLots(), Ask, g_spread_2064, g_color_2120))

break;

else
{

Print(">--> Îøèáêà îòêðûòèÿ îðäåðà íà ïîêóïêó: ", GetLastError());
Sleep(1000*WaitSecondsInterval);

}

}


Но некоторые ордера НЕ закрываются и всё потому что эти брокеры на попытку закрыть ордер экспертом выдают ОКНО такое же как и при ручной торговле, с надписью re-quote, off-quote (и всё тому подобное...) и чтобы дальше иметь доступ к терминалу нужно нажать в окне кнопку "ОК", и на этом эксперт блокирован, мне нужно закрытие ордера чтобы работало безотказно!

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


Есть ли у кого какое то решение этой проблемы с окном при ОрдерКлоуз и универсального исполнения этой функции вообще?

 
JohnOne:

дорогие Господа, всем доброго времени суток

У меня тут проблема во время закрытия ордеров через стандартную функцию OrderClose() в accentforex.com, fxcm.com и на instaforex.com, через некоторое время у меня на только на ЖИВЫХ счетах у этих брокеров перестали закрываться некоторые ордера, они должны были быть закрыты моим экспертом, вот как он должен это делать:


// сам ордер для закрытия определяется через OrderSelect() в коде эксперта рание

for(xyz=1; xyz<=OrderExecuteTry; xyz++)

{

if (IsTradeAllowed)

{

RefreshRates();
if (OrderClose(OrderTicket(), OrderLots(), Ask, g_spread_2064, g_color_2120))

break;

else
{

Print(">--> Îøèáêà îòêðûòèÿ îðäåðà íà ïîêóïêó: ", GetLastError());
Sleep(1000*WaitSecondsInterval);

}

}


Но некоторые ордера НЕ закрываются и всё потому что эти брокеры на попытку закрыть ордер экспертом выдают ОКНО такое же как и при ручной торговле, с надписью re-quote, off-quote (и всё тому подобное...) и чтобы дальше иметь доступ к терминалу нужно нажать в окне кнопку "ОК", и на этом эксперт блокирован, мне нужно закрытие ордера чтобы работало безотказно!

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


Есть ли у кого какое то решение этой проблемы с окном при ОрдерКлоуз и универсального исполнения этой функции вообще?




Шли бы Вы с такими вопросами в соответствующую ветвь форума, да и код бы научились вставлять в редакторе через SRC и не захламляли бы своим флудом форум.
 
Roman.:

Шли бы Вы с такими вопросами в соответствующую ветвь форума, да и код бы научились вставлять в редакторе через SRC и не захламляли бы своим флудом форум.

Ну то что код не вставил через SRC мои извинения, но если это всё так просто тогда почему я нигде такого на форуме рание не встречал (может плохо искал, но не нашёл...)? Вы как "ПРОФИ" подскажите мне ответ пожалуйста, решение к данному вопросу, а не отправляете меня куда то туда... =)

...эта тема уже существует и прошу по мене знаний дать на неё ответ, а если не знаете тогда постойте в сторонке.

с уважением JohnOne

 
ВасJohnOne:

Ну то что код не вставил через SRC мои извинения, но если это всё так просто тогда почему я нигде такого на форуме рание не встречал (может плохо искал, но не нашёл...)? Вы как "ПРОФИ" подскажите мне ответ пожалуйста, решение к данному вопросу, а не отправляете меня куда то туда... =)

...эта тема уже существует и прошу по мене знаний дать на неё ответ, а если не знаете тогда постойте в сторонке.

с уважением JohnOne



Чем Вас эта (базовая) версия не устраивает - "универсальная" - вторая функция на страничке, только там учет ордеров в массивах, у Вас получится - бить циклом, по условию пока есть рыночные ордера. Кроме того, этот параметр у Вас в ф-ии закрытия g_spread_2064 - это не спреад вовсе, но слиппадж - проскальзывание - вбейте 50 - для пятизнака. Пробуйте.

П.С. Не захламляйте форум, пишите вопросы в соответствующих ветвях.

П.П.С. Если не осилите, на сайте Ким Игоря Владимировича в поиске наберите...уверен, там есть интересующая Вас ф-ия в грамотном исполнении.

 
Roman.:


Чем Вас эта (базовая) версия не устраивает - "универсальная" - вторая функция на страничке, только там учет ордеров в массивах, у Вас получится - бить циклом, по условию пока есть рыночные ордера. Кроме того, этот параметр у Вас в ф-ии закрытия g_spread_2064 - это не спреад вовсе, но слиппадж - проскальзывание - вбейте 50 - для пятизнака. Пробуйте.

П.С. Не захламляйте форум, пишите вопросы в соответствующих ветвях.

П.П.С. Если не осилите, на сайте Ким Игоря Владимировича в поиске наберите...уверен, там есть интересующая Вас ф-ия в грамотном исполнении.

Уважаемый Roman.

Во первых g_spread_2064 это имя переменной и оно у меня = спреду, а вопрос у меня:

что делать ЕСЛИ ЭКСПЕРТ ПОЛУЧИТ "OFF-QUOTES" (что НЕ зависит от slipage) и откроется Окно (как при попытке закрыть ордер вручную попадает off-quotes, где нужно нажать ОК чтобы иметь доступ к терминалу - это я уже объяснял ) и тут я программного решения проблемы Я НЕ ЗНАЮ (я не знаю как заставить эксперта нажать "ОК" чтобы он вернул управление терминалом и попытался ещё раз закрыть ордер) думал что СПЕЦЫ МQL4 знают ответ на вопрос по их же творению.


ЭТО МОЙ ВОПРОС, ЕСЛИ ВЫ ВНИМАТЕЛЬНО ПРОЧТИТЕ МОЙ 1 ПОСТ.

-ВОПРОС ОСТАЁТСЯ ОТКРЫТЫМ-

 
Хм, интересно это они специально сделали или по криворукости? :)
 
что делать ЕСЛИ ЭКСПЕРТ ПОЛУЧИТ "OFF-QUOTES" (что НЕ зависит от slipage) и откроется Окно (как при попытке закрыть ордер вручную попадает off-quotes, где нужно нажать ОК чтобы иметь доступ к терминалу - это я уже объяснял ) и тут я программного решения проблемы Я НЕ ЗНАЮ (я не знаю как заставить эксперта нажать "ОК" чтобы он вернул управление терминалом и попытался ещё раз закрыть ордер) думал что СПЕЦЫ МQL4 знают ответ на вопрос по их же творению.

Ладно, чего кричать-то, давай-ка по сути.

1. Что это:

if (IsTradeAllowed)    //   if (IsTradeAllowed())

если встроенная функция, то пропущены скобки, см. рядов в комменте. Если переменная, то ее имя закрывает имя встроенной функции, что не есть гуд. Показан только кусок кода, а "залипуха", приводящая к такому поведению может быть в другом месте.

2. Но если честно, с такой ситуацией не сталкивался. Что за версия МТ? что за брокер?


 
OneDepo:

Ладно, чего кричать-то, давай-ка по сути.

1. Что это:

если встроенная функция, то пропущены скобки, см. рядов в комменте. Если переменная, то ее имя закрывает имя встроенной функции, что не есть гуд. Показан только кусок кода, а "залипуха", приводящая к такому поведению может быть в другом месте.

2. Но если честно, с такой ситуацией не сталкивался. Что за версия МТ? что за брокер?


1. тот код что представлен выше это "фурум-образец" чтобы дать приблизительную идею того что там есть... а когда я его клепал на быструю руку то скобки пропустил :)

2. брокеры у которых встречались эти "трюки" перечислены в 1 посту с разными билдами МТ4.


Почему брокер может выдавать это окно при закрытии ордеров можно долго не гадать, но если он может так помешать роботе советника сведя его действия до 0, значит разработчиками продукта предусмотрено что эксперты могут иметь руки и глаза чтобы мышью на табличку ОК нажимать ???

- я у разработчиков я только прошу предоставить мне решение этой проблемы, так как каждый такой "трюк" стоит денег, а когда он опять появится я хочу быть спокойным что это не создаст проблем для работы эксперта.

с уважением

 

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

 
Вам уже настолько непрозрачно намекают, что так писать нельзя, прочитайте азбуку, разберите пару программ. Странно, что только "Но некоторые ордера НЕ закрываются".
 
JohnOne:

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

Поковыряйтесь в настройках MT, "Советники", там надо снять галочку "Ручное подверждение".

И у конкретного советника также в настройках уберите "Ручное подверждение".

Причина обращения: