Discusión sobre el artículo "LifeHack para tráders: preparando "comida rápida" a partir de indicadores"
Genial...
El artículo es un pequeño extracto de otro. No se ha hecho nada para que funcione eficientemente. No hay almacenamiento en caché de indicadores y series temporales. No High[i], Low[i], etc. Sin iCustom.
Era de esperar ver algo completamente diferente. Por otra parte, ¿cuál es el punto de la comida rápida en Asesores Expertos, si ni siquiera está en las fuentes de todos modos?
for(int i=PositionsTotal()-1;i>=0;i--) if(m_position.SelectByIndex(i)) // selecciona la posición por índice para acceder posteriormente a sus propiedades if(m_position.Symbol()==m_symbol.Name()) { //--- se abre una posición larga if(m_position.PositionType()==POSITION_TYPE_BUY) { //--- ¿debería cerrarse? if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious && MacdCurrent>(MACDCloseLevel*m_adjusted_point)) { //--- cerrar posición y salir if(!m_trade.PositionClose(m_position.Ticket())) Print("PositionClose error ",m_trade.ResultRetcodeDescription()); return; } //--- comprobar trailing stop if(TrailingStop>0) { if(m_position.PriceCurrent()-m_position.PriceOpen()>m_adjusted_point*TrailingStop) { if(m_position.StopLoss()<m_symbol.Bid()-m_adjusted_point*TrailingStop) { //--- modificar posición y salir if(!m_trade.PositionModify(m_position.Ticket(), m_symbol.NormalizePrice(m_position.PriceCurrent()-m_adjusted_point*TrailingStop), m_position.TakeProfit())) Print("PositionModify error ",m_trade.ResultRetcodeDescription()); return; } } } } if(m_position.PositionType()==POSITION_TYPE_SELL) { //--- ¿debería cerrarse? if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*m_adjusted_point)) { //--- cerrar posición y salir if(!m_trade.PositionClose(m_position.Ticket())) Print("PositionClose error ",m_trade.ResultRetcodeDescription()); return; } //--- comprobar trailing stop if(TrailingStop>0) { if((m_position.PriceOpen()-m_position.PriceCurrent())>(m_adjusted_point*TrailingStop)) { if((m_position.StopLoss()>(m_symbol.Ask()+m_adjusted_point*TrailingStop)) || (m_position.StopLoss()==0.0)) { //--- modificar posición y salir if(!m_trade.PositionModify(m_position.Ticket(), m_symbol.NormalizePrice(m_symbol.Ask()+m_adjusted_point*TrailingStop), m_position.TakeProfit())) Print("PositionModify error ",m_trade.ResultRetcodeDescription()); return; } } } } }
- 2010.05.11
- Sergey Pavlov
- www.mql5.com
El artículo es un pequeño extracto de otro. No se ha hecho nada para que funcione eficientemente. No hay almacenamiento en caché de indicadores y series temporales. No High[i], Low[i], etc. Sin iCustom.
Era de esperar ver algo completamente diferente. Por otra parte, ¿cuál es el punto de comida rápida en Asesores Expertos, si ni siquiera huele en las fuentes de todos modos?
He aquí un ejemplo de un típico MQL4-ca - sin leer o mirar el código, usted va directamente al podio con banderas :) .
He aquí un ejemplo de un típico MQL4-ca - sin leer, sin mirar el código, directamente al podio con banderas :) .
Antes de comentar, he leído no sólo el texto del artículo, sino también todas las fuentes adjuntas (incluyendo el análisis de IndicatorsMQL4.mqh VS IndicatorsMQL5.mqh).
Antes de comentar, usted ha leído no sólo el texto del artículo, sino también todas las fuentes adjuntas (incluyendo el análisis de IndicatorsMQL4.mqh VS IndicatorsMQL5.mqh).
Usted debe haber mirado a través de (perdido) el archivo MQL5\Include\SimpleCall\Series.mqh.
Sobre el almacenamiento en caché - estas son sus conjeturas personales (expectativas).
Este articulo no pretende engañar a los usuarios de MQL4 con "conecta mi archivo y podras seguir trabajando sin pensar al estilo de MQL4", muestra como transferir el antiguo enfoque en el direccionamiento de indicadores a MQL5.
Debes haber pasado por alto el archivo MQL5\Include\SimpleCall\Series.mqh.
Léelo detenidamente. ¿Dónde está High[i], etc.?
Sobre el almacenamiento en caché - estas son sus conjeturas personales (expectativas).
Este artículo no pretende engañar a los usuarios de MQL4 con "enchufe mi archivo y puede seguir trabajando sin pensar en el estilo de MQL4", muestra cómo transferir el viejo enfoque en el tratamiento de los indicadores a MQL5.
¿Dónde está iCustom? Usted irreflexivamente casi copiado y pegado una parte de otro artículo y consiguió un fracaso en el rendimiento. De hecho, engañando a los usuarios que este es el coste del estilo MQL4, no tu implementación.
Aquí tienes medidas de rendimiento que demuestran que MQL4-style no es inferior a MQL5 en algunas cuestiones. Podrías hacer lo mismo con los indicadores.
Aquí tienes una de las realizaciones de series temporales. Puedes ver que el autor ha hecho un esfuerzo, enfatizando el rendimiento y alejándose de MQL4-style (puedes refinar la idea si quieres).
- votos: 25
- 2017.05.25
- nicholishen
- www.mql5.com
Léelo con atención. ¿Dónde está High[i], etc.?
¿Dónde está iCustom? Has copiado y pegado casi irreflexivamente una parte de otro artículo y has conseguido un fallo en el rendimiento. De hecho, engañando a los usuarios de que este es el coste del estilo MQL4, no tu implementación.
Aquí tienes medidas de rendimiento que demuestran que MQL4-style no es inferior a MQL5 en algunas cuestiones. Podrías hacer lo mismo con los indicadores.
Aquí tienes una de las realizaciones de series temporales. Puedes ver que el autor ha intentado enfatizar el rendimiento y se ha alejado ligeramente (es más conveniente para él) de MQL4-style (puedes refinar la idea si quieres).
Para acostumbrarse más rápidamente a MQL5, sólo se han dejado las funciones iXXXX de series, ya que tienen parámetros más completos (símbolo, timeframe, shift), que sustituirán fácilmente a las más especializadas High[], etc. El objetivo no es que el usuario siga utilizando MQL4 sin pensar, sino que empiece a reescribir poco a poco su código MQL4.
iCustom ni siquiera estaba en los planes - sólo se consideraron los indicadores estándar.
Sobre el almacenamiento en caché - esto definitivamente no está en el artículo para el público en general.
Añadido: por cierto, los comentarios de los usuarios aclararán si High[] y funciones similares son necesarias o si podemos prescindir de las series iXXXX.
El objetivo no es que el usuario siga usando MQL4 sin pensar, sino que empiece a reescribir poco a poco su código MQL4.
El estilo MQL4 es puro MQL5. No es peor que SB. No luches con molinos de viento en tu imaginación. Usted no lucha con el StandardLibrary-Style.
iCustom ni siquiera estaba en los planes - sólo se consideraron los indicadores estándar.
Sobre el almacenamiento en caché - definitivamente no está en el artículo para el público en general.
En MT4 vs MT5 temas relativos a los indicadores, los indicadores estándar fueron los menos discutidos. Casi todo el mundo hablaba de los personalizados. Los indicadores estándar fueron escritos hace décadas y son irrevocablemente anticuados. Trabajar en MQL5 avanzado con indicadores antiguos parece extraño.
Caching no debería haber sido explicado en el artículo, pero debería haberse hecho, ya que ha tomado la objetividad de sus conclusiones en relación con MQL4-estilo.
Caída en la velocidad de las pruebas con acceso simultáneo a más de un indicador;
Añadido: por cierto, los comentarios de los usuarios mostrarán si High[] y funciones similares son necesarias o si se puede prescindir de la serie iXXXX.
Haga una encuesta y vea el resultado sin decir nada en forma de comentarios. Lo mismo se aplica incluso a cosas tan simples como las variables Oferta/Demanda.
El artículo debería llamarse "cómo no se puede escribir código tratando de guardar la representación MQL4".
Horror duro con manijas filtradas (¿por qué cerrar la manija del indicador?) y una sobrecarga increíble (tratando de recrear el indicador, cayendo dentro del gestor de indicadores). Y bastante gente lo copiará sin mirar y sin entender.
Además, ineficiente extracción de 1 valor del indicador.
He leído el artículo por completo, mirado a través de los códigos bastante.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado LifeHack para tráders: preparando "comida rápida" a partir de indicadores:
Si usted se ha decidido a dar el salto a MQL5 solo ahora, entonces este artículo le resultará muy útil: por una parte, el acceso a los datos de los indicadores y a las series se ha ejecutado en el estilo MQL4, al que usted ya está acostumbrado, y por otro, toda la implementación se ha escrito en MQL5 con la misma sencillez. Todas las funciones son totalmente comprensibles y se adecuan perfectamente a la depuración paso a paso.
"Comment" lo hemos introducido exclusivamente para la comprobación. Podemos coprobar el funcionamiento en el simulador si iniciamos "MACD MQL4 style EA short.mq5" en el modo visual y colocamos el cursor en la barra con el índice #1:
Fig. 1 "MACD MQL4 style EA short.mh5" in tester
Autor: Vladimir Karputov