Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Планируешь заказать программу? Узнай, как получить желаемый результат
pako
3323
pako 2013.02.22 13:48  

Правильной ценой открытия рыночного ордера Buy является последняя известная рыночная цена Ask. 
Правильной ценой открытия рыночного ордера Sell является последняя известная рыночная цена Bid.

Правильной ценой закрытия рыночного ордера Buy является последняя известная рыночная цена Bid. 

Правильной ценой закрытия рыночного ордера Sell является последняя известная рыночная цена Ask.

https://book.mql4.com/ru/trading/orders 

Boris
3903
Boris 2013.02.22 14:27  

borilunad:
...был по Аску, а записалось в ордеропенпрайс Бидом! Потому у Бая сразу минус в Профите!

Котировки цены ведь по Биду! 

Дмитрий
1460
Дмитрий 2013.02.22 16:09  
pako:


сами чё? в школе не учились?

142,87-142,33=0,54     10,72:54=0,1985185185185185 $  стоит один пип лотом 0,1 ,  -- 0,0992592592592593 $  стоит один пип лотом 0,01,-- 9,925925925925926  $  стоит один пип лотом 1,0

 

если вы купили,  ордеропенпрайс был по ask, stoploss по bid 


стоимость лота я знаю, и подсчитать в состоянии, но ошубусь на спред в каждом ордере, потому и попросил.
Alexey Subbotin
4998
Alexey Subbotin 2013.02.22 18:27  
borilunad:
Извините врываюсь в Ваши размышления о длинной позиции, но ордеропенпрайс это Аск минус спрэд, то есть, уже Бид на месте Аска, но с минусом, взятым за спрэд. Отныне для модификаций, стопов и закрытия, ордеропенпрайс это Бид.

С каких это пор? В опенпрайс пишется именно та цена, по которой прошла сделка, то есть Аск для покупки и Бид для продажи. При закрытии сделки - наоборот, независимо от того, по стопу или вручную закрыта позиция.
Dmitry Fedoseev
41689
Dmitry Fedoseev 2013.02.22 18:31  
Прикольная задачка, если представить что в рынке любое количество рыночных ордеров и любое количество отложенных. Такую бы решить. Еще предполжить, что стоплоссы и тейкпрофиты могут быть, а могут не быть.
Boris
3903
Boris 2013.02.22 18:42  
alsu:

С каких это пор? В опенпрайс пишется именно та цена, по которой прошла сделка, то есть Аск для покупки и Бид для продажи. При закрытии сделки - наоборот, независимо от того, по стопу или вручную закрыта позиция.
Правильно! А в чём я противоречу? Именно от этой цены рассчитываются СЛ и ТП, которые закроются по Биду, у Селла наоборот, по Аску.
Дмитрий
1460
Дмитрий 2013.02.22 21:33  
Integer:
Прикольная задачка, если представить что в рынке любое количество рыночных ордеров и любое количество отложенных. Такую бы решить. Еще предполжить, что стоплоссы и тейкпрофиты могут быть, а могут не быть.

Это не столько задачка, сколько знание потерь, или прибыли. И походу придется наоткрывать ордеров, поставить близкие стопы и бросить. А потом тупо посчитать и написать индикатор. Мне бы не помешал такой информатор. Будем пробовать...
keekkenen
1128
keekkenen 2013.02.23 05:57  
grell:

Это не столько задачка, сколько знание потерь, или прибыли. И походу придется наоткрывать ордеров, поставить близкие стопы и бросить. А потом тупо посчитать и написать индикатор. Мне бы не помешал такой информатор. Будем пробовать...

то бишь идея в индикации двух текущих значений возможного суммарного убытка и профита по имеющимся стоп уровням ?

Дмитрий
1460
Дмитрий 2013.02.23 06:09  
keekkenen:

то бишь идея в индикации двух текущих значений возможного суммарного убытка и профита по имеющимся стоп уровням ?

Да, именно так, всего лишь две цифры, я понимаю, что некоторые советники уже заточены под определенный уровень риска, но все же.
keekkenen
1128
keekkenen 2013.02.23 06:10  
grell:

Да, именно так, всего лишь две цифры, я понимаю, что некоторые советники уже заточены под определенный уровень риска, но все же.


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


или суммировать по каждому ордеру рассчитанную сумму прибыли/убытка..

используя что-то типа

double pointPrice(double points,double lot=0){
    int p = 1;
    if (MINLOT == 0 || TICKSIZE == 0) return(0);
    if (lot == 0) lot = MINLOT;
    if (MARGINCALCMODE == 0 && (DIGITS == 3 || DIGITS == 5))    p = 10;
    return(points * p * TICKVALUE / TICKSIZE * POINT * MINLOT * (lot / MINLOT));

}

где points - ценовая дельта, например OrderStopLoss() - OrderOpenPrice()

lot - это размер лота ордера

прочие константы, написанные заглавными буквами, нужно заменить аналогами получаемыми через MArketInfo
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий