MT5 e velocidade em ação - página 72

 
Andrei Trukhanovich:

o mais mal-entendido aqui é você. não desarrume o fio.

Boa sorte em suas tentativas inúteis de obter resultados paralelos em um modelo de execução síncrona ))

 

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

#
Características e opções
Hospedagem padrão
MetaTrader Forex VPS
1
Mínimo ping para o servidor do corretor
+
+
2
Latência de nível de servidor devido à memória e CPU
Sim
Não
3
Recursos restantes para as plataformas MetaTrader *
20 %
99 %
4
Alocação flexível de recursos 'sob demanda'.
Não
Sim
5
Número de núcleos de CPU dedicados por plataforma
1
Não limitado
6
Volume de RAM alocado
1 GB
Até 3GB
7
Difícil de montar e gerenciar
Relativamente alto
Mínimo
8
Ativação de produtos comprados no Mercado
1 queimadura de ativação
Não queima

Neste VPS, as caches do CopyTicks estão limpas imediatamente? 3 Gb não é suficiente - eu julgo por carga na máquina doméstica, se o Terminal for recarregado e uma dúzia de EAs de uma só vez irá levar o histórico de carrapatos.

ChartSaveTemplate and Apply work on VPS? Em geral, proponho dar uma máquina desse tipo para testes de estresse.

 
fxsaber:

"Hospedagem normal" - com ou sem shell gráfica (Server Core)?

 
Aleksey Nikolayev:

"Hospedagem normal" - com ou sem shell gráfica (Server Core)?

Foiaqui que a mesa foi retirada.

Лучшее VPS-решение для торговли на Форекс – VPS для MetaTrader 4/5
Лучшее VPS-решение для торговли на Форекс – VPS для MetaTrader 4/5
  • www.mql5.com
Универсальными средствами очень сложно добиться рекордных показателей. Обычным VPS-решением очень сложно получить по-настоящему быстрое исполнение. И мы покажем вам почему. Инфраструктура обычных VPS-решений Хостинг-провайдеры берут достаточно мощный сервер и запускают на нем много виртуальных операционных систем. Скажем, имеется машина с...
 
fxsaber:
Os pontos 4, 5, 6 são para os VPS mais baratos.
Embora eu admita que o MT VPS é melhor se o preço estiver certo e houver requisitos suficientemente altos. Especialmente porque os terminais não têm extras desnecessários.
 


Este é todo o problema, os manipuladores são estupidamente executados em sincronia, ou seja, em modo de bloqueio.
Torná-los não-bloqueantes!


//+------------------------------------------------------------------+
//|                                                    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 é todo o problema, os manipuladores são estupidamente executados em sincronia, ou seja, em modo de bloqueio.
Torná-los não-bloqueantes!

Você aprendeu algumas artes populares antigas, seu saltério não joga, ou você bate colheres aqui? )))

Mas vou tentar falar em seu antigo dialeto:

se você escrever no WinForms da mesma forma que o botãoClique no manipulador (remetente do objeto, EventArgs e)

Você será capaz de processar cliques em outros elementos WinForms?

Com sua visão de como os modelos orientados por eventos são estruturados, você deve definitivamente escrever uma reclamação para a Microsoft primeiro, dizendo que eles não colocaram a arquitetura inteira no lugar corretamente: "Dê-me um fio diferente para cada batton - eu clicarei nos battons com meus ratos"?


Tentei ser muito correto, embora só fosse possível explicá-lo com palavrões claros.

 
Igor Makanu:

Você tem aprendido algum tipo de arte popular antiga, seu saltério não joga, ou você bate colheres aqui? )))

Mas vou tentar falar em seu antigo dialeto:

se você escrever no WinForms da mesma forma que o botãoClique no manipulador (remetente do objeto, EventArgs e)

Você será capaz de processar cliques em outros elementos WinForms?

Com sua visão de como os modelos orientados por eventos são estruturados, você deve definitivamente escrever uma reclamação para a Microsoft primeiro, dizendo que eles não colocaram toda a arquitetura no lugar corretamente: "Dê-me um fio diferente para cada batton - eu clicarei nos battons com meus ratos"?


Eu estava tentando ser muito gentil, mas só seria possível explicá-lo com palavras claras de maldição.

Vá e aprenda programação assíncrona, já estão fartos.

 
Roman:


Este é todo o problema, os manipuladores são estupidamente executados em sincronia, ou seja, em modo de bloqueio.
Torná-los não-bloqueantes!

Por favor, diga-me um exemplo onde eventos assíncronos são necessários e não é possível fazê-lo agora por meios padrão.

 
Roman:

Vá e aprenda programação assíncrona, você está ficando farto.

Por quê? Entendo muito bem como funcionam as aplicações em Win.

É melhor você aprender a história de Python, de onde e quando vieram essas bem denominadas muletas assíncronas? - você entende que a arquitetura python não permitia originalmente estas soluções?

Concordo que graças a estas coisas assíncronas você pode usaro Python para soluções cliente-servidor, talvez seja legal que o frontend do usuário possa agora usar os recursos de um servidor multi-processador,

mas por que um usuário em uma aplicação desktop teria um terminal em Win? - Bem, se você receber mais tópicos, mesmo que possa sincronizá-los com algumas funções de espera, um pool comum de mensagens/eventos permanecerá


Estou farto disso, estou aborrecendo você com todo esse fórum, você só desarrumou os fios com suas fantasias, não é problema meu