Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 528

 
tara:

Yevgeni Nikolaevichs de Odessa (você mesmo perguntou o plural) - você pode responder?
Pessoas estranhas... Eu só queria uma resposta...
 
MEN_Odessa:

Não estou recebendo nenhum código de erro processado no testador de estratégia. O que há de errado aí? Há algum problema com o sono ou os erros simplesmente não estão sendo gerados?


Dormir não é trabalhar no testador.
 

Ajuda.

Tanto quanto eu entendo, não há nenhuma parada de rastreamento em uma ordem em mql 4?

E se não, como posso usar um método simples para executar uma parada móvel em uma ordem aberta?

 
culler:

Ajuda.

Até onde eu entendo, não há nenhuma função de Trailing Order incorporada no mql 4?

E se não, como posso seguir uma ordem em aberto em uma linha simples?


Algo como isto
 
evillive:

Algo como isto


Uau... Eu não sabia que havia tantas paradas para trás. Minha cabeça está girando )))) Qualquer coisa que você queira )))

Eu gostaria de um simples, como aquele embutido no MT4 em um pedido a partir do preço atual. )))

 
culler:


Uau... Eu não sabia que havia tantas paradas para trás. Minha cabeça está girando )))) O que você quiser ))))

Eu gostaria de uma simples parada de trilha, como construída em MT4 por ordem do preço atual. )))


) O arrasto primitivo da amostra MACD corresponde ao arrasto no terminal e preenche o servidor com pedidos em cada carrapato:

extern TrailingStop=100;   
for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         //--- long position is opened
         if(OrderType()==OP_BUY)
           {
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     //--- modify order and exit
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return;
                    }
                 }
              }
           }
         else // go to short position
           {
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     //--- modify order and exit
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return;
                    }
                 }
              }
           }
        }
     }
 

Ao depurar, a janela "USDCHF" se abre por padrão.

Você pode me dizer como fazer durante a depuração da MeteEditor para inicializar e trabalhar no MetaTrader?

com a janela determinada ou já aberta, e não com a janela "USDCHF" por padrão?

 
Orangetree:

Ao depurar, a janela "USDCHF" se abre por padrão.

Você pode me dizer como fazer durante a depuração da MeteEditor para inicializar e trabalhar no MetaTrader?

com a janela determinada ou já aberta, e não com a janela "USDCHF" por padrão?

Nas configurações dos terminais, procure através das abas. Você vai encontrá-lo.
 
artmedia70:
Nas configurações dos terminais, procure através das abas. Você vai encontrá-lo.


Você pode mudar o par e o cronograma, mas não as configurações do terminal ;)
 

Olá, não sei onde colocar esta pergunta, o essencial é o seguinte: às vezes a EA escreve um arquivo de log de 7 gigabytes com um erro, escreve (EURUSD,M15: Falha em fechar ordem principal, repetir operação), embora feche tudo sem erro. Tento proibir esta EA de registrar suas ações no registro, mas não adianta, preciso do registro do terminal.

Por favor, informe como proibir este "rastejo" para manter o registro? Eu entendo que tenho que usar a opção Imprimir, mas como?

            if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == mNumber)) {
               if (OrderType() == OP_BUY) {
                  error1 =  (OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), Spread, Blue));
                  if (error1 == 1) {
                     Print ("Лидирующий ордер закрыт успешно."); 
                     Sleep (500);   
                  } else {
                     Print ("Ошибка закрытия лидирующего ордера, повторяем операцию. ");