[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 135

 
MaxV42 >> :

Você pode me dar uma dica, por favor?

Eu tenho um terminal funcionando em casa e um EA está negociando no gráfico.

Se eu executar o terminal em outro PC (no trabalho) e definir a mesma EA com os mesmos parâmetros no gráfico

1. Minha conexão com o servidor em meu PC de casa será interrompida?

2. Se a conexão com o servidor do meu computador de casa estiver quebrada, o Expert Advisor "pegará" as ordens abertas no meu computador de trabalho?

Obrigado.

1. não

Mas você pode ter aberturas duplas.

 
Um conselheiro em seu caso não é diferente de um ser humano. Digamos que duas pessoas estão negociando em computadores diferentes e no mesmo terminal. Ambos fazem negócios e não dependem um do outro, como dois EAs em computadores diferentes. Eles não se vêem, não vêem o comércio do outro e agem de acordo com sua situação. Se um computador perder a conexão, apenas um deles comercializará. Mas a conexão não será interrompida pela presença de dois EAs em computadores diferentes.
 
MaxV42 >> :

Você pode me dar uma dica, por favor?

Eu tenho um terminal funcionando em casa e um EA está negociando no gráfico.

Se eu executar o terminal em outro PC (no trabalho) e definir a mesma EA com os mesmos parâmetros no gráfico

1. Minha conexão com o servidor em meu PC de casa será interrompida?

2. Se a conexão com o servidor do meu computador de casa estiver quebrada, o Expert Advisor "pegará" as ordens abertas no meu computador de trabalho?

Obrigado.

Se sua EA tiver um número mágico (número mágico ou ID ou similar) em seus parâmetros, você terá menos problemas. Defina o mesmo número mágico em ambos os terminais.

O que é 'magik' e o deslize de preços?

Se a conexão for interrompida, a outra EA "pegará" as negociações usando este número mágico. Na verdade, devemos esclarecer este ponto.

Mas suponho que se um mágico for incluído na função OrderSend(), então as informações sobre ele serão armazenadas no servidor!

Bem, espero que os especialistas possam me corrigir se eu estiver errado. No artigo "MagicNumber - identificador "mágico" da ordem".

nada é dito sobre isso.

É verdade que às vezes pode ocorrer a dupla abertura.

 

Você pode me dizer como fazer um roteiro periodicamente executado, por exemplo 10 segundos antes da criação de uma nova barra, no período do gráfico M5?

(ou seja, quero que seja executado em (hora:min:seg) x:04:50; x:09:50; x:14:50).

 
VeDMeD писал(а) >>

Você pode me dizer como fazer um roteiro periodicamente executado, por exemplo 10 segundos antes da criação de uma nova barra, no período do gráfico M5?

(isto é, quero que seja executado em (hora:min:seg) x:04:50; x:09:50; x:14:50).

colocar o código do roteiro na construção

bool bWas;

while (!IsStopped())
{
  // проверяем время
  if (MathMod(Minute()+1, 5) ==0)
  {
      bWas=false;
      if (Seconds()>=50 && ! bWas)
      {
        // делаем то что вам надо 
          bWas=true; // только один раз
          RefreshRates(); // обновляем данные валюты
        //........
      }
  }
}
 
MaxV42 писал(а) >>

Você pode me dar uma dica, por favor?

Eu tenho um terminal funcionando em casa e um EA está negociando no gráfico.

Se eu executar o terminal em outro PC (no trabalho) e definir a mesma EA com os mesmos parâmetros no gráfico

1. Minha conexão com o servidor em meu PC de casa será interrompida?

2. Se a conexão com o servidor do meu computador de casa estiver quebrada, o Expert Advisor "pegará" as ordens abertas no meu computador de trabalho?

Muito obrigado.

Os computadores funcionarão de forma independente.

Você precisa ter um controle claro da situação aqui.

Dadas as possibilidades limitadas, tudo o que podemos sugerir é organizar uma "conversa entre EAs" quando houver uma ordem pendente com certos parâmetros.

O 1º PC pode mover a ordem um pouco para baixo - como "Eu estou negociando aqui", então você, 2º PC, não deve interferir ainda.

O 2º PC pode ajustar o pedido de volta ao local - como, sim, eu o tenho, vou ficar quieto...

Não é difícil inventar um algoritmo para configurar o PC principal (onde está o PC mestre). Ao entenderem corretamente sua conversa pacífica, os PCs sempre saberão qual deles é o principal e qual é o que está à margem.

A freqüência da "conversa" deve ser pequena, caso contrário o corretor considerará este fenômeno indesejável e poderá proibir o uso de Expert Advisors.

 
Como encontrar um bar na marca de cinco minutos no início do dia, digamos? Não consigo pensar em nada. Obrigado.
 
datetime dtD1 = iTime(Symbol(), PERIOD_D1, 0); // получили время начала текущего дня
int shiftM5 = iBarShift(Symbol(), PERIOD_M5, dtD1); // получили смещение в таймсерии M5
double priceDayOpenM5 = iOpen(Symbol(), PERIOD_M5, shiftM5); // работаем со смещением в таймсерии M5
 
A solução proposta não leva em conta a compensação GMT.
 
DrShumiloff >> :
A solução proposta não leva em conta a compensação GMT.

E como a compensação GMT pode afetar a série cronológica M5 em relação a D1?

Por favor, esclareça, Prezado DrShumiloff.

Pergunta de um novato com 20 anos de experiência em programação.