Discusión sobre el artículo "Trabajando con las series temporales en la biblioteca DoEasy (Parte 58): Series temporales de los datos de búferes de indicadores"
Una guía con ejemplos de cómo resolver diversos problemas se hará una vez que la biblioteca esté totalmente terminada.
Por ahora, cada artículo tiene ejemplos de cómo utilizar la funcionalidad descrita en el artículo.
El autor debería recibir una medalla por el récord absoluto de número de partes de una biblioteca :)
El autor debería recibir una medalla por el récord absoluto de número de partes de una biblioteca :)
¿Qué te impide escribir y llevarte tú mismo esta medalla?
Esta serie de artículos trata sobre el proceso de creación de una biblioteca. No se trata de mejorar su primera implementación, sino de la creación consistente de funcionalidad. Los ejemplos de trabajo con el sistema de pedidos están, por supuesto, en los artículos dedicados a la creación de esta funcionalidad de la biblioteca.
El problema es que después de las mejoras posteriores y la creación coherente de la funcionalidad,
los ejemplos que aparentemente funcionaban en los artículos dedicados a esta funcionalidad ahora en las siguientes
versiones no funcionan, al menos para mí. Por eso os he pedido ayuda, porque pensaba que a vosotros
funcionarían.
El problema es que tras perfeccionarla y crear una funcionalidad coherente,
los ejemplos que aparentemente funcionaban antes en los artículos dedicados a esta funcionalidad están ahora en los siguientes
versiones no funcionan, al menos para mí. Por eso os pedí ayuda, porque pensaba que teníais
funcionaran.
Naturalmente, la biblioteca se amplía, las cosas cambian. Pero los principios básicos siguen siendo los mismos. Los ejemplos muestran la lógica, no un plan de acción claro.
En la función TestDoEasyPart56 void OnInitDoEasy() al final, inserté este código para
obtener una colección de órdenes históricas desde la fecha D'2020.12.11 10:00' hasta la actual. Y no obtuve ni una sola
órdenes no produjo este código.
CArrayObj* list_positions=engine.GetListHistoryOrders();
// list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_SYMBOL,Symbol(),EQUAL);
list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_TIME_CLOSE,D'2020.12.11 10:00',MORE);
//--- Выбираем позиции с прибылью болше нуля
list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_PROFIT_FULL,0,MORE);
if(list_positions!=NULL)
{Print("OK1");
//--- Сортируем список по прибыли
//list_positions.Sort(SORT_BY_ORDER_PROFIT);
list_positions.Total();
Print(list_positions.Total());// здесь получаем 0
//--- Получаем индекс позиции с наибольшей прибылью
int index=CSelect::FindOrderMax(list_positions,ORDER_PROP_PROFIT);
if(index>WRONG_VALUE)
{Print("index= ",index);
COrder* position=list_positions.At(index);
if(position!=NULL)
{
//--- Получаем тикет позиции с наибольшей прибылью и закрываем позицию по тикету
Print("OK");
Print(engine.GetListDeals());
}
}
} En el lugar donde imprimo Print(list_positions.Total()); obtengo "0".
- www.metatrader5.com
- 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 Trabajando con las series temporales en la biblioteca DoEasy (Parte 58): Series temporales de los datos de búferes de indicadores:
En conclusión del tema de trabajo con series temporales, vamos a organizar el almacenamiento, la búsqueda y la ordenación de los datos que se guardan en los búferes de indicadores. En el futuro, eso nos permitirá realizar el análisis a base de los valores de los indicadores que se crean a base de la biblioteca en nuestros programas. El concepto general de todas las clases de colección de la biblioteca permite encontrar fácilmente los datos necesarios en la colección correspondiente, y por tanto, lo mismo también será posible en la clase que vamos a crear hoy.
Compilamos y ejecutamos el asesor en el gráfico, especificando en sus ajustes el uso solamente del símbolo y marco temporal actuales. Los datos de la primera barra y de la barra cero (actual) de todos los indicadores creados se visualizarán en los comentarios en el gráfico:
Para que se vea de forma más clara, en el gráfico se muestran los mismos indicadores con las mismas configuraciones: los datos de indicadores en los comentarios en el gráfico y en la ventana de datos (Ctrl+D) coinciden, y los valores en la barra actual se actualizan.
Autor: Artyom Trishkin