Deseos para MT5 - página 42

 
Lizar:
Tienes que resaltar el bloque y pulsar shift+tab
Gracias)
 

Añadir al tutorial en la sección

Guía de Referencia MQL5 / Indicadores Técnicos / Ejemplo específico de iMA después de la descripción:

precio_aplicado

[en] Precio a aplicar. Puede ser cualquiera de las constantes de precio ENUM_APPLIED_PRICE o el manejador de otro indicador.

¿Cómo se puede utilizar una manija de otro indicador? o ¿es posible promediar sólo los valores de los indicadores técnicos estándar? y si hay una necesidad de dibujar un indicador personalizado en indicator_separate_window y dibujar una media móvil de este indicador en la misma ventana,iMA() puede hacerlo? Tengo la vaga sospecha de que iMA() puede conseguir el resultado de iMAOnArray(), pero no tengo ni idea de cómo, quizá me equivoque

ZS: Tal vez quiero mucho de MT5, pero en MT4 la función incorporada iMAOnArray() no estaba presente ahora, no es difícil escribir una función de usuario para el cálculo de un promedio, pero me gustaría tener funciones estándar para trabajar con matrices, pasé más tiempo buscando información sobre iMAOnArray() de lo que me tomó escribir mi propia función

 
IgorM:

Añadir al tutorial en la sección

Guía de Referencia MQL5 / Indicadores Técnicos / Ejemplo específico de iMA después de la descripción:

¿Cómo se puede utilizar la manija de otro indicador? o ¿es posible promediar sólo los valores de los indicadores técnicos estándar? y si hay una necesidad de dibujar un indicador personalizado en indicator_separate_window y dibujar una media móvil para este indicador en la misma ventana,iMA() puede hacerlo? Tengo la vaga sospecha de que iMA () puede alcanzar a iMAOnArray() pero no tengo idea de cómo, tal vez me equivoque


Haga clic en el enlace y llegará a la sección de Constantes de precio con el ejemplo que aparece a continuación:

Si un indicador técnico utiliza datos de precios cuyo tipo se establece mediante la enumeración ENUM_APPLIED_PRICE, se puede especificar como serie de precios de entrada una manija de cualquier indicador (terminal incorporado o escrito por un usuario). En este caso, se utilizarán para los cálculos los valores del tampón del indicador cero. Esto le permite construir fácilmente los valores de un indicador sobre los valores de otro. El mango de un indicador personalizado se crea llamando a la función iCustom().

Ejemplo:

#propertyindicador_separar_ventana
#propertyindicator_buffers 2
#propertyindicator_plots 2
//--- parámetros de entrada
inputint RSIperiod=14;//periodo para el cálculo del RSI
inputint Smooth=8;// Periodo de suavización del RSI
inputENUM_MA_METHOD meth=MODE_SMMA;//método de suavizado
//---- trazar RSI
#propertyindicator_label1"RSI"
#propertyindicator_type1DRAW_LINE
#propertyindicator_color1Rojo
#property indicator_style1STYLE_SOLID
#propertyindicator_width1 1
//---- plot RSI_Smoothed
#property indicator_label2"RSI_Smoothed"
#property indicator_type2DRAW_LINE
#property indicator_color2Navy
#property indicator_style2STYLE_SOLID
#property indicator_width2 1
//--- topes indicadores
double RSIBuffer[];//aquí almacenaremos los valores RSI
double RSI_SmoothedBuffer[];// Los valores RSI suavizados se almacenarán aquí
int RSIhandle;// Manejador del indicador RSI
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
voidOnInit()
{
//--- mapeo de buffers indicadores
SetIndexBuffer(0,RSIBuffer,INDICATOR_DATA);
SetIndexBuffer(1,RSI_SmoothedBuffer,INDICATOR_DATA);
IndicatorSetString(INDICATOR_SHORTNAME,"iRSI");
IndicadorSetInteger(INDICATOR_DIGITS,2);
//---
RSIhandle=iRSI(NULL,0,RSIperiod,PRICE_CLOSE);
//---
}
//+------------------------------------------------------------------+
//| Función de iteración de los indicadores personalizados|
//+------------------------------------------------------------------+
intOnCalculate(constint rates_total,
constint prev_calculado,
constint begin,
constdouble&price[]
)

{
//--- poner a cero el valor del último error
ResetLastError();
//--- obtener los datos del indicador RSI en el array RSIBuffer[]
int copied=CopyBuffer(RSIhandle,0,0,rates_total,RSIBuffer);
if(copiado<=0)
{
Print("Fallo al copiar los valores del indicador RSI. Error = ",
GetLastError(),", copiado = ",copiado);
return(0);
}
//--- crear indicador de la media por valores del indicador RSI
int RSI_MA_handle=iMA(NULL,0,Smooth,0,meth,RSIhandle);
copied=CopyBuffer(RSI_MA_handle,0,0,rates_total,RSI_SmoothedBuffer);
if(copiado<=0)
{
Print("Fallo al copiar el indicador RSI suavizado. Error = ",
GetLastError(),",copiado =",copiado);
return(0);
}
//--- devuelve el valor de prev_calculado para la siguiente llamada
return(rates_total);
}


