[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 163

 
beginner666999:


Могу предложить следующий вариант:

if(Hour()==11 && OrdersTotal()>0)

  {

   if(OrderSelect(0,SELECT_BY_POS)==true)

     {

      if(OrderType()==OP_BUYSTOP)

        {

         OrderDelete(OrderTicket());

        }

     }

  } 

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

А как ты думаешь,если в момент отмены отложенного о.цена будет находится рядом с ним,т.е. отложенный ордер будет находится в зоне заморозки.

Удалится ли он в этом случае. при  при помощи OrderDelete?

Удалится ли он в этом случае. при  при помощи параметра  expiration?

 
solnce600:

А как ты думаешь,если в момент отмены отложенного о.цена будет находится рядом с ним,т.е. отложенный ордер будет находится в зоне заморозки.

Удалится ли он в этом случае. при  при помощи OrderDelete?

Удалится ли он в этом случае. при  при помощи параметра  expiration?





По теории, если цена ордера будет находиться в зоне заморозки, то он не удалится. Выдержка из учебника book.mql4.com: " Это значит, например, что если рыночная цена =1.3800, имеется отложенный ордер заявленной ценой открытия 1.3807 и брокером установлено значение = 10, то отложенный ордер находится в зоне заморозки, т.е. его нельзя ни удалить, ни модифицировать". На практике еще не сталкивался, сам только недавно начал программировать и буквально вчера внедрил такой способ удаления отложников. А по поводу параметра expiration даже и не знаю... Может к Альпари в тех. поддержку написать? По сути какая разница, что expiration, что заявка от терминала пытаются произвести одно действие - удалить ордер, который находится в зоне заморозки. 

 

    Начал изучать програмирование. У меня возник практический вопрос, который не освещён в учебнике или смутно освещён. 

Например я открыл  два стоп ордера с разными магиками выше и ниже рыночной цены. Ордер BuyStop открылся по заявленной цене.

Теперь програма должна закрыть ордер SellStop со своим магиком и открыть любой стоповый ордер с новым магиком.

Как программа определит, что отложенный ордер   BuyStop с таким то магиком стал рыночным,

чтобы использовать это для создания следующих торговых приказов.

Хотелось бы использовать МАГИК для идентификации ордеров.

Спасибо. 

 
00007:

    Начал изучать програмирование. У меня возник практический вопрос, который не освещён в учебнике или смутно освещён. 

Например я открыл  два стоп ордера с разными магиками выше и ниже рыночной цены. Ордер BuyStop открылся по заявленной цене.

Теперь програма должна закрыть ордер SellStop со своим магиком и открыть любой стоповый ордер с новым магиком.

Как программа определит, что отложенный ордер   BuyStop с таким то магиком стал рыночным,

чтобы использовать это для создания следующих торговых приказов.

Хотелось бы использовать МАГИК для идентификации ордеров.

Спасибо. 



Попробуй использовать типы ордеров. OP_BUY, OP_SELL, OP_BUYSTOP, OP_BUYLIMIT и пр. Если, к примеру, первым у тебя ставится BuyStop ордер, потом SellStop ордер и нужно проверить не изменился ли тип BuyStop'а, выбираешь при помощи OrderSelect() среди открытых и отложенных ордеров предпоследний и сравниваешь тип этого ордера с необходимым тебе, т.е. OP_BUY. Если тип предпоследнего ордера "равен" OP_BUY, то удаляешь отложенный SellStop и т.д. Также можно и МАГИК сравнить при помощи OrderSelect(). 
 

beginner666999:

Попробуй использовать типы ордеров. OP_BUY, OP_SELL, OP_BUYSTOP, OP_BUYLIMIT и пр. Если, к примеру, первым у тебя ставится BuyStop ордер, потом SellStop ордер и нужно проверить не изменился ли тип BuyStop'а, выбираешь при помощи OrderSelect() среди открытых и отложенных ордеров предпоследний и сравниваешь тип этого ордера с необходимым тебе, т.е. OP_BUY. Если тип предпоследнего ордера "равен" OP_BUY, то удаляешь отложенный SellStop и т.д. Также можно и МАГИК сравнить при помощи OrderSelect(). 

 

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

 


Обращение не только к beginner666999 но и к другим грамотным прогерам.

Про магики опустим. Ну примерно ясно, что надо городить огород. Но ведь при открытии отложенных ордеров им каждому присваивается свой тиккер. Я эти  тиккеры  при написании эксперта знать не могу, но могу их как то обозвать . Далее  эксперт сможет сделать запрос  терминалу открыт ли ордер Buy или Sell с таким то тиккером, а так же открыт ли ордер Buy или Sell с другим тиккером. На каком то тике придёт  true  и эксперт примет решение о выполнении поставленного алгоритма. В последствии  через три четыре шага можно будет обратиться к ордеру с таким то тиккером о его частичном допустим прикрытии. Верны ли мои понятия, и как примерно они могли  бы быть воплощены в коде?

 
Доброго всем дня. помогите разобраться в чём причина? график рисует рваное изображение между свечами на минутном тайм фрейме  с огромными гэпами... 
 

Здравствуйте, уважаемые.

Такой вопрос. Советник открывает ордер, устанавливая определенное значение magic. Затем MetaTrader закрывается. Есть ли возможность после повторного открытия MT (или, что то же самое) при открытии MT на другой машине восстановить magic? Только что столкнулся: был открыт ордер, после чего добрый дядя из ДЦ перегрузил виртуалку. В результате: все расчеты в топку.

 
Здравствуйте!  А что быстрее ?   IClose  (нулевой бар)   Или Marketinfo ?
 

  Добрый день, посоветуйте к кому обратиться, что бы написать советника. В двух словах:  открываем 2 одинаковых ордера бай и сел, цена проходит допустим 10п вверх, добавляем еще такой же бай, проходит еще 10п вверх, добавляем третий бай и т.д.. Если цена разворачивается и опускается на 10п, тогда закрываем убыточный бай и открываем сел.  И так через каждые 10п, всегда закрываем один убыточный ордер и добавляем противоположный, до тех пор пока не выстроится линейка в одну сторону допустим из 7 ордеров, в противоположную сторону остается только один ордер. Когда выстраивается заданное количество ордеров в одном направлении, советник закрывает все открытые ордера. 

   Пробовал по этому алгоритму торговать ручками, очень тяжело и на быстрых движениях не всегда успеваю выставлять ордера. Исхожу из среднего дневного диапазона, чтобы получить сетку из 7-10 ордеров в одну сторону. Практически всегда выходил в плюс.  Необходимо чтобы в советнике регулировались параметры: размер шага между ордерами, размер лота, SL, TP и количество ордеров одного направления, чтобы советник закрыл все ордера. После закрытия всех ордеров советник должен автоматически отключаться.

  Возможно уже есть похожий советник , но мне хотелось бы чтобы он работал именно так как описано. Спасибо за дельные советы.

 
00007:


Обращение не только к beginner666999 но и к другим грамотным прогерам.

Про магики опустим. Ну примерно ясно, что надо городить огород. Но ведь при открытии отложенных ордеров им каждому присваивается свой тиккер. Я эти  тиккеры  при написании эксперта знать не могу, но могу их как то обозвать . Далее  эксперт сможет сделать запрос  терминалу открыт ли ордер Buy или Sell с таким то тиккером, а так же открыт ли ордер Buy или Sell с другим тиккером. На каком то тике придёт  true  и эксперт примет решение о выполнении поставленного алгоритма. В последствии  через три четыре шага можно будет обратиться к ордеру с таким то тиккером о его частичном допустим прикрытии. Верны ли мои понятия, и как примерно они могли  бы быть воплощены в коде?

Лучше всего начать учить всё по учебнику серьёзно и  выйдет быстрее, сэкономите своё время и наше! Сразу с советника начинать ничего не выйдет, т.к. Вы не эксперт, а новичок! А слить депозит всегда ещё успеете. Не думайте, что этим вдруг заработаете!
Причина обращения: