MT5 y la velocidad en acción - página 72

 
Andrei Trukhanovich:

el más incomprendido aquí eres tú, no desordenes el hilo.

Buena suerte en sus inútiles intentos de obtener resultados paralelos en un modelo de ejecución síncrono ))

 

Сравнение функций обычного хостинга и форексного MetaTrader VPS

#
Características y opciones
Alojamiento estándar
MetaTrader Forex VPS
1
Ping mínimo al servidor intermediario
+
+
2
Latencia a nivel de servidor debido a la memoria y la CPU

No
3
Recursos restantes para las plataformas MetaTrader*.
20 %
99 %
4
Asignación flexible de recursos "a la carta
No

5
Número de núcleos de CPU dedicados por plataforma
1
No limitado
6
Volumen de RAM asignado
1 GB
Hasta 3 GB
7
Difícil de instalar y gestionar
Relativamente alto
Mínimo
8
Activaciones de productos comprados en el Mercado
1 quemaduras de activación
No se quema

¿En este VPS los cachés de CopyTicks se borran inmediatamente? 3 Gb no es suficiente - juzgo por la carga en la máquina de casa, si la Terminal se recarga y una docena de EAs a la vez va a tomar la historia de las garrapatas.

¿Funcionan ChartSaveTemplate y Apply en VPS? En general, propongo dar una máquina de este tipo para las pruebas de esfuerzo.

 
fxsaber:

"Alojamiento normal": ¿con o sin shell gráfico (Server Core)?

 
Aleksey Nikolayev:

"Alojamiento normal": ¿con o sin shell gráfico (Server Core)?

De aquí se extrajo la tabla.

Лучшее VPS-решение для торговли на Форекс – VPS для MetaTrader 4/5
Лучшее VPS-решение для торговли на Форекс – VPS для MetaTrader 4/5
  • www.mql5.com
Универсальными средствами очень сложно добиться рекордных показателей. Обычным VPS-решением очень сложно получить по-настоящему быстрое исполнение. И мы покажем вам почему. Инфраструктура обычных VPS-решений Хостинг-провайдеры берут достаточно мощный сервер и запускают на нем много виртуальных операционных систем. Скажем, имеется машина с...
 
fxsaber:
Los puntos 4, 5, 6 son para el VPS más barato.
Aunque admito que MT VPS es mejor si el precio es correcto y hay requisitos suficientemente altos. Sobre todo porque en los terminales no hay extras innecesarios.
 


Este es todo el problema, los manejadores se ejecutan estúpidamente en sincronía, es decir, en modo de bloqueo.
Haz que no se bloqueen.


//+------------------------------------------------------------------+
//|                                                    TestBlock.mq5 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{

   EventSetTimer(1);
   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   Comment("");
   EventKillTimer();

}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   int count = 0;
   
   while(!_StopFlag)
   {
      Comment((string)count++);
      ChartRedraw();
      Sleep(100);      
   }
   
}

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
{
   Print("Остальные обработчики тупо заблокированы");

}

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{



}
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
{



}
//+------------------------------------------------------------------+
 
Roman:


Este es todo el problema, los manejadores se ejecutan estúpidamente en sincronía, es decir, en modo de bloqueo.
Haz que no se bloqueen.

¿Aprendiste algún arte popular antiguo, tu salterio no suena, o golpeas cucharas aquí? )))

Pero intentaré hablar en su antiguo dialecto:

si escribes en WinForms de la misma manera el manejador buttonClick(object sender, EventArgs e)

¿Podrá procesar los clics en otros elementos de WinForms?

Con tu visión de cómo están estructurados los modelos basados en eventos, definitivamente deberías escribir una queja a Microsoft primero, diciendo que no pusieron toda la arquitectura correctamente: "Dame un hilo diferente para cada batea, haré clic en las bateas con mis ratones"?


He intentado ser muy correcto, aunque sólo sería posible explicarlo con claras palabrotas

 
Igor Makanu:

¿Has estado aprendiendo algún tipo de arte popular antiguo, tu salterio no suena, o estás golpeando cucharas aquí? )))

Pero intentaré hablar en su antiguo dialecto:

si escribes en WinForms de la misma manera el manejador buttonClick(object sender, EventArgs e)

¿Podrá procesar los clics en otros elementos de WinForms?

Con tu visión de cómo están estructurados los modelos basados en eventos, definitivamente deberías escribir una queja a Microsoft primero, diciendo que no pusieron toda la arquitectura correctamente: "Dame un hilo diferente para cada batea, haré clic en las bateas con mis ratones"?


Intentaba ser muy amable, pero sólo sería posible explicarlo con claras palabrotas.

Ve y aprende programación asíncrona, ya estás harto.

 
Roman:


Este es todo el problema, los manejadores se ejecutan estúpidamente en sincronía, es decir, en modo de bloqueo.
Haz que no se bloqueen.

Por favor, dime un ejemplo en el que se necesiten eventos asíncronos y no sea posible hacerlo ahora por medios estándar.

 
Roman:

Vete a aprender programación asíncrona, que te estás hartando.

¿Por qué? Entiendo muy bien cómo funcionan las aplicaciones en Win.

Será mejor que te aprendas la historia de Python, ¿de dónde y cuándo surgieron estas bien llamadas muletas asíncronas? - ¿entiendes que la arquitectura de python no permitía originalmente estas soluciones?

Estoy de acuerdo en que gracias a estas cosas asíncronas se puede utilizarPython para soluciones cliente-servidor, quizás sea genial que el frontend del usuario pueda ahora utilizar los recursos de un servidor multiprocesador,

¿pero por qué un usuario en una aplicación de escritorio tendría un terminal en Win? - Pues bien, si consigues más hilos, aunque puedas sincronizarlos con algunas funciones await, quedará un fondo común de mensajes/eventos


Estoy harto, te estoy aburriendo con todo este foro, solo abarrotas los hilos con tus fantasías, no es mi problema