Errores, fallos, preguntas - página 259

 

Moderadores, una pregunta para ustedes.

No puedo enviar una solicitud a servicedesk.

Y el botón de cierre no funciona

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
sergeev:

Moderadores, una pregunta para ustedes.

No puedo enviar una solicitud a servicedesk.

Y el botón "Cerrar" no funciona

Por favor, inténtalo de nuevo. Servicedesk forma parte de un sistema interno de la empresa que ha sido reiniciado recientemente.
 
¿Pueden decirme cómo saber si una operación se ha cerrado con un stop loss?
 
Me gustaría saber si hay alguna alternativa al script de bucle infinito en el 5, porque dicho script es muy caprichoso, me gustaría que siguiera funcionando al reabrir el terminal o al cambiar el marco temporal?
 
Olegts:
Me gustaría saber si hay alguna alternativa al script de bucle infinito en el 5, porque dicho script es muy caprichoso, me gustaría que siguiera funcionando al reabrir el terminal o al cambiar el marco temporal?

Si está satisfecho con la frecuencia mínima de 1 segundo, entonces OnTimer, de lo contrario

Mientras no haya una operación de microsegundos en OnTimer.

 
posible pérdida de datos debido a la conversión de tipo ChartObject.mqh 213 4
posible pérdida de datos debido a la conversión del tipo ChartObject.mqh 481 4
posible pérdida de datos debido a la conversión de tipo ChartObject.mqh 867 17
posible pérdida de datos debido a la conversión de tipos ChartObjectsTxtControls.mqh 519 4

Bild 375 - vornings apareció en las bibliotecas estándar. Puede que haya alguno más, aún no lo he comprobado.

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
Urain:

Si está contento con una frecuencia mínima de 1s entonces OnTimer, de lo contrario

Hasta OnTimer no hay operación de microsegundos.

Gracias, se requiere un intervalo más corto, por lo que es la manera antigua :)
 
nanaos:
¿Podría decirme cómo puedo saber si una operación se cerró con un stop loss?

En MT5 no es la operación la que se cierra en el stop loss, sino la posición, de momento sólo se puede saber por el comentario de la operación que cerró la posición en el stop loss. Aquí hay un ejemplo de código.

