Errores, fallos, preguntas - página 1015

 
Andrew1469:

Entonces, ¿dónde puedo encontrar un CFD para Metatrader 5?

Estoy tratando de entrar en los números, pero estoy un poco obstaculizado por la falta de claridad en la documentación, por ejemplo, las tablas de enum no enumeran los números correspondientes. He comprobado por experiencia que SYMBOL_CALC_MODE_FOREX es 0, pero 33 y 34 no se identifican en la respuesta del servidor de apertura de ninguna manera.

En cuanto a los swaps, ¿entiendo correctamente que PositionGetDouble(POSITION_SWAP) e HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) dan realmente el swap acumulado en la moneda del depósito, independientemente de cómo se acredite?

Welltrade, el swap que se refleja en el terminal para la posición por el símbolo PositionGetDouble(POSITION_SWAP), HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) acumulado por el historial de la operación. Existe una dependencia y está determinada por las condiciones comerciales.

Utiliza la comparación en la construcción del if.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
zfs:

welltrade, ese swap que se refleja en el terminal por posición mediante PositionGetDouble(POSITION_SWAP), HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) acumulado por el historial de operaciones. Existe una dependencia y está determinada por las condiciones comerciales.

Utiliza la comparación en la construcción del if.

Gracias.
 

Por favor, avisa.
Hay un código de Asesor Experto:

string symbol="GBPUSD";
//+------------------------------------------------------------------+
void OnInit()
{
   long chartid=ChartOpen(symbol,_Period);
   int handle=iMACD(symbol,_Period,12,26,9,PRICE_CLOSE);
   ChartIndicatorAdd(chartid,1,handle);
   ChartRedraw(chartid);
}
//+------------------------------------------------------------------+

Si cierra la ventana recién abierta, todo se cierra con normalidad y rápidamente.

Modifica el código:

string symbol="GBPUSD";
//+------------------------------------------------------------------+
void OnInit()
{
   long chartid=ChartOpen(symbol,_Period);
   int handle=iCustom(symbol,_Period,"Examples\\MACD",12,26,9,PRICE_CLOSE);
   ChartIndicatorAdd(chartid,1,handle);
   ChartRedraw(chartid);
}
//+------------------------------------------------------------------+

Y al cerrar la ventana, el terminal se cuelga durante un segundo más o menos.

¿Por qué se cuelga iCustom?

 

Tengo una pregunta. Sobre la organización de la optimización en el probador de estrategias. ¿Existen disposiciones para guardar los resultados del trabajo de optimización, de modo que pueda reanudarlo más tarde? En caso de que la optimización lleve mucho tiempo, más de un día.

 
Stasikusssss:

Tengo una pregunta. Sobre la organización de la optimización en el probador de estrategias. ¿Existen disposiciones para guardar los resultados del trabajo de optimización, de modo que pueda reanudarlo más tarde? En caso de que la optimización lleve mucho tiempo, más de un día.

Si no me equivoco, esta función está implementada: los registros de prueba se guardan. Sin embargo, si se compila el Asesor Experto de nuevo después de la prueba, incluso si no hubo cambios, el registro se restablece
 
A100:

Cuando se utiliza un formulario paramétrico, no se permiten más de 8 parámetros, pero aquí parece que son 3.

Te falta un paréntesis de cierre en tu macro.
 
¿Puede alguien ayudarme con mi pregunta?
 
fyords:
¿Puede alguien ayudarme con mi pregunta?

Sólo para desarrolladores. En servicedesk.

// No me estás instando a hackear el terminal para averiguar cómo funciona iCustom() y cómo su llamada es diferente de otras... ?

;)

 
MetaDriver:
Sólo para desarrolladores. Service Desk.
Gracias. Pensé que sería más rápido aquí.
 
MetaDriver:
Te falta un paréntesis de cierre en tu macro.

Sí, gracias, cometí un error al simplificar el código fuente - ahora he reescrito el error de forma diferente

#define  F1( N, X ) ((X) + (N))
#define  F2( X, N ) F1( N, X )

#define  FF( N, X, F )    F( N, F( N, X ))
#define  FFF( N, X, F )   F( N, F( N, F( N, X )))
#define  FFFF( N, X, F )  F( N, F( N, F( N, F( N, X ))))
#define  FFFFF( N, X, F ) F( N, F( N, F( N, F( N, F( N, X )))))

void OnStart()
{
Print( FF( 1, 1, F2 ) ); // нормально
Print( FFF( 1, 1, F2 ) ); // нормально
Print( FFFF( 1, 1, F2 ) ); // ошибка компиляции
Print( FFFFF( 1, 1, F2 ) ); // ошибка компиляции
} 
He borrado el anterior para evitar confusiones. En el ejemplo se puede ver que se produce un error de compilación en un determinado nivel de anidamiento