Sólo que no terminaste un párrafo.

 

Utilizo mucho el trailing stop estándar. Un par de peticiones al respecto.

1) Añade una opción para seleccionar "Trailing Stop Level" en el menú de columnas. Esto, según tengo entendido, no es difícil.

2) Añadir el valor de TS como una propiedad de posición con la posibilidad (a elección del usuario) de emitir/no emitir el nivel de TS para una posición concreta al terminal. Entiendo que es mucho más grave que el punto 1), y la implementación de TS completamente en el lado del servidor aumenta seriamente la carga en el servidor.

Para lo que personalmente me gustaría utilizar el punto 2):

- varios terminales están conectados a la misma cuenta (idealmente a través de diferentes servidores y proveedores, por ejemplo, en casa y en el trabajo);

- uno de los terminales abre manualmente una posición y fija el nivel de TS;

- cuando se establece el nivel de TS en otro terminal, el TS en el primer terminal no cambia, porque ahora el trailing stop se implementa en el lado del cliente. Esto es lo que me gustaría cambiar, si el cliente lo desea.

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

Haga clic en el enlace y accederá a la sección de Constantes de precio con un ejemplo a continuación:


Sólo que no terminaste un párrafo

En efecto, hay ejemplos, pero a menudo no se pueden encontrar intuitivamente, tal vez se podría hacer un enlace de "ejemplo" en esos casos - sería muy útil, IMHO por supuesto.
 
Rosh:

Pincha en el enlace y llegarás a la sección de Constantes de precio, donde abajo hay un ejemplo:


Sólo que no has leído un párrafo

Terminé el párrafo, pero el ejemplo sólo utiliza indicadores técnicos estándar, la pregunta es sobre los indicadores personalizados y la función iMAOnArray()

-Quiero ver si se pueden utilizar medias móviles para suavizar los datos del indicador personalizado

- Creo que sería útil tener enlaces a funciones f obsoletas, no hay que buscar por el foro.

Referencia MQL4 - Funciones obsoletas

 
xeon:
En efecto, hay ejemplos, pero a menudo no se pueden encontrar intuitivamente, tal vez se podría hacer un enlace de "ejemplo" en esos casos - sería muy útil, en mi opinión, por supuesto.
Tienes toda la razón, creo que estaría muy bien tener un enlace "EJEMPLO" en la esquina superior derecha de cada página, para no tener que buscar en todo el documento
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов - Документация по MQL5
 
IgorM:

He leído el párrafo, pero el ejemplo sólo utiliza indicadores técnicos estándar, la pregunta es sobre los indicadores personalizados y la función iMAOnArray()

-Quiero ver si las medias móviles se pueden utilizar para suavizar los datos de los indicadores personalizados


He dado más arriba :

Si un indicador técnico utiliza para sus cálculos datos de precios cuyo tipo está definido por la enumeración ENUM_APPLIED_PRICE, entonces se puede especificar como serie de precios de entrada cualquier tirador del indicador (incorporado al terminal oescrito por un usuario).

Lea también los artículos:

 

Si la comunidad está interesada, se podría considerar una modificación de la opción de prueba y optimización existente. Por ejemplo, necesito obtener datos de prueba/optimización no sobre un período de la historia, sino sobre varios períodos a la vez (digamos, para evaluar la uniformidad del rendimiento de un Asesor Experto). Por supuesto, podemos turnarnos en las pruebas/optimización de todos los periodos. Pero si un periodo tarda de 0,5 a 1 hora, y usted necesita 10, es mucho más conveniente ejecutar los 10 periodos a la vez (por ejemplo, durante la noche) y obtener todos los resultados más tarde. Actualmente especifico "Fecha desde", "Fecha hasta" como parámetro de entrada en el Asesor Experto y especifico el periodo total de optimización en la pestaña externa del probador (Fechas desde/hasta es uno de los parámetros de optimización). Pero en este caso el tiempo de optimización de cada ejecución es en realidad igual al tiempo del periodo de optimización general (en la ficha del probador - los ticks siempre se mueven - lo comprobé virtualmente). Si fuera posible especificar 2 periodos en el probador a la vez: un periodo general grande y uno pequeño dentro de él, el problema estaría resuelto.

 

Existe la función ChartIndicatorAdd() para añadir un indicador al gráfico. Por favor, haga la función de eliminar el indicador del gráfico. Es como con la bomba nuclear: la bomba está inventada, pero no hay antibombas.

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5