void Event()
  {
   if(!HistorySelectByPosition(ID))return;
   double margin=0.0;
   bool res;
   int total=HistoryOrdersTotal();
   ulong deal_ticket=HistoryDealGetTicket(total-1);
   string coment=HistoryDealGetString(deal_ticket,DEAL_COMMENT);
   long deal_type=HistoryDealGetInteger(deal_ticket,DEAL_TYPE);
   double volume=HistoryDealGetDouble(deal_ticket,DEAL_VOLUME);
   double MinLot=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
   double MaxLot=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
   double Bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
   double Ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   ulong stoplevel=SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

   if(deal_type==ORDER_TYPE_BUY)
     {
      if(StringFind(coment,"sl")>=0)
        {
         request.volume=NormalizeDouble(volume*Klot,DigitsVolume());
         request.price=NormalizeDouble(Bid,_Digits);
         request.type = ORDER_TYPE_SELL;
         if(SL<=0 || TP<=0)return;
         if(SL>=stoplevel) request.sl=NormalizeDouble(Ask+(SL*_Point),_Digits);
         if(SL<stoplevel) request.sl=NormalizeDouble(Ask+(stoplevel*_Point),_Digits);
         if(TP>=stoplevel) request.tp=NormalizeDouble(Bid -(TP*_Point),_Digits);
         if(TP<stoplevel) request.tp=NormalizeDouble(Bid -(stoplevel*_Point),_Digits);
         OrderCalcMargin(request.type,_Symbol,request.volume,Bid,margin);
         if(AccountInfoDouble(ACCOUNT_FREEMARGIN)-margin<0)return;
        }
      if(StringFind(coment,"tp")>=0){flagNewSeries=true;return;}
     }
   if(deal_type==ORDER_TYPE_SELL)
     {
      if(StringFind(coment,"sl")>=0)
        {
         request.volume=NormalizeDouble(volume*Klot,DigitsVolume());
         request.price=NormalizeDouble(Ask,_Digits);
         request.type = ORDER_TYPE_BUY;
         if(SL<=0 || TP<=0)return;
         if(SL>=stoplevel) request.sl=NormalizeDouble(Bid -(SL*_Point),_Digits);
         if(SL<stoplevel) request.sl=NormalizeDouble(Bid -(stoplevel*_Point),_Digits);
         if(TP>=stoplevel) request.tp=NormalizeDouble(Ask+(TP*_Point),_Digits);
         if(TP<stoplevel) request.tp=NormalizeDouble(Ask+(stoplevel*_Point),_Digits);
         OrderCalcMargin(request.type,_Symbol,request.volume,Ask,margin);
         if(AccountInfoDouble(ACCOUNT_FREEMARGIN)-margin<0)return;
        }
      if(StringFind(coment,"tp")>=0){flagNewSeries=true;return;}
     }

   if(request.volume<MinLot)request.volume=MinLot;
   if(request.volume>MaxLot)request.volume=MaxLot;
   request.volume=NormalizeDouble(request.volume,DigitsVolume());

   request.action       = TRADE_ACTION_DEAL;
   request.magic        = Magic;
   request.symbol       = _Symbol;
   request.deviation    = Slip;
   request.type_filling = ORDER_FILLING_AON;
   request.comment      = CommentOrder;

   OrderSend(request,result);

   switch(result.retcode)
     {
      case 10008: {Print("Ордер размещен");PositionSelect(Symbol());ID=PositionGetInteger(POSITION_IDENTIFIER);}break;
      case 10009: {Print("Заявка выполнена");PositionSelect(Symbol());ID=PositionGetInteger(POSITION_IDENTIFIER);}break;
      case 10004: {Print("Реквота");}break;
      case 10006: {Print("Запрос отвергнут");}break;
      case 10007: {Print("Запрос отменен трейдером");res=false;}break;

      case 10010: {Print("Заявка выполнена частично");res=false;}break;
      case 10011: {Print("Ошибка обработки запроса");res=false;}break;
      case 10012: {Print("Запрос отменен по истечению времени");}break;
      case 10013: {Print("Неправильный запрос");res=false;}break;
      case 10014: {Print("Неправильный объем в запросе");res=false;}break;
      case 10015: {Print("Неправильная цена в запросе");res=false;}break;
      case 10016: {Print("Неправильные стопы в запросе");res=false;}break;
      case 10017: {Print("Торговля запрещена");res=false;}break;
      case 10018: {Print("Рынок закрыт");}break;
      case 10019: {Print("Нет достаточных денежных средств для выполнения запроса");res=false;}break;
      case 10020: {Print("Цены изменились");}break;
      case 10021: {Print("Отсутствуют котировки для обработки запроса");}break;
      case 10022: {Print("Неверная дата истечения ордера в запросе");res=false;}break;
      case 10023: {Print("Состояние ордера изменилось");}break;
      case 10024: {Print("Слишком частые запросы");res=false;}break;
      case 10025: {Print("В запросе нет изменений");res=false;}break;
      case 10026: {Print("Автотрейдинг запрещен сервером");res=false;}break;
      case 10027: {Print("Автотрейдинг запрещен клиентским терминалом");res=false;}break;
      case 10028: {Print("Запрос заблокирован для обработки");res=false;}break;
      case 10029: {Print("Ордер или позиция заморожены");res=false;}break;
      case 10030: {Print("Указан неподдерживаемый тип исполнения ордера по остатку");res=false;}break;
      case 10031: {Print("Нет соединения с торговым сервером");}break;
      case 10032: {Print("Операция разрешена только для реальных счетов");res=false;}break;
      case 10033: {Print("Достигнут лимит на количество отложенных ордеров");res=false;}break;
      case 10034: {Print("Достигнут лимит на объем ордеров и позиций для данного символа");res=false;}break;
      default:    Print("Ошибка № - ",result.retcode);
     }
  }
 

El EA se ha optimizado en el intervalo AB. Arriba hay una ejecución con estos parámetros en el intervalo AD. No entiendo qué pasa en el punto C.

No puedo entender que el Asesor Experto no esté optimizado prácticamente en el intervalo de CD. Tal vez haya un cambio en algunas normas comerciales después de 25.10.2010 (punto C) o algo más?

 
sultanm:

El EA se ha optimizado en el intervalo AB. Arriba hay una ejecución con estos parámetros en el intervalo AD. No entiendo qué pasa en el punto C.

Mientras que el Asesor Experto prácticamente no está optimizado en el intervalo de CD. Tal vez haya un cambio en algunas de las normas de comercio después de 25.10.2010 (punto C) o algo más?

¿Cuál es el tamaño medio de las operaciones de beneficio del Asesor Experto? Algo me dice que es menos de 10 pips.

El problema está probablemente en los datos históricos: o están más peinados (filtrados), o simplemente son más correctos (por ejemplo, contienen los diferenciales correctos).

¿Qué es el servidor?

Razón de la queja: