Коллеги - что это может быть за ошибка закрытия и как с ней бороться? Вот ниже код, при превышении профита - закрывать все однонаправленные позы. Спасибо.
// ЗАКРЫВАЕМ ВИРТУАЛЬНЫЕ ТР БАЙ позы if(takeprofit < ProfitB)
{
Print(" ЗАКРЫТИЕ BUY POSITIONS. общий ProfitB = ", ProfitB," мин общий takeprofit buys positions = ", takeprofit);
for (i=OrdersTotal()-1; i>=0; i--)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic_Прямой==OrderMagicNumber())
{
if(OrderType()==OP_BUY)
//if(OrderOpenPrice()+takeprofit*Point<=MarketInfo(Symbol(),MODE_BID) || // OrderOpenPrice()-stoploss*Point>=MarketInfo(Symbol(),MODE_BID)) if (OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),NormalizeDouble(MarketInfo(Symbol(),MODE_SPREAD)*2,Digits()),clrGray))
Print(" закрытие бай, тикет = ", OrderTicket());
elsePrint(" ошибка закрытия бай, Error = ", GetLastError());
}
}
if(takeprofit < ProfitS)
{
Print(" ЗАКРЫТИЕ СЕЛЛов. общий ProfitS = ", ProfitS," мин общий takeprofit СЕЛЛов = ", takeprofit);
for (i=OrdersTotal()-1; i>=0; i--)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic_Прямой==OrderMagicNumber())
{
if(OrderType()==OP_SELL)
// if(OrderOpenPrice()-takeprofit*Point>=MarketInfo(Symbol(),MODE_ASK) ||// OrderOpenPrice()+stoploss *Point<=MarketInfo(Symbol(),MODE_ASK)) if (OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),NormalizeDouble(MarketInfo(Symbol(),MODE_SPREAD)*2,Digits()),clrGray))
Print(" закрытие SELL, тикет = ", OrderTicket());
elsePrint(" ошибка закрытия sell, Error = ", GetLastError());
}
}
Коллеги - что это может быть за ошибка закрытия и как с ней бороться? Вот ниже код, при превышении профита - закрывать все однонаправленные позы. Спасибо.
ошибка какая? скрин не тот
в теории должно работать, но не встречал такого изощренного закрытия с учетом спреда и прикручивать это в качестве проскальзывания - имхо, если решили закрывать, то проскальзование не самое важное за чем следить, ошибки закрытия важнее, то реквоты, то вообще связь пропадает
в теории должно работать, но не встречал такого изощренного закрытия с учетом спреда и прикручивать это в качестве проскальзывания - имхо, если решили закрывать, то проскальзование не самое важное за чем следить, ошибки закрытия важнее, то реквоты, то вообще связь пропадает
уберите OrderClose(....) и вместо него тикет в Кимовскую ClosePosBySelect() передавайте, тогда ясно станет где не работает - или в Ваших условиях на закрытие или сервер у Вас с каким приколом
У него там закрытие по нулевой цене. Соответственно, нужно контролировать что вернула MarketInfo-функция, а контроля-то нет. Впрочем, как обычно на четвёрке некоторые люди привыкли писать - что-то получил, что - не проверил, но отправил аргументом.
У него там закрытие по нулевой цене. Соответственно, нужно контролировать что вернула MarketInfo-функция, а контроля-то нет. Впрочем, как обычно на четвёрке некоторые люди привыкли писать - что-то получил, что - не проверил, но отправил аргументом.
я видел, сомневаюсь, что сумеет все сам распринтовать, поэтому и предложил использовать проверенное закрытие выделенного ордера через OrderSelect() с помощью ClosePosBySelect() - это он умеет, по крайней мере видел как он конструктором себе коды собирает )))
ЗЫ: есть еще подозрение, что он один ордер два раза закрывает, но Кимовская ф-ция принты в журнал напишет , нет вроде раздельные циклы на закрытия по 2-му условию
я видел, сомневаюсь, что сумеет все сам распринтовать, поэтому и предложил использовать проверенное закрытие выделенный ордер через OrderSelect()
Да понятно, что функции Игоря всё сделают за юзера сами (и то некоторые умудряются и с ними накосячить). Но он тогда сам так ничего и не научится делать. Хотя конечно - их выбор.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Привет, нужен совет. Почему у меня не показывается последний текст? Что тут не так? Подскажите пожалуйста как исправить!
Зачем цикл, если берёте имя всегда только одного объекта?
Iurii Tokman:
Так точно нельзя - выход за пределы массива будет. Если объектов 10, то индекс последнего будет 9. Потому как счёт идёт с нуля.
Зачем цикл, если берёте имя всегда только одного объекта?
подскажите как точно определить предпоследнее текст этого объекта.
подскажите как точно определить предпоследнее текст этого объекта.
Сложно понять что хотите.
Provit - показывает общую прибыль во время теста в течении суток
Provit1 - оставляет максимальную просадку за сутки
Provit2 - обычный цифровой ряд начиная с единицы.
Provit3 - Цель! Суммировать Provit1 и делить на Provit2. Хочу узнать среднюю суточную просадку за общее время теста. Помогите разобраться с Provit3
Коллеги - что это может быть за ошибка закрытия и как с ней бороться? Вот ниже код, при превышении профита - закрывать все однонаправленные позы. Спасибо.
Коллеги - что это может быть за ошибка закрытия и как с ней бороться? Вот ниже код, при превышении профита - закрывать все однонаправленные позы. Спасибо.
ошибка какая? скрин не тот
в теории должно работать, но не встречал такого изощренного закрытия с учетом спреда и прикручивать это в качестве проскальзывания - имхо, если решили закрывать, то проскальзование не самое важное за чем следить, ошибки закрытия важнее, то реквоты, то вообще связь пропадает
уберите OrderClose(....) и вместо него Кимовскую ClosePosBySelect() https://www.mql5.com/ru/forum/131859/page2#comment_3359664
используйте, тогда ясно станет где не работает - или в Ваших условиях на закрытие или сервер у Вас с каким приколом
ошибка какая? скрин не тот
в теории должно работать, но не встречал такого изощренного закрытия с учетом спреда и прикручивать это в качестве проскальзывания - имхо, если решили закрывать, то проскальзование не самое важное за чем следить, ошибки закрытия важнее, то реквоты, то вообще связь пропадает
уберите OrderClose(....) и вместо него тикет в Кимовскую ClosePosBySelect() передавайте, тогда ясно станет где не работает - или в Ваших условиях на закрытие или сервер у Вас с каким приколом
У него там закрытие по нулевой цене. Соответственно, нужно контролировать что вернула MarketInfo-функция, а контроля-то нет. Впрочем, как обычно на четвёрке некоторые люди привыкли писать - что-то получил, что - не проверил, но отправил аргументом.
У него там закрытие по нулевой цене. Соответственно, нужно контролировать что вернула MarketInfo-функция, а контроля-то нет. Впрочем, как обычно на четвёрке некоторые люди привыкли писать - что-то получил, что - не проверил, но отправил аргументом.
я видел, сомневаюсь, что сумеет все сам распринтовать, поэтому и предложил использовать проверенное закрытие выделенного ордера через OrderSelect() с помощью ClosePosBySelect() - это он умеет, по крайней мере видел как он конструктором себе коды собирает )))
ЗЫ: есть еще подозрение, что он один ордер два раза закрывает, но Кимовская ф-ция принты в журнал напишет , нет вроде раздельные циклы на закрытия по 2-му условию
я видел, сомневаюсь, что сумеет все сам распринтовать, поэтому и предложил использовать проверенное закрытие выделенный ордер через OrderSelect()
Да понятно, что функции Игоря всё сделают за юзера сами (и то некоторые умудряются и с ними накосячить). Но он тогда сам так ничего и не научится делать. Хотя конечно - их выбор.