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

 
happybuddhist:

De qualquer forma, preciso de ajuda para escrever uma função para fechar pedidos para meu TS (ponto 3) e adaptar o código existente à função.

Veja aqui. ;)

Arquivos anexados:
ln_3.mq4  4 kb
 
hoz:

Mas há um ponto. Em qualquer caso, uma mudança no sinal de saída da expressão não resolverá o problema. Afinal, no ponto em que ocorre a zeragem, os preços de abertura e fechamento têm que ser "trocados".


Você parece estar enganado. Afinal de contas, +(a-b)=a-b, -(a-b)=-a-(-b)=-a+b=b-a. Com uma mudança de sinal, eles mudam de lugar.

hoz:

Vadim escreveu há algum tempo que colocar uma função dentro do loop retarda a execução do código por uma ordem de grandeza.


Até onde entendi Vadim, ele se referia à chamada de uma função do usuário em um loop.

Vinin:

Talvez você devesse abrir sua própria filial. Por que você precisa de "um ramo para iniciantes"?
Sim, por que um iniciante precisaria conhecer a anatomia e os períodos de um mashka)))) Não sou diferente dos iniciantes, talvez apenas porque sou analfabeto, por isso tento chegar a tudo com meu próprio cérebro.

hoz:

Eu fiz os contadorescntUp ecntDn diferentes, porque pode ter um valor de uma vez e depois outro quando o cálculo é feito através do laço por barras calculadas. E o contador pode somar um valor e continuar somando outro valor. E se houver uma variável, o número de barras de um atributo será adicionado ao contador de barras de outro atributo.


O balcão é diferente lá. Se o castiçal vai na direção oposta, o contador é reajustado pela fórmula. Ou talvez eu não o tenha entendido. A única coisa é que pode funcionar mais lentamente. Vou testá-la quando chegar a ela.

 
gyfto: ... Tenho uma pergunta sobre otimização. Estou lidando com o algoritmo EMA...
Agora, por que eu preciso pegar o último peso se eu posso simplesmente embrulhar a função de energia se o próximo peso é mais importante do que o anterior? Não estou mais perguntando por que usar a recorrência quando os pesos finais após a recorrência podem ser derivados por uma fórmula (ver F(n,x) e y(n,x)).
Vinin : Talvez você devesse começar sua própria filial. Por que você precisa de um "Ramo para iniciantes"?
gyfto: ... Sim, bem, porque é que os novatos devem entender a anatomia e os períodos de ondulação)))) Não sou diferente dos iniciantes, talvez apenas que sou analfabeto, então estou tentando chegar a tudo com meu cérebro. ...
Vá em frente, abra um tópico como "Perguntas sobre EMA" e anexe o arquivo do Matcad. Seu posto se perderá aqui. Em uma linha separada, os gurus matemáticos devem ser capazes de quebrar tudo isso.
 
GaryKa:
Vá em frente e inicie um tópico como "Perguntas EMA" e anexe um arquivo Matcad. Seu posto se perderá aqui. Em uma linha separada, os gurus matemáticos devem ser capazes de quebrá-la.

Você provavelmente quer dizer que a resposta à pergunta vai se perder. Ok, vou abrir um tópico, editar esse post, vou escrever movido.
 
TarasBY:

Veja isto. ;)


Hmm, obrigado. Estes são resultados da otimização?
 
gyfto:

Você parece estar enganado. Porque +(a-b)=a-b, -(a-b)=-a-(-b)=-a+b=b-a. Com uma mudança de sinal, eles mudam de lugar.

Portanto, da matemática sabemos que de menos a menos dá mais. E mais para menos dá menos. Mas esta é a primeira vez que ouço falar em troca de variáveis.

gyfto:

Até onde entendi Vadim, ele se referia à chamada da função do usuário no laço.

Eu tenho uma função de usuário lá. Aqui está a própria função inicial em sua forma não abreviada, já que não funciona como eu quero por enquanto, por isso decidi não torná-la universal:

//+-------------------------------------------------------------------------------------+
//| Расчитываем количество идущих один за одним баров одного признака                   |
//+-------------------------------------------------------------------------------------+
int LastCandlesType(int directionMA)
{
   int cntUp,                                                                            // Счётчик идущих друг за другом свечей с..
       cntDn;                                                                                // .. требуемыми признаками
       
   for (int i=i_AnyBarsToHistory; i>=1; i--)
   {
      if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)              // Если бар соответствует требуемым признакам..
             cntDn++;                                                                     // .. прибавим 1 к счётчику

         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntDn = 0;                                                                   // .. счётчик обнуляем

         if (cntDn == i_sequentBarsСount)                                                   // Если cnt баров в подряд медвежьи..
             return (REQUIRED_SEQUENTIAL_BEARS_GOT);                                         // .. Выходим из функции
      }

      if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)              // Если бар соответствует требуемым признакам..
             cntUp++;                                                                     // .. прибавим 1 к счётчику

         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntUp = 0;                                                                   // .. счётчик обнуляем
     
         if (cntUp == i_sequentBarsСount)                                                   // Если cnt баров в подряд бычьи..
             return (REQUIRED_SEQUENTIAL_BULLS_GOT);                                         // .. Выходим из функции
      }
   }
}

Dentro do laço, a partir de uma função que recebe um sinal comum, esta variável recebe seu valor e é passada por parâmetro:

int directionMA = GetStateOfMA();

gyfto:
Bem sim, por que os novatos precisariam entender a anatomia e os períodos de uma máquina onduladora)))) Eu não sou diferente dos iniciantes, talvez apenas porque sou analfabeto, por isso estou tentando chegar a tudo com meu cérebro.

Você está errado. Na verdade, não se trata de analfabetismo. Você tem tais pensamentos aqui que muitos novatos não entendem...

gyfto:

Há ali um balcão diferente. Se a vela vai para o outro lado, a fórmula repõe o contador. Ou estou entendendo mal. A única coisa é que pode funcionar mais lentamente. Vou testá-lo quando tiver a oportunidade.

Sim. Mas temos um contador onde os valores são calculados pela ordem das barras que aparecem da barra com índicei_AnyBarsToHistory até a barra com índice 1. Segue-se que se a condição for cumprida nas barras do índice 30 ao índice 15:

directionMA == CROSS_UP

e então, por exemplo, no cnt=2, a condição será cumprida:

directionMA == CROSS_DN

Então a cnt será incrementada para o valor anterior. Se tivéssemos 2, a nova condição aumentaria com 1, então cnt=3 e sairíamos da função com valor 3. Você entende o que quero dizer? Veja bem, a lógica é basicamente óbvia aqui.

 

Boa tarde.

Alguém tem alguma experiência em alterar parâmetros indicadores em um EA

dependendo da volatilidade (por exemplo, parâmetros MA) ?

Ou você pode me dar um link para ler

 
Stells:

Boa tarde.

Alguém tem alguma experiência em alterar parâmetros indicadores em um EA

dependendo da volatilidade (por exemplo, parâmetros MA) ?

Ou você pode me dar um link para ler


Se você entender o que é um muving, tais perguntas desaparecerão por si mesmas.
 
hoz:
Se você entende o que é muving, tais perguntas desaparecem por si mesmas.
Você não pode simplesmente viver lindamente...

MA Adaptativo
 
Bom dia, eu preciso de ajuda para escrever um script simples ou um "Expert Advisor" se o script não puder fazê-lo eu mesmo nunca o programei A essência do script Login - receber preços (Ask e Bid atuais) - determinar o preço futuro de compra/venda (como um múltiplo de seu número "por exemplo 30") - descobrir se não há pedidos abertos/pós-pagos a estes preços - se não houver pedidos, colocar pedidos pendentes com stoploss e ter lucro - se houver pedidos, verificar o próximo preço de compra que para comprar é maior por um número múltiplo, para venda - menor por um múltiplo - verifique o preço máximo atual +-100*dobra - espere 5 minutos e vá para "obter preço" espere pode ser substituído por ir para "obter preço" depois de qualquer carrapato