[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 326

 
RMX13:

Кусок кода открывающий ордер и ставящий стоп лосс и тейк профит

терминал выдает ошибки: EURUSD,M30: OrderSend error 130

EURUSD,M30: invalid ticket for OrderModify function

EURUSD,M30: OrderModify error 4051

EURUSD,M30: OrderSend failed with error #4051 bid:1.23674000 ask:1.23683000 Open:1.23674000 SL:1.2423 TP:1.2283 MODE_STOPLEVEL:0.00000000 LOT:0.01000000

В чем проблема можете подсказать?

RMX13, у всех одни и теже проблемы. Чтобы избежать error 130, надо нормализовать все вычисления с ценами, лотами и условиями, особенно вблизи от цен с учётом спреда, стоплевела и фрицелевела, и слиппажа, который надо увеличивать в зависимости от волатильности. Просто аск не нужно нормализовать, но если что-то прибавляешь к нему, то необходимо с Digits, а лоты с 2 (центы) и т.д. во всём коде, и, конечно, обработка ошибок во всех торговых функциях, чтобы зря не беспокоить ДЦ. Успеха!

Смотри в Доке: OrderSend(Всё должно соответствовать содержимому в установленном порядке)! Потому и ошибки(:((

 

Ребяты, на этом форуме есть такая интересная тема : Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению!

Там есть вот такая интересная табличка :


Навигатор по форуму MQL4 community
ПравилаПоискКак оформить постАдминистрация форумаСообщить о нарушенииКлуб Телепатов
Вопросы, которые задавать не надо
Как правильно задавать вопросы
Полезная литератураПолезный софтИщу индикатор (советник, скрипт)Как правильно гуглить?
Язык MQL4 : вопросы, ответы, решения
ДокументацияУчебникПрограммные решенияОтветы новичкамСоветник - бесплатноЗаказать Эксперта
Список кодов ошибокПолезные функции от KimIVС чего начать ?Ответы профиПомощь в составлении ТЗКак составить ТЗ
Торговый терминал MetaTrader4 и Тестер торговых стратегий
Тур по терминалуТерминалТестер
Сообщить об ошибке








всем миром старались, собирали, вычищали.

Так вам Сюда : Полезные функции от KimIV Там есть все что надо, практически на все случаи жизни.

ИнтересноЮ а замечали ли вы ее когда нибудь ?

 

Ув. FAQ! Это по возможности использую, но не всё устраивает по своей незыблемости и, конечно, моей неопытности. Для выхода в безубыток и последующего траления использую динамические приёмы с самоменяющимися параметрами, потому не проставляю тралстоп ни степ. И стоплосс использую на случай прерывания связи. Потому иногда Сlose от Машек запаздывает и СЛ срабатывает. Практически очень редко возникают ошибки из-за недостаточной "толстокожести"(granit77) советника, который всё время улучшаю и приспосабливаю к всёменяющемуся рынку.

Спасибо за внимательное отношение!

Всё сделал и получилось применительно к моим условиям без ошибок в тестере. Завтра пущу опять на Реал.

  for(int j = OrdersTotal()-1; j >= 0; j--)
  {
    if(OrderSelect(j, SELECT_BY_POS, MODE_TRADES))
    {  
      if(OrderSymbol() != Symbol() && OrderMagicNumber() != Magic) continue;//фильтр по символу то пропускаем
      if(OrderCloseTime() != 0) continue;        //фильтр по времени закрытия (если не=0 то ордер уже закрыт)
      if(OrderType() == OP_BUY)
      {
        if(maFa0 < maFa1 && maSl0 < maSl1-clo*Point)
        {
          CloseOrder(OrderTicket(),OrderLots(),Bid,slip,Yellow);return(0);
      } }
      if(OrderType() == OP_SELL)
      {
        if(maFa0 > maFa1 && maSl0 > maSl1+clo*Point)
        {
          CloseOrder(OrderTicket(),OrderLots(),Ask,slip,Yellow);return(0);
  } } } }

Пришлось отделить Close в отдельный блок. Ещё раз СПАСИБО!

Доброе утро!

Как говорят, утро вечера мудренее! Делов-то, мне не хватало только одной строчки по проверке на отсутствие только что закрытых ордеров:

      if(OrderCloseTime() != 0) continue;        //фильтр по времени закрытия (если не=0 то ордер уже закрыт)
Всё объединил и надеюсь, что больше не будет ошибок по этой причине! Век живи и век учись! Всех благ, включая профит позитиво!
 
borilunad:

RMX13, у всех одни и теже проблемы. Чтобы избежать error 130, надо нормализовать все вычисления с ценами, лотами и условиями, особенно вблизи от цен с учётом спреда, стоплевела и фрицелевела, и слиппажа, который надо увеличивать в зависимости от волатильности. Просто аск не нужно нормализовать, но если что-то прибавляешь к нему, то необходимо с Digits, а лоты с 2 (центы) и т.д. во всём коде, и, конечно, обработка ошибок во всех торговых функциях, чтобы зря не беспокоить ДЦ. Успеха!

Смотри в Доке: OrderSend(Всё должно соответствовать содержимому в установленном порядке)! Потому и ошибки(:((

Благодарю это понятно.

А как это устранить " invalid ticket for OrderModify function "?

 
На форуме Робофорекса модераторы утверждают, что в МТ4 тиковые объёмы показывают количество изменений цены бид, а изменение только цены аск не отражается в тиковом объёме. Я очень удивился этому, т.к. считал, что тиковые объёмы отражают все изменения цены - и когда изменяется только бид, и когда изменяется только аск, и когда изменяются обе цены. Но они уверены в своей правоте и с вопросом почему так сделано в МТ4 отправляют к разработчикам. Вопрос к разработчикам - неужели они правы и тиковый объём показывает только часть всех изменений цены?
 

Мне объясните, пожалуйста, с чего начать,что делать,подводные камни какие есть.........Или ссылку что почитать для новичков форекса?

 
RMX13:

Благодарю это понятно.

А как это устранить " invalid ticket for OrderModify function "?


Для этого надо провести тот же Селект и в том же порядке до указания типа ордера, как сделано в моём коде наверху, и дальше во всех торговых функциях указывать OrderTicket().
 
NoBi4ok:

Мне объясните, пожалуйста, с чего начать,что делать,подводные камни какие есть.........Или ссылку что почитать для новичков форекса?


Если интересует трейдинг, то нужно качнуть букварь по форексу (он есть практически в любом Диллинговом Центре (ДЦ) в разделе обучения). Если программирование для форекса, то вверху каждой странички этого сайта есть ссылка на учебник и на документацию (на справочник). А про подводные камни придётся Вам тут спрашивать для каждого случая отдельно - для этого на камень нужно наткнуться. Давать инфу без контекста личной практики - бессмыслено: забудуте тут же.
 
NoBi4ok:

Мне объясните, пожалуйста, с чего начать,что делать,подводные камни какие есть.........Или ссылку что почитать для новичков форекса?


Смотрите наверху всё синее, рекомендованное модератором! Всё очень важно читать и усвоить.
 

Где можно почитать, как по линии баланса лотами управлять ?

Хочу когда баланс снижается, лотик увеличить, когда повышается снизить

может сов есть готовый как образец ?