вопрос к математикам - страница 3

 
Yury Stukalov:

ну уууууу а и про что ты написал по подробней к чему ты это?

что у тебя в голове ?

о чём ты думаешь ?

поясни может тут один я такой тупой не понимаю к чему твой коментарий ?

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

я в свою очередь написал круто , снимаю шляпу - это означает что человек молодец  как профессионал   как программист знает своё дело , круто уважаю таких

и тут вдруг откуда не возьмись появился ты с коментарием

поясни к чему ты это написал ?

выпьешь, еще не такое скажешь

Виталий вчера про свой мангал просто вспомнил


 
Dmitry Fedoseev:

Выразил формулу:

CPB = (Прибыль$ + Сумма(BO*BL*PC) - Сумма(SO*SL*PC) + Сумма(S*SL*PC))/(Сумма(BL*PC)- Сумма(SL*PC))

CPB - искомая цена закрытия (бид)

ВО - цена открытия бай

BL - лот бай

PC - стоимость пункта

SО - цена открытия селл

SL - лот селл

---

Осталось определиться со стоимостью пункта.

она ж за скобки выносится и там и там...

можно не заморачиваться этим

по моему так

просто эту бяку - Прибыль$, можно в пунктах приделать, проще будет

а просто S в формуле - это что?

 
Renat Akhtyamov:

она ж за скобки выносится и там и там...

можно не заморачиваться этим

по моему так

просто эту бяку - Прибыль$, можно в пунктах приделать, проще будет

а просто S в формуле - это что?

S - спред. В итоге все совсем просто получилось - здесь

 
Dmitry Fedoseev:

S - спред. В итоге все совсем просто получилось - здесь

понял
 
Ловите готовый код на MQL4
double profit_positions = 0;
double Lot = 0;    // Высчитываем лот который у нас останется после вычитания меньшего лота направления из большего
//---
for(int cnt=0; cnt<OrdersTotal(); cnt++)
{
     if( !OrderSelect(cnt,SELECT_BY_POS) )   continue;
     if( OrderSymbol() != _Symbol)           continue;
     if( OrderType() != ORDER_TYPE_BUY &&
         OrderType() != ORDER_TYPE_SELL)     continue;
     //---
     profit_positions += OrderProfit()+OrderSwap()+OrderCommission();
     //---
     switch( OrderType() )
     {
          case ORDER_TYPE_BUY : Lot += OrderLots(); break;
          case ORDER_TYPE_SELL: Lot -= OrderLots(); break;
     }
}
//---
double tick_value = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE)*MathAbs(Lot);
double take_profit = profit_positions < 0 ? (MathAbs(profit_positions) + 10) : (10 - profit_positions);
int pipsProfit = (int)MathFloor( take_profit / tick_value ); // сколько пунктов нужно отступить от текущей цены. Выше, или ниже в зависимости от того куда у нас больше лот
P.S. Единственное что добавил с выше приведенным это расчеты лота и профита.
Причина обращения: