Discusión sobre el artículo "Cómo escribir una profundidad de mercado de scalping usando como base la biblioteca CGraphic" - página 2

 
Konstantin Seredkin:

¿Puede decirme cómo encontrar el precio del volumen máximo en el vaso en su implementación? He encontrado el volumen en sí, todo está claro, pero ¿cómo encontrar el precio al que se encuentra esta densidad máxima.

Estoy interesado en la implementación del software? El escalador de precios se basa en la clase CMarketBook. Le permite obtener propiedades comunes incluyendo el precio del volumen máximo.
 
Vasiliy Sokolov:
¿Está interesado en una implementación de software? El scalper de precios se basa en la clase CMarketBook. Permite obtener propiedades comunes, entre ellas el precio del volumen máximo.

Ajá, en esta clase se encuentra el volumen máximo en sí, estoy interesado en cómo complementarlo que también determinaría el precio del volumen máximo encontrado.

El tema es simplemente interesante, por ejemplo, usted puede hacer un indicador, en el que habrá una variable Volumen = 1000, tan pronto como el más cercano al volumen de precios> = 1000 aparece en el cristal en el gráfico a este precio aparece una barra. Se pueden hacer un montón de cosas interesantes, me pregunto si es posible ampliar la clase funcional, veo que hay algunos datos que tu stack no utiliza, OI y valores máximos para la apertura de órdenes en ambas direcciones, etc. también es una cosa necesaria, pero el precio no es.... si lo añades te lo agradeceré o directamente, nunca he trabajado con datos de stack, pero aquí me encontré con tu tema y me interesé, además lo tienes todo tan convenientemente explicado.

 

Buenas noches, Vasily

Me interesó tanto el artículo que decidí registrarme y dejar mi comentario (#1).

Estoy intentando introducirme en el algo-trading, pero todavía me siento como un principiante.

He ejecutado el código adjunto en modo tester para familiarizarme con su funcionamiento. Pero por alguna razón, la apuesta no se muestra en su totalidad, a saber, el marco y la leyenda de la derecha se abre, pero el gráfico y los botones están ausentes. El probador funciona, no hay ninguna indicación de error en el registro. ¿Qué he hecho mal? Ayudadme a conectarme.

Gracias de antemano,

Alexander

 
AMK_robot:

Buenas noches, Vasily

Me interesó tanto el artículo que decidí registrarme y dejar mi comentario (#1).

Estoy intentando introducirme en el algo-trading, pero todavía me siento como un principiante.

He ejecutado el código adjunto en modo tester para familiarizarme con su funcionamiento. Pero por alguna razón, la apuesta no se muestra completa, es decir, se abre el marco y la leyenda de la derecha, pero falta el gráfico y los botones. El probador funciona, no hay ninguna indicación de error en el registro. ¿Qué he hecho mal? Ayúdenme a conectarme.

Gracias de antemano,

Alexander

Buenas tardes. Gracias por tu interés en el artículo y en nuestra comunidad. La respuesta a tu pregunta está escondida en él. El probador de estrategias no representa el historial de la apuesta, por lo que sólo podrá ejecutarla en un gráfico en el modo de tiempo real. Además, en el modo de prueba, los componentes gráficos se muestran con una funcionalidad limitada, por lo que no podrá visualizar la pila de precios en el probador de todos modos. Utilice el cristal de precios sólo en un gráfico. Además, el cristal de precios no se emite para todos los mercados, por lo que debe conectarse a la Bolsa de Moscú o utilizar una cuenta demo MetaQuotes.

 

Gracias Vasily por tu trabajo, hace un mes implemente tu clase en mis robots, por supuesto, no lo hice sin mejoras globales ya que faltaban algunos metodos, pero todo funciono y funciona.

Tengo una pregunta

Tu ejemplo

//+------------------------------------------------------------------+
//|MarketBook.mq5
//| Copyright 2017, MetaQuotes Software Corp.
//| https://www.mql5.com
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots 0
#include <MarketBook.mqh>

CMarketBook MarketBook.mqh
double fake_buffer[];
//+------------------------------------------------------------------+
//| Función de inicialización del indicador personalizada |
//+------------------------------------------------------------------+
int OnInit()
  {
   MarketBook.SetMarketBookSymbol(Symbol());
//--- asignación de búferes indicadores
   SetIndexBuffer(0,fake_buffer,INDICATOR_CALCULATIONS);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Evento de cambio de MarketBook|
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
{
   if(symbol != MarketBook.GetMarketBookSymbol())
      return;
   MarketBook.Refresh();
   ChartRedraw();
}

¿Cual es la forma correcta de inicializar el vaso?

Que variante es mas correcta, parece que funciona de las dos formas

void OnDeinit(const int reason)
 { 

//|----------- 
   if(!MarketBookRelease((string)m_book_market.SetMarketBookSymbol(Symbol())))
   {
   if(Debug){Print("Error MarketBookRelease ",m_symbol.Name());}}
//|-----------


//|----------- 
   if(!m_book_market.SetMarketBookSymbol(Symbol()))  
   {
   if(Debug){Print("Error MarketBookRelease ",m_symbol.Name());}}
//||-----------

 }
 
Konstantin Seredkin:

Gracias Vasily por tu duro trabajo, hace un mes implementé tu clase en mis robots, por supuesto no lo hice sin mejoras globales ya que faltaban algunos métodos, pero todo funcionó y funciona.

Tengo una pregunta

Tu ejemplo

Y cual es la forma correcta de inicializar la secadora

Que opción es más correcta, parece que funciona de las dos maneras

No lo entiendo. ¿Qué es esto?

CMarketBook MarketBook.mqh
 
Konstantin:

No lo entiendo, ¿qué es esto?

Alguna línea de código...
 
Konstantin Seredkin:
Alguna línea de código...

Me mostraste este código, por eso te pregunto qué es, porque la sintaxis no está clara.

//+------------------------------------------------------------------+
//|MarketBook.mq5
//| Copyright 2017, MetaQuotes Software Corp.
//| https://www.mql5.com
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots 0
#include <MarketBook.mqh>

CMarketBook MarketBook.mqh
double fake_buffer[];
//+------------------------------------------------------------------+
//| Función de inicialización del indicador personalizada |
//+------------------------------------------------------------------+
int OnInit()
  {
   MarketBook.SetMarketBookSymbol(Symbol());
//--- asignación de búferes indicadores
   SetIndexBuffer(0,fake_buffer,INDICATOR_CALCULATIONS);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Evento de cambio de MarketBook|
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
{
   if(symbol != MarketBook.GetMarketBookSymbol())
      return;
   MarketBook.Refresh();
   ChartRedraw();
}
 
Konstantin:

Me mostraste este código, por eso te pregunto qué es, porque la sintaxis no está clara.

¿Las palabras que escribí en mi pregunta no significan nada?

Tu ejemplo

Este código está publicado por el autor del tema en la descripción de la clase https://www.mql5.com/es/articles/3336.

Por lo tanto, esta pregunta no debe ser dirigida a mí por lo menos ...

Пишем скальперский стакан цен на основе графической библиотеки CGraphic
Пишем скальперский стакан цен на основе графической библиотеки CGraphic
  • 2017.06.23
  • Vasiliy Sokolov
  • www.mql5.com
Именно с этой, улучшенной и дополненной версией мы и начнем работать, чтобы постепенно превратить ее в скальперский стакан цен. Краткий обзор графической библиотеки CPanel Созданию пользовательских интерфейсов в MQL5 посвящено много статей. Среди них особенно выделяется серия Анатолия Кажарского "Графические интерфейсы", после которой сложно...
 

Debe ser copypasta. Ocurre. Lo más probable es que el autor escribiera este código parcialmente en el navegador.

En lugar de

CMarketBook MarketBook.mqh

escriba

CMarketBook MarketBook;