[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 408

 
Zhunko:

É difícil dizer sobre o alocado. Você teria que perguntar aos Metakwots.

Imediatamente tomei a palavra de Victor, mas... para dissipar dúvidas, escrevi para as metaquotes.

Zhunko:

Tive minha conta real bloqueada na MRC por causa da freqüente abertura e atualização de gráficos. Esta não é uma função MQL4, mas um visualizador de gráficos interno

O que você quer dizer com " abrir frequentemente um gráfico "? Entendo o que você quer dizer com a atualização das variáveis do ambiente de mercado, mas não entendo o que dizer com a abertura e atualização de um gráfico...

Zhunko:

Talvez, por exemplo, o MarketInfo() acesse o servidor ou receba apenas parte dos dados da visão geral do mercado.

Eu escrevi para apoiar, escreverei de volta aqui assim que eles responderem!
 
Andrew245:

Adivinhei isso, mas não consigo encontrá-los, esses parâmetros de parada de perda
https://docs.mql4.com/ru/trading/OrderSend
 

Uma vez eu fiz uma pergunta sobre o uso de bibliotecas. Mas eu fiquei um pouco confuso.

Pelo que entendi, a biblioteca é um conjunto de funções com código, que não me lembro exatamente como é chamada, "fechada", ou seja, significa que no processo o código da função da biblioteca não é afetado por nada de fora.

É lógico que quando todas as funções freqüentemente utilizadas e não apenas as funções são transferidas para fora do EA, é muito conveniente. Mas então, por que precisamos dos ludes? Afinal, as bibliotecas funcionam sem elas. Então, não são necessárias inclusões? Quem o utiliza?

 
pako:

10% ao ano é uma coisa boa ou uma coisa ruim?

Bem, eles sempre dizem que o principal é manter a curva de equilíbrio plana, e você pode aumentar seus lucros com MM. Ou não é assim?
 
Dmido:

Bem, eles sempre dizem que o principal é manter a curva de equilíbrio plana, e para aumentar os lucros você pode usar MM. Ou não é assim?


Tente aumentar

se o kolyan não vier.

 
TarasBY:
O dia atual começa no início da barra D1 atual (iTime (NULL, PERÍODO_D1, 0)), mas você não está procurando maneiras fáceis...! :)))


não funciona.

iTime (NULL, PERÍODO_D1, 0) imprime 137082240

e inserida na função imprime todo o histórico de negócios disponíveis, mas não para hoje.....

GetProfitFromDateInCurrency(NULL,-1,-1,(iTime (NULL, PERIOD_D1, 0))); 
видимо правильнее будет GetProfitFromDateInCurrency(NULL,-1,-1,(TimeCurrent()-iTime (NULL, PERIOD_D1, 0)));   НО И ТУТ РЕЗУЛЬТАТ ВСЕ СДЕЛКИ, ВМЕСТО СЕГОДНЯШНИХ
 
lottamer:


não funciona.

iTime (NULL, PERÍODO_D1, 0) imprime 137082240

e inserida na função imprime todo o histórico de transações disponíveis, não as transações de hoje.....

Se você utiliza GetProfitFromDateInCurrency() (original - isto é IMPORTANTE: não sei o que você deve ter em sua versão), então a função deve ser chamada desta forma:
GetProfitFromDateInCurrency (Symbol(), -1, -1, iTime (NULL, PERIOD_D1, 0));

e a função devolverá lucros sobre os pedidos fechados desde o início do dia atual.

E TODOS os disparates do código são capturados via Print().

 
hoz:
O que você quer dizer com "abertura frequente de gráfico"? Eu entendo sobre atualização de variáveis do ambiente de mercado, mas não entendo sobre abertura e atualização de gráfico...
Quando você abre e atualiza um gráfico, há solicitações de novos dados no servidor. Algumas empresas de corretagem gananciosas preferem não gastar seu dinheiro em servidores mais poderosos e canais mais amplos, mas espalhá-lo entre seus bolsos. Eles têm que limitar o número de solicitações do terminal para que um servidor fraco não fique "pendurado". A MRC tem apenas 2000 pedidos por dia. Isto é 10 vezes menor que o número de seus instrumentos multiplicado pelo número de TFs, sem contar os pedidos comerciais.
hoz:

Uma vez eu fiz uma pergunta sobre o uso de bibliotecas. Mas eu fiquei um pouco confuso.

Pelo que entendi, a biblioteca é um conjunto de funções com código, que não me lembro exatamente como é chamada, "fechada", ou seja, significa que no processo o código da função da biblioteca não é afetado por nada de fora.

É lógico que quando todas as funções freqüentemente utilizadas e não apenas as funções são transferidas para fora do EA, é muito conveniente. Mas então, por que precisamos dos ludes? Afinal, as bibliotecas funcionam sem elas. Então, não são necessárias inclusões? Quem os utiliza?

As inclusões na MQL4 ajudam a organizar o código. Por exemplo, é assim que se parece um indicador para 3000 linhas em meu artigo:

#property indicator_separate_window

#include <stdlib.mqh>
#include <stderror.mqh>
#include <ServicesMT4.mqh>
#include <Spectrum.mqh>
#include <TimeFrames.mqh>
#include <GeneralFunctions.mqh>
#include <DynamicArray2.mqh>
#include <SPECTRUM_IND_Macros.mq4>
#include <SPECTRUM_IND_Preset_Buffers.mq4>
#include <SPECTRUM_IND_Extern_Variable.mq4>
#include <SPECTRUM_IND_Global_Variable.mq4>
#include <SPECTRUM_IND_Functions_Project.mq4>

void init()
 {
  int    i = 0;
  string i_sName = StringSubstr(WindowExpertName(), 0, StringLen(WindowExpertName()) - 8);
  g_nCounterStart = 0;
  #include <SPECTRUM_IND_Check_Param.mq4>
  if (Postfix == "") g_sNameIndicator = i_sName + g_sPostfix;
  else g_sNameIndicator = i_sName + g_sPostfix + Postfix + " ";
  g_sNameObject = g_sNameIndicator + "Derivative ";
  g_sNameLine = g_sNameIndicator + "Line ";
  g_sNameSpectrum = g_sNameIndicator;
  IndicatorShortName(g_sNameIndicator);
  #include <SPECTRUM_IND_Extern_Variables_In_Array.mq4>
  #include <SPECTRUM_IND_Buffers.mq4>
  ServiceRefreshChart(WindowHandle(Symbol(), 0), 1000);
 }

void deinit()
 {
  ObjectsDeleteAll(g_nWindow);
  DeleteObject();
 }

void start()
 {
  if (g_bStop) return;
  #include <SPECTRUM_IND_Start_Variable.mq4>
  #include <SPECTRUM_IND_Start_Initialize.mq4>
  #include <SPECTRUM_IND_Optimization.mq4>
  #include <SPECTRUM_IND_Calc_Filters.mq4>
  #include <SPECTRUM_IND_Calc_Last_Derivative.mq4>
  #include <SPECTRUM_IND_Show_Lines.mq4>
  #include <SPECTRUM_IND_Show_Sum.mq4>
  g_nBegin = s_nBegin;
  g_nTemp_SizeChart = s_nSizeChart;
  g_tLastTime = iTime(NULL, g_nPeriod, 0);
  ArrayCopy(g_adTemp_PriceBeginBar, s_adPriceBeginBar);
 }
As 5 linhas de operações similares se acumulam, ou um algoritmo separado, ou alguns outros critérios do grupo e podem ser alocados em um arquivo separado. Ainda assim, é melhor olhar para códigos de até 200 linhas ao invés de 10000 linhas ao mesmo tempo. Você vai se cansar para afinar. Na MQL4, é melhor evitar chamadas de funções. Especialmente, em loops. Se possível, é melhor expor a função. O código funcionará muito mais rápido. As inclusões são de grande ajuda aqui.

Infelizmente, o compilador não permite utilizar uma inclusão mais de uma vez em um módulo. Esta é normalmente uma maneira de economizar em códigos repetitivos.

 
hoz:
Tomei imediatamente a palavra de Victor, mas... para dissipar dúvidas, escrevi para as metaquotes.
...

Victor está absolutamente e completamente certo. Essa solicitação ao servidor, que vem quando o gráfico é aberto, não é uma solicitação da função emuladora, mas de uma ação manual do usuário.

 
Integer:

Victor está absolutamente e completamente certo. A solicitação ao servidor, que vem quando o gráfico é aberto, não é uma solicitação de uma função emcool, mas de uma ação manual do usuário.

A solicitação da tabela é semelhante à solicitação de RefreshRates(). Não tenho dúvidas de que se trata do servidor. Dito isto, RefreshRates() não é uma função comercial.

Vou ter que perguntar aos Metakvots.

Razão: