[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 548

 
pu6ka:

Devo marcar as curvas com setas?

Não, você precisa de uma linha de passos. Embora, neste caso, não seja realmente uma linha de passo... Você pode afixar este indicador? Refiro-me ao que está na foto. Vou dar uma olhada nisso...
 
Arles:
Não, eu preciso de uma fila em etapas. Embora, neste caso, não serão bem passos. Você pode afixar este indicador? Refiro-me ao que está na foto. Vou investigar isso.

Este é o indicador de velocidade ROC do livro didático, ligeiramente modificado. Há uma linha de referência, uma linha de velocidade e uma linha alisada a partir dela. A interseção entre a linha de velocidade e sua média de período é indicada por uma seta. Acabo de descolorir todas as imagens na tela, exceto uma.

Mas você provavelmente precisa de um algoritmo que marque por uma seta o valor MA máximo e mínimo neste intervalo a cada n barras?

Arquivos anexados:
 
Usual_Trader:

O erro de Ticket é mais provável porque sua variável Ticket é inicializada duas vezes - no início e na função

Tente outro nome na função, pelo menosTicket1 :)


Obrigado), me deu outra idéia, eu a descobri)))
 
pu6ka:


Se a variável for declarada em nível global, então ela não precisa ser passada para suas próprias funções, basta usar as variáveis Ticket e Ans, elas serão visíveis nas funções.

Você escreve nos comentários que M_1 e S_1 são a primeira barra, e na função iStochastic() você extrai o valor para eles na barra zero. Se você realmente precisa de dados sobre a barra de zero, então primeiro verifique se há ordens de fechamento e depois, se você vai trabalhar com uma ordem, saia por condição: se(Total > 0) retornar; e somente então uma condição para a abertura de um novo pedido. Se você está planejando trabalhar com grandes TFs, então seria melhor substituir a condição de saída pela seguinte: se a ordem for aberta na barra atual, nada de novo é aberto na barra atual ainda. Caso contrário, no H4, uma ordem pode abrir em uma barra várias vezes e acionar uma parada de perda em uma condição.

Eis o que está acontecendo no momento: a barra principal cruzou o sinal, por exemplo, para cima, a ordem de compra é aberta. No próximo tick, a condição é salva, mas você tem Total mais que zero e a condição de fechamento tenta acionar, e você tenta usar sua função Close_Order_S() para fechar a posição de Compra ao preço de Pedido. Verifique o tipo de pedido e uma função para fechá-lo, passe Ask ou Bid nos parâmetros, dependendo do tipo de pedido.


Muito obrigado)), trabalhos de fechamento de pedidos, sem erros, mas mais uma vez o critério não funciona como deveria((, código e captura de tela anexados, Ajuda por favor...
Arquivos anexados:
 
Equilibrium:

Muito obrigado)), trabalhos de fechamento de pedidos, sem erros, mas novamente o critério não funciona como deveria((, código e captura de tela anexados, Ajuda por favor...
        if (Total>1)                           // Вместо этой строки           
        if (Total>=1)                          // Поставьте эту
        if (Total>0)                           // Или эту

 
Diga-me, você tem US$ 5.000 que não se importa de colocar em sua conta? Quão seguro é isso?
 
Beowulf:
Diga-me, você tem US$ 5.000 que não se importa de colocar em sua conta? Quão seguro é isso?

Quem disse 5.000? Comece com 100, teste você mesmo e seu corretor, e depois decida com certeza! O dinheiro é seu!
 
Você pode aconselhar uma EA a colocar um pedido pendente no indicador parabolik SAR e arrastá-lo de acordo... obrigado
 
danilakoks:
Você pode aconselhar uma EA a colocar um pedido pendente no indicador parabolik SAR e arrastá-lo de acordo... obrigado

muitos Consultores Especialistas em CodeBase que trabalham com este indicador. Busca no canto superior direito. Boa sorte!
 
Equilibrium:

Muito obrigado)), trabalhos de fechamento de pedidos, sem erros, mas o critério não funciona novamente como esperado((, código e captura de tela anexados, Ajuda por favor...
if (M_2 < S_2 && M_1>=S_1) 
      { 
       if (Total>0)
         {
          Close_Order (Lts,Tip);
         } 
       if (Total==0 тут критерий не сработает, так как переменная Total еще равна предыдущему значению, т.е. 1 и ордер открываться не будет
				 нужно использовать OrdersTotal() или перерассчитывать ее

       
         {                                          
          Open_Order_B (Lts);     
         }                                      
      }
   if (M_2 > S_2 && M_1<=S_1 ) 
      { 
       if (Total>0)
          {
           Close_Order (Lts,Tip); 
          }
       if (Total==0)         то же самое
          {                                          
           Open_Order_S (Lts);                                               
          }


Num relance, o que eu vejo na função de fechamento de pedidos, você precisa selecionar o pedido pelo ticketOrderSelect(Ticket, SELECT_BY_TICKET), o número de lotes indica não a variável Lts, porque ela é recalculada toda vez, mas usa OrderLots() E outra coisa, você continua trabalhando na barra 0, respectivamente, o critério em uma barra pode desaparecer, seus pedidos podem não abrir onde você gostaria. Substituir a barra 0 por 1 e 1 por 2 nos parâmetros indicadores


Razão: