[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 430

 

Meia hora ontem, e meia hora hoje, e meia hora no fórum antes de chegar a !!!!!!!!. Obrigado!!!!!!!!!!

...você também pode ir assim: -sim, obrigado. Estou bem como está, com uma função clara e simples!

 
Trendy:
Olá, estou atualmente estudando o tutorial MQL4 de Sergey Kovalev e ainda não descobri como acessar as séries temporais de outros pares de moedas. Ou seja, preciso fazer o upload em uma série cronológica de vários pares de moedas. Sei que alguns dados podem ser acessados usando a função MarketInfo(), mas o problema é que nas identificações de solicitação, não há nenhum parâmetro de fechamento ou outros parâmetros para as séries de preços. Por favor, informe onde posso ler como organizar o trabalho (se houver) com arrays-timeseries e vários instrumentos, ou talvez como contornar esta limitação.
duplo iClose( símbolo de corda, int timeeframe, int shift)
Retorna o valor do preço de fechamento da barra especificada pelo parâmetro de deslocamento do gráfico correspondente(símbolo,período de tempo). Em caso de erro, a função retorna 0. Para mais informações sobre o erro, ligue para GetLastError().
Para o gráfico atual, informações sobre preços de fechamento podem ser encontradas em array pré-definido Close[].
Parâmetros:
símbolo - Nome simbólico do símbolo. NULL significa símbolo atual.
cronograma - Período. Pode ser um dos prazos de um gráfico. 0 significa o período do gráfico atual.
turno - Índice do valor obtido das séries temporais (deslocamento em relação à barra atual pelo número especificado de períodos de retorno).
Exemplo:
 Imprimir("Barra atual para USDCHF H1: ",iTime("USDCHF",PERÍODO_H1,i),", ", iOpen("USDCHF",PERÍODO_H1,i),", ", iHigh("USDCHF",PERÍODO_H1,i),", ", iLow("USDCHF",PERÍODO_H1,i),", ", iClose("USDCHF",PERÍODO_H1,i),", ", iVolume("USDCHF",PERÍODO_H1,i);

É assim.
 

Há um indicador compilado no ex4 que é um

uma faixa de pontos azuis e vermelhos como um sinal para comprar ou vender.

Preciso de código para uma condição para entrar em uma profissão quando o gráfico de barras muda de cor.

Eu ficaria muito grato, mesmo por um esboço.

 
Olá amigos. Há uma necessidade de implementar o seguinte: o estocástico cruza algum nível de cima para baixo n-número de vezes e na condição de que aconteça dentro de um certo intervalo de tempo a variável recebe um valor (+). Bem, se por exemplo, em 30 minutos o estocástico cruzar 80 três vezes de cima para baixo. Agradecemos antecipadamente)
 

Saudações a todos!

Estou usando este indicador, mas ele tende a congelar após cada nova barra aberta. Acho que é por causa do grande número de barras sendo recalculadas. Eu tentei limitar o número de barras, mas não funciona - o indicador muda sua aparência. Alguém pode me ajudar com esta função? Eu ficaria muito grato!

Arquivos anexados:
 
Integer:

Experimentei-o. EMA em mql e em dll.

É bastante perceptível. Se os cálculos forem mais complexos, será mais perceptível.


Eu o informarei. Também tenho muitos ciclos lá dentro.
 

Olá! O único que lucra na EA é o Trailing Stop, que efetivamente fecha negócios. Não há StopLoss e TakeProfit separados.

Naturalmente, há situações em que a EA abre em uma direção, enquanto o mercado vai em outra.

Nesses casos, os negócios são fechados com lucro mínimo, mas 2 negócios do período de testes foram fechados com -2,40 e -2,50 perdas.

Nos resultados do teste, o StopLoss é definido vários pontos acima ou até mesmo abaixo do preço de abertura do comércio.

Aqui está o código Trailing do MacdSample abaixo. Por favor, ajude a entender!

//-------------------------Trailing Stop----------------------------------+
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
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else // go to short position
           {
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
 
skyjet:

Olá...


Provavelmente, uma troca.
 
Integer:

Provavelmente uma troca.


A questão é que não consigo entender por que o Trailing Stop fecha uma negociação antes que a distância entre o preço atual e o preço de abertura tenha excedido o valor do TS, depois que o preço se moveu na direção oposta à abertura e depois voltou ao preço de abertura?

 
Boa tarde.
Quero abrir um pedido com volume 0,01 na minha conta $12,93, parar as perdas e ter lucro 0, mas o programa diz que não há dinheiro suficiente, por quê?