Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 900

 
Sile Si:

Без сомнений, советник прикреплённый к si  модифицирует vtbr

   

Если прикрепить советник к vtbr то si он не модифицирует, работает только на своём инструменте


Хоть какое нибудь объяснение этому есть?

Модификации в коде нет, кроме этой:

Прикрепите строки журнала, которые показывают модификацию (строки не жалейте - возьмите + 3 сверху и снизу)


Добавлено.

И покажите OnInit().

 
Vladimir Karputov:

Прикрепите строки журнала, которые показывают модификацию (строки не жалейте - возьмите + 3 сверху и снизу)


Добавлено.

И покажите OnInit().

Ситуация: удаляю вручную Т/Р, советник снова ставит.

ппн

int OnInit()
  {
   if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
     {
      //Alert("Automated trading is forbidden in the program settings for ",__FILE__);
      return(false);
     }
   входить=входить_;
   handle_iCustom=iATR(Symbol(),ATRtimeframe,ATRper);
   if(handle_iCustom==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
                  m_symbol.Name(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

//
   handle_iCustom_2=iATR(Symbol(),ATRtimeframeStep,ATRperStep);

   if(handle_iCustom_2==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
                  m_symbol.Name(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }
//

   handle_iMA=iMA(Symbol(),Time_Frame_MA,Period_MA,0,MODE_SMA,PRICE_CLOSE);
//--- if the handle is not created 
   if(handle_iMA==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

   m_hline_name_buy=Symbol()+" "+m_hline_name_buy;
// m_hline_name_sell=Symbol()+" "+m_hline_name_sell;

   HLineCreate(0,m_hline_name_buy,0,0.0,clrLime,2);
//---
//---
   if(InpLot<=0.0)
     {
      Print("The \"Lot\" can't be smaller or equal to zero");
      return(INIT_PARAMETERS_INCORRECT);
     }
//---
   if(!m_symbol.Name(Symbol())) // sets symbol name
      return(INIT_FAILED);
   RefreshRates();

   string err_text="";
   if(!CheckVolumeValue(InpLot,err_text))
     {
      Print(err_text);
      return(INIT_PARAMETERS_INCORRECT);
     }
//---
   m_trade.SetExpertMagicNumber(m_magic);
//---
   if(IsFillingTypeAllowed(SYMBOL_FILLING_FOK))
      m_trade.SetTypeFilling(ORDER_FILLING_FOK);
   else if(IsFillingTypeAllowed(SYMBOL_FILLING_IOC))
      m_trade.SetTypeFilling(ORDER_FILLING_IOC);
   else
      m_trade.SetTypeFilling(ORDER_FILLING_RETURN);
//---
   m_trade.SetDeviationInPoints(m_slippage);
//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5)
      digits_adjust=10;
   m_adjusted_point=m_symbol.Point()*digits_adjust;
   ExtZeroLevel=InpZeroLevel*m_adjusted_point;
   ExtTrailingStop=InpTrailingStop*m_adjusted_point;
   ExtTrailingStep=InpTrailingStep*m_adjusted_point;
//-
   ExtTakeProfit=TakeProfit*m_adjusted_point;
   ExtSL=StopLoss*m_adjusted_point;
   ExtStep=InpStep*m_symbol.Point();
//---
   return(INIT_SUCCEEDED);
  }
 
Sile Si:

Ситуация: удаляю вручную Т/Р, советник снова ставит.

Дайте пожалуйста информацию: полный текст советника, на каком сервере подключаетесь, сколько баланс, какой билд терминала. Я бы хотел проверить.

Только одно но: если Вы тестируете НЕ НА MetaQuotes-Demo, а на биржевом сервере - здесь без меня.

 
Vladimir Karputov:

Дайте пожалуйста информацию: полный текст советника, на каком сервере подключаетесь, сколько баланс, какой билд терминала. Я бы хотел проверить.

Только одно но: если Вы тестируете НЕ НА MetaQuotes-Demo, а на биржевом сервере - здесь без меня.

Это FORTS. И если проблема возникает только в одном месте и с конкретным фьючерсом, может, проще отладчиком пройтись? Прошу прощения, путаю. Отладчик вроде не работает на экспертах.

 
Sergey Savinkin:

Это FORTS. И если проблема возникает только в одном месте и с конкретным фьючерсом, может, проще отладчиком пройтись?

 
Sile Si:

Ситуация: удаляю вручную Т/Р, советник снова ставит.

Запустите пожалуйста этот код: ListPositions.

Проверьте соответствие типа позиции (BUY или SELL) и соответствие название символа. Также нужно указать НАЗВАНИЕ торгового сервера и БИЛД терминала.

 
Vladimir Karputov:

Запустите пожалуйста этот код: ListPositions.

Проверьте соответствие типа позиции (BUY или SELL) и соответствие название символа. Также нужно указать НАЗВАНИЕ торгового сервера и БИЛД терминала.

Результат:

рне

open-broker билд последний, 1881. На vtbr ставит Т/Р=0 а на чужом инструменте- si, ставит Т/Р который должен быть на vtbr.

Vladimir Karputov:...на биржевом сервере - здесь без меня.

А к кому обратиться?

 
Sile Si:

Результат:

open-broker билд последний. 

А к кому обратиться?

У меня счет на FORTS бкс. Можете скинуть советника и настройки. Если не хотите "светить" логику советника, можете скинуть любой порезанный вариант, лишь бы можно было смоделировать ошибку. И фортс через два часа закроется.

И подробное описание как смоделировать ошибку.
 
Sergey Savinkin:

У меня счет на FORTS бкс. Можете скинуть советника и настройки. Если не хотите "светить" логику советника, можете скинуть любой порезанный вариант, лишь бы можно было смоделировать ошибку. И фортс через два часа закроется.

Да что там скрывать, вход по МА, усреднение)  Посмотрите, пожалуйста, ЛС.

Внутри много лишнего, что осталось от работы на хедж счёте.

 
Sile Si:

Результат:

open-broker билд последний, 1881. На vtbr ставит Т/Р=0 а на чужом инструменте- si, ставит Т/Р который должен быть на vtbr.

А к кому обратиться?

Спасибо за уточнение.

Так Вы используете код очень похожий на мои примеры, скиньте мне пожалуйста своего советника. Я теперь торговые операции более подробно протоколирую. ПОсмотрю, причешу код. ПОтом проверим.

Причина обращения: