Выделенная строка выдает zero devide.
Функция использовалась во многих советниках и как бы заведомо рабочая, в чем дело то?(
Выделенная строка выдает zero devide.
Функция использовалась во многих советниках и как бы заведомо рабочая, в чем дело то?(
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (условие открытия)
{
ticket = OrderSend(Symbol(),OP_BUY,Lot(),Ask,Slippage,0,0,NULL,OrderMagicNumber(),0,Blue);
ModifyOrdersBuy(OrderMagicNumber());
}
фунуция используется при переборе ордеров, по магику, т.е. ордер там заведомо есть.
Вас кто-то жестоко ввёл в заблуждение. Позиция может и не открыться.
Если модификация ордера производится сразу же после открытия, да ещё тикет известен, то и модифицируйте по тикету, самый надёжный способ.
Почему нельзя 0/0?
Математики так решили ) Хотя потом сами же стали говорить, что при делении любого числа на ноль будет бесконечность. Дескать, идеального нуля не существует. А программисты за ними уже записали, переделывать потом не захотели. Вот и мучаемся... ))))
Ну а конкретно с 0/0. Объясните физический смысл этой операции. Ведь нужно "ничего" разделить на "ничего" частей.
Математики так решили ) Хотя потом сами же стали говорить, что при делении любого числа на ноль будет бесконечность. Дескать, идеального нуля не существует. А программисты за ними уже записали, переделывать потом не захотели. Вот и мучаемся... ))))
Ну а конкретно с 0/0. Объясните физический смысл этой операции. Ведь нужно "ничего" разделить на "ничего" частей.
Дык.Ну так и на 0 умножить это чтото надо умножить на ничего.
Так тут ведь есть физический смысл: есть "что-то", но мы его ни разу не берем )))
При 0 * 0: ничего нет, да и не берем мы его. А вот делить на "ничего" частей это действительно нонсенс.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
{
double avg = 0;
int count = 0;
for (int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber() == mn && OrderSymbol() == Symbol() && OrderType() == OP_SELL)
{
avg += OrderOpenPrice();
count++;
}
}
}
avg = NormalizeDouble(avg/count, Digits);
for (i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber() == mn && OrderSymbol() == Symbol() && OrderType() == OP_SELL)
{
TP = NormalizeDouble(avg + TakeProfit*Point, Digits);
bool mod = OrderModify(OrderTicket(), OrderOpenPrice(), 0, NormalizeDouble(avg - TakeProfit*Point, Digits), 0, Yellow);
}
}
}
}
Выделенная строка выдает zero devide.
Функция использовалась во многих советниках и как бы заведомо рабочая, в чем дело то?(