Скачать MetaTrader 5

Закрыть нужный нам ордер

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Занеси ветку в избранное. Отслеживай изменения еще быстрее!
Макс
137
Макс 2012.05.17 20:45 
Всем привет, скажите пожалуйста уважаемые форумчане) как закрыть нужный нам ордер, допустим мы имеем два открытых ордера один на Buy другой Sell каждый день в ровно в 23.00 закрываются оба вот как закрыть первым тот у которого OrderProfit() больше?
o_o
Модератор
23693
o_o 2012.05.17 21:18  
XmaksasX:
Всем привет, скажите пожалуйста уважаемые форумчане) как закрыть нужный нам ордер, допустим мы имеем два открытых ордера один на Buy другой Sell каждый день в ровно в 23.00 закрываются оба вот как закрыть первым тот у которого OrderProfit() больше?

если вам вообще их нужно оба закрыть и при этом они одинакового объема, то юзайте OrderCloseBy
Макс
137
Макс 2012.05.18 07:25  
sergeev:

если вам вообще их нужно оба закрыть и при этом они одинакового объема, то юзайте OrderCloseBy

Да нужно закрыть оба ордера ну первым тот у которого профит больше допустим (OrderType()==buy его профит= -100) и (OrderType==Sell его профит= -150) то сперва закрыть buy а потом sell. А можно чуть чуть подробней о OrderCloseBy то что написано в справке мне не очень понятно.
Иван Корнилов
544
Иван Корнилов 2012.05.18 08:11  
XmaksasX:

Да нужно закрыть оба ордера ну первым тот у которого профит больше допустим (OrderType()==buy его профит= -100) и (OrderType==Sell его профит= -150) то сперва закрыть buy а потом sell. А можно чуть чуть подробней о OrderCloseBy то что написано в справке мне не очень понятно.
Сравнивание профит первого ордера и второго, если у первого больше закрываете его, если нет закрываете второй,
o_o
Модератор
23693
o_o 2012.05.18 08:36  
XmaksasX:

А можно чуть чуть подробней о OrderCloseBy то что написано в справке мне не очень понятно.

Эта функция закрывает одномоментно два противоположных ордера.

Вы, во-первых, экономите на спреде. Во-вторых, вместо двух торговых операций делаете одну

Макс
137
Макс 2012.05.19 08:48  
excelf:
Сравнивание профит первого ордера и второго, если у первого больше закрываете его, если нет закрываете второй,

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


sergeev:

Эта функция закрывает одномоментно два противоположных ордера.

Вы, во-первых, экономите на спреде. Во-вторых, вместо двух торговых операций делаете одну

а если вдруг у нас открылся только один ордер что делать тогда? это конечно не особо важно ну все же?
o_o
Модератор
23693
o_o 2012.05.19 16:22  
XmaksasX:
а если вдруг у нас открылся только один ордер что делать тогда? это конечно не особо важно ну все же?

Если вам сложно выбрать самый профитный из ОДНОГО единственного ордера. то навряд ли вам вообще нужно этим заниматься :)
Макс
137
Макс 2012.05.20 15:09  
sergeev:
Если вам сложно выбрать самый профитный из ОДНОГО единственного ордера. то навряд ли вам вообще нужно этим заниматься :)

А причем тут это кто сказал про выбор профитного из ОДНОГО если Вы прочитали не внимательно то не стоит делать поспешных выводов, "а если вдруг у нас открылся только один ордер что делать тогда"----это имелось ввиду к функции OrderCloseBy она же закрывает один ордер другим, а если он только один то соответственно работать она не будет ведь так???

Роман
7939
Роман 2012.05.20 15:14  
XmaksasX:

А причем тут это кто сказал про выбор профитного из ОДНОГО если Вы прочитали не внимательно то не стоит делать поспешных выводов, "а если вдруг у нас открылся только один ордер что делать тогда"----это имелось ввиду к функции OrderCloseBy она же закрывает один ордер другим, а если он только один то соответственно работать она не будет ведь так???


Прежде чем юзать ту или иную функцию, тем более на реале, необходимо проводить необходимые проверки, в вашем случае - контроль за наличием двух разнонаправленных ордеров в рынкете...

Макс
137
Макс 2012.05.21 16:39  
Roman.:


Прежде чем юзать ту или иную функцию, тем более на реале, необходимо проводить необходимые проверки, в вашем случае - контроль за наличием двух разнонаправленных ордеров в рынкете...

про какую функцию Вы говорите? меня просто интересует как закрыть первым тот ордер у которого профит больше вот и все))
Макс
137
Макс 2012.05.21 18:02  
if(Hour()>=23 && Minute()>=00)
     {
        if(OrderSelect(Ticket_Sell, SELECT_BY_TICKET)==true)
           double m1=OrderProfit(); 
         if(OrderSelect(Ticket_Buy, SELECT_BY_TICKET)==true)
           double m2=OrderProfit(); 
          if(m1>m2)
          {
           OrderClose(Ticket_Sell,OrderLots(),PR,3,Red);
            OrderClose(Ticket_Buy,OrderLots(),PR,3,Red);
           }
         else
           {
            OrderClose(Ticket_Buy,OrderLots(),PR,3,Red);
             OrderClose(Ticket_Sell,OrderLots(),PR,3,Red);
           }

Вот так у меня получилось ну походу это как то туповато((((

1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий