Автор | Сообщение |
|
| |
Пост N: 19
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
|
|
Отправлено: 10.11.11 21:43. Заголовок: Специфическая Математика и расчеты усреднений !!!
Вопрос есть бай лотом 0,01 и есть сел ордер который ниже бая, селл обьемом 0,03 как расчитать профит для села что бы обе позы закрылись в ноль ????
|
|
|
Ответов - 23
, стр:
1
2
3
All
[только новые]
|
|
|
| |
Пост N: 69
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
|
|
Отправлено: 24.01.13 14:23. Заголовок: функция вызывается н..
функция вызывается на каждом тике и должна усреднить два ордера по двум тикетам int usr (string t, int x, int m1, int m2) { double nn=0,bb=0; int i=0; if ( t=="" ) t=Symbol(); for(i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS)) if(OrderSymbol()==t) if(OrderType()==x)//&&(OrderTicket()==m1||OrderTicket()==m2||m1==-1&&m2==-1)) {Comment(t); bb+=OrderOpenPrice()*OrderLots(); nn+=OrderLots() ; } for(i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS)) if(OrderSymbol()==t) if(OrderType()==x)//&&(OrderTicket()==m1||OrderTicket()==m2||m1==-1&&m2==-1)) { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(bb/nn,Digits),0,Gold)==true) return(0);else return (GetLastError()); } } но почему то усредняется только один ... даже при отключеной проверке на тикеты модифицируется только один ордер . В чем проблема понять не могу ....
|
|
|
|
| постоянный участник
|
Пост N: 586
Зарегистрирован: 03.09.09
|
|
Отправлено: 24.01.13 16:40. Заголовок: voldemar227 пишет: ..
voldemar227 пишет: цитата: | но почему то усредняется только один |
| Потому что после проведения первой же модификации, независимо от успешности операции, происходит выход из функции. Функция возвращает либо 0, либо код ошибки после операции модификации.
|
|
|
|
| |
Пост N: 70
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
|
|
Отправлено: 25.04.13 12:44. Заголовок: Scriptong пишет: X ..
Scriptong пишет: цитата: | X = ((sellPrice - spread)*sellVolume - buyPrice*buyVolume)/(sellVolume - buyVolume) |
| то есть правильно ли я понял Мы цену каждого ордера по типу бай умножаем на его лот и суммируем в заданной переменной Так же мы цену каждого ордера по типу селл умножаем на его лот и суммируем в заданной переменной затем производим вычитание , Не могу понять почему мы делаем вычитание ??? И почему мы от селл лотов вычитаем бай лоты ???
|
|
|
Ответов - 23
, стр:
1
2
3
All
[только новые]
|
|