Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 830

 
Artyom Trishkin:

Neste caso, não é 'melhor', é exactamente o que precisa - é uma classe de embalagem para funções comerciais normais. Não armazena múltiplos feiticeiros. Por conseguinte, precisa de definir um magik cada vez antes e quando precisa de abrir uma posição com um novo magik.

Geralmente a sequência é a seguinte:

  • as posições devem ser abertas com magia 1 - definimos magia 1 e as posições subsequentes terão magia 1,
  • é necessário abrir posições com um Mágico 2 - criamos o Mágico 2 e todas as posições seguintes terão um Mágico 2,
  • é necessário abrir posições com a magia 3 - vamos criar a magia 3 e cada posição seguinte terá a magia 3,

etc....

A razão pela qual o digo dessa forma é porque algumas pessoas podem ter uma opinião diferente e também funciona.

 
Artyom Trishkin:

Neste caso, não é 'melhor', é exactamente o que precisa - é uma classe de embalagem para funções comerciais normais. Não armazena múltiplos feiticeiros. Por conseguinte, precisa de definir um magik cada vez antes e quando precisa de abrir uma posição com um novo magik.

Geralmente a sequência é a seguinte:

  • as posições devem ser abertas com magia 1 - definimos magia 1 e as posições subsequentes terão magia 1,
  • é necessário abrir posições com um Mágico 2 - criamos o Mágico 2 e todas as posições seguintes terão um Mágico 2,
  • é necessário abrir posições com a magia 3 - vamos criar a magia 3 e cada posição seguinte terá a magia 3,

etc....

Foi assim:

if(BuyCount()>0)
        {
         Print("Уже есть позиция на покупку !!!");
         return; // не добавлять к открытой позиции на покупку
        }
         SL=NormalizeDouble(latest_price.ask - STP*_Point,_Digits);
         TP=NormalizeDouble(latest_price.ask + TKP*_Point,_Digits);
         m_trade.SetExpertMagicNumber(Magic);
         m_trade.Buy(lots1,_Symbol,0,SL,TP,"Lag-MA_IAMA(conversely)_2.5.6.7 + 2");
         m_position.Select(_Symbol);
           {
            ulong myMagic=m_position.Magic();
            Print(" Открыта поза Бай с магиком № ",myMagic,", И спредом ",SymbolInfoInteger(_Symbol,SYMBOL_SPREAD));
           }

m_trade.SetExpertMagicNumber(Magic); antes de abrir uma posição ou apósm_trade.Buy(lots1,_Symbol,0,SL,TP,"Lag-MA_IAMA(Inversamente)_2.5.6.7 + 2");

 
Vladimir Karputov:

Como não existe o métodoGetExpertMagicNumber na classe CTrade, imprima este código após a operação comercial:

Desta forma, pode verificar se ambos os EAs têm magias diferentes.

Obrigado, é mais conveniente. Não preciso da classe CPositionInfo, não preciso de seleccionar posição. Funciona no testador, mas é preciso esperar pelos desenvolvimentos da conta.

 

Diga-me por favor a diferença entre SymbolInfoSessionQuote eSymbolInfoSessionTrade ?
Ou, a mesma coisa, qual é a diferença entre uma sessão de cotação e uma sessão de comércio?

C'um caraças
! E o que é session_index,// session number
Temos sessões numeradas? Que princípio é utilizado para os numerar, onde está escrito?

 

Por favor aconselhe como usar o Ignore(valor longo) { m_ignore=valor; } método da classe padrão CExpertSignal na classe Trailing custom quando programar em MQL5? Como posso aceder-lhe?

Tenho uma classe de sinais personalizados que me dá métodos para abrir e fechar posições. Mas no Trailing eu queria manter a posição por outro método. Se escrever separadamente as classes personalizadas MySignal e MyTrailing, uma posição é fechada pela condição, que desencadeou primeiro. Se o Trailing condition foi desencadeado mais cedo, tudo está bem. Mas por vezes um novo sinal (de inversão) vem do MySignal e a posição é invertida, e eu preciso que seja acompanhado por Trailing após a abertura, não fechando e não abrindo um novo. Olhei para as classes base e há um sentimento de que m_ignore da classe de sinais base é responsável por isto. Se lhe for atribuído o valor 1 no filtro apropriado, parece funcionar como deveria. Adicionei filtro0.Ignore(0) à classe Expert Advisor no OnInit. Mas sou novo no OOP e não compreendo como alterar este valor na classe MyTrailing, que não é herdado da classe CExpertSignal, mas é o seu "primo" (digamos filtrar0.Ignorar(1) ). Aconselhar como fazer isto.

Na verdade, pergunta mais geral: como passar informação entre duas classes que não são descendentes? Como transferir a informação da classe de rastreio para a classe de sinal? Provavelmente, é possível criar uma variável global e comunicar através dela. Mas isto parece bastante perverso em relação à lógica dos membros protegidos no OOP.


 
User_mt5:

Diga-me por favor a diferença entre SymbolInfoSessionQuote eSymbolInfoSessionTrade ?
Ou, a mesma coisa, qual é a diferença entre uma sessão de cotação e uma sessão de comércio?

C'um caraças
! E o que é session_index,// session number
Temos sessões numeradas? Em que princípio estão numerados, onde está escrito?

Em termos simples.

Sessão de orçamentação - a orçamentação está em curso (mas pode haver uma proibição de negociação).

Sessão de negociação (dentro ou coincidindo com uma sessão de cotação) - pode negociar.

Índice da sessão - o número índice da sessão de 00:00:00-23:59:59 hora do servidor (se houver pausas, então a sessão é superior a 1).

Ver a especificação de cada símbolo na visão geral do mercado.

 
Kirill Belousov:

Em termos simples

Sessão de cotação - as cotações estão em curso (mas pode haver uma proibição de negociação).

Sessão de negociação (dentro ou coincidindo com a sessão de cotação) - pode negociar.

Índice da sessão - o número de índice da sessão de 00:00:00-23:59:59 hora do servidor (se houver lacunas, a sessão é superior a 1).

Ver especificação para cada símbolo na visão geral do mercado.

Obrigado pelo esclarecimento. Ajudou-me.

 
Vladimir Karputov:

Os sinais de cêntimos só podem agora ser gratuitos.

Porque não posso editar o nome no meu perfil?

 
tsd Tsepkov:

Porque não se pode editar o nome no perfil?

Apenas verificado: o nome do sinal é perfeitamente editável.

 
Vladimir Karputov:

Acabei de verificar: o nome do sinal é perfeitamente editável.

Refiro-me ao primeiro nome, diz que se tem de o mudar para um nome verdadeiro, mas não funciona