Etiqueta de mercado ou boas maneiras em um campo minado - página 24

 
Neutron писал(а) >>

Essa é a verdade! Só não faça barulho - a sopa está separada.

Quanto ao bar, utilizo apenas os preços de abertura - sem médias. E eu vou fazer o que o sábio Prival fará - mudar para carrapatos. No entanto, terei que me preocupar com o modo de economia e coleta de dados. Mas se vale a pena, por que não?

... ...e então toda essa confusão com a NS não irá para um mero escalper. Acho difícil acreditar que se possa captar, digamos, uma tendência de hora em hora ao nível do tick. Embora, é claro, dependa de quantos carrapatos... mas temos aqui um poder computacional limitado...

 
YDzh >> :

Eu não estou fazendo barulho :) A utilidade dos tiques é reconhecida na literatura... Cheira a teoria do caos... Sobre se vale a pena... Vale a pena? E onde Prival o aconselha?

Confira aqui.

 
YDzh >> :

... e se toda a agitação com a NS então vai para o mero escalpador. Acho difícil acreditar que você possa pegar, digamos, uma tendência de hora em hora no nível do carrapato. Embora, é claro, dependa de quantos carrapatos... mas temos aqui um poder computacional limitado...

Bem, os aviões voaram... uma vez. E quanto cepticismo havia...

 
YDzh писал(а) >>

... e se toda a agitação com a NS então vai para o mero escalpador. Acho difícil acreditar que você possa pegar, digamos, uma tendência de hora em hora no nível do carrapato. Embora, é claro, dependa de quantos carrapatos... mas temos aqui um poder computacional limitado...

É uma questão de como você se aproxima... Não há necessidade de olhar através de carrapatos há mais de 5-10 minutos; há barras suficientes para análise, e os carrapatos das últimas barras de um minuto podem ser memorizados e computados. E você não precisa de capacidades tão grandes.

 
FION >> :

Eis como abordar... Não há necessidade de olhar mais de 5-10 minutos para trás, há barras suficientes para análise, e os carrapatos das últimas barras de um minuto podem ser memorizados e calculados. E você não vai precisar de uma capacidade tão grande.

Estou há muito tempo insatisfeito com os formatos de representação de dados no MT4. O cronograma é a primeira coisa que me chamou a atenção desde os primeiros dias do mercado. Ou seja, ao olhar para os prazos MT4, você rapidamente compreende que existe uma razão para isso! Projetado para conveniência, por assim dizer... -:)

Portanto, uma vez que eu entenda a grade, os prazos irão depois dos induks - f*ck it. Na verdade, preciso apenas de citações e interface comercial deste terminal. O resto pode ser descartado sem qualquer dano ao depósito.

 
paralocus писал(а) >>

Há muito tempo estou insatisfeito com os formatos de dados no MT4. Os prazos têm sido a primeira coisa que me chamou a atenção desde os primeiros dias no mercado. Ou seja, ao olhar para os prazos MT4, você rapidamente compreende que existe uma razão para isso! Projetado para conveniência, por assim dizer... -:)

Portanto, uma vez entendida a grade, os prazos irão após os índices. Na verdade, só preciso de citações e interface comercial do terminal. O resto do material pode ser facilmente jogado fora sem prejudicar o depósito.

Então não se preocupe, pegue uma grade pronta, há muitas escritas em java, por exemplo... Por que você deve rachar seus miolos na MQL4 e reinventar a roda.

 
YDzh >> :

Portanto, não se preocupe, obtenha uma grade pronta - há muitas delas escritas em java, por exemplo... Por que se preocupar com a MQL4 e reinventar a roda...

Só para que se saiba.

 
YDzh писал(а) >>

Portanto, não se preocupe, obtenha uma grade pronta - há muitas delas escritas em java, por exemplo... Por que se preocupar com a MQL4 e reinventar a roda...

Você está brincando! - Não sei por que estou analisando os desabrochar de outras pessoas. Meu algoritmo é mais otimizado - ele é personalizado para um determinado propósito tático).

paralocus escreveu >>

Bem, acho que é isso, até que as escalas sejam corrigidas.

for(int i = cikl; i >= 0; i--)
{
out = OUT2(i);---------------------------------------------------// Получаем вых. сигнал сетки
test = (Close[i]-Close[i+1])/Close[i+1];--------------------------// Получаем n+1-вый отсчет

d_2_out = test - out;---------------------------------------------// Ошибка на выходе сетки
d_2_in = d_2_out * (1 - out*out);--------------------------------// Ошибка на входе выходного нейрона

Correction2[0] += d_2_in * D2[0];---------------------------// Суммируем микрокоррекции
SquareCorrection2[0] += Correction2[0] * Correction2[0];----------// по каждому весу входящему в вых. нейрон
Correction2[1] += d_2_in * D2[1];---------------------------// и суммируем квадраты оных микрокоррекций
SquareCorrection2[1] += Correction2[1] * Correction2[1];
Correction2[2] += d_2_in * D2[2];
SquareCorrection2[2] += Correction2[2] * Correction2[2];

d_11_in = d_2_in * (1 - D2[1]*D2[1]);-----------------------------// Считаем ошибку на входах нейронов
d_12_in = d_2_in * (1 - D2[2]*D2[2]);-----------------------------// скрытого слоя

for (int k = 0; k < 17; k++)
{---------------------------------------------------------------// Сууммируем микрокоррекции для входов
Correction11[k] += d_11_in * D1[k];----------------------// первого нейрона
SquareCorrection11[k] += Correction11[k] * Correction11[k];
}

for (k = 0; k < 17; k++)
{---------------------------------------------------------------// Суммируем микрокоррекции для входов
Correction12[k] += d_12_in * D1[k];----------------------// второго нейрона
SquareCorrection12[k] += Correction12[k] * Correction12[k];
}
}
Paralocus , agora pegue a raiz quadrada da soma dos quadrados de cada peso e divida por esta taxa cada correção de peso total. Isso é o que você acrescenta a cada peso! Isso é uma época. Repita isto tantas vezes quanto você planejou suas épocas de treinamento. Reduzir gradualmente a contribuição múltipla de cada época a zero até o final do treinamento.
 

Cavalheiros, digam-me como lidam com os vôos em mínimos rasos e pesos iniciais curvos. Entendo que no início eles não afetam o treinamento, mas mais tarde eles começam a afetar muito os resultados.

 
Neutron >> :
...agora pegue a raiz quadrada da soma dos quadrados para cada peso e divida por esta norma cada correção de peso total. Isso é o que você acrescenta a cada peso! Isso é uma época. Repita isto tantas vezes quanto você planejou suas épocas de treinamento. Reduzir gradualmente a contribuição múltipla de cada época a zero até o final do treinamento.

Feito:

for(int q = 1; q <= 1000; q++)
  {
// ----------------------------------------- ЭПОХА ---------------------------------------------------  
   for(int i = cikl; i >= 0; i--)
     {
       out  = OUT2( i);                                                   // Получаем вых. сигнал сетки
       test = (Close[ i]-Close[ i+1])/Close[ i+1];                          // Получаем n+1-вый отсчет
       
       d_2_out = test - out;                                             // Ошибка на выходе сетки         
       d_2_in  = d_2_out * (1 - out* out);                                // Ошибка на входе выходного нейрона
       
       Correction2[0]       += d_2_in * D2[0];                           // Суммируем микрокоррекции
       SquareCorrection2[0] += Correction2[0] * Correction2[0];          // по каждому весу входящему в вых. нейрон
       Correction2[1]       += d_2_in * D2[1];                           // и суммируем квадраты оных микрокоррекций
       SquareCorrection2[1] += Correction2[1] * Correction2[1];     
       Correction2[2]       += d_2_in * D2[2];
       SquareCorrection2[2] += Correction2[2] * Correction2[2];   
       
       d_11_in = d_2_in * (1 - D2[1]* D2[1]);                             // Считаем ошибку на входах нейронов
       d_12_in = d_2_in * (1 - D2[2]* D2[2]);                             // скрытого слоя
       
       for (int k = 0; k < 17; k++)
         {                                                               // Сууммируем микрокоррекции для входов
          Correction11[ k]       += d_11_in * D1[ k];                      // первого нейрона
          SquareCorrection11[ k] += Correction11[ k] * Correction11[ k];  
         }                                    
         
       for ( k = 0; k < 17; k++)
         {                                                               // Суммируем микрокоррекции для входов
          Correction12[ k]       += d_12_in * D1[ k];                      // второго нейрона
          SquareCorrection12[ k] += Correction12[ k] * Correction12[ k];
         }   
     }
// ------------------------------------- КОНЕЦ ЭПОХИ --------------------------------------------------

// ----------------------------------- КОРРЕКЦИЯ ВЕСОВ ------------------------------------------------
         for( k = 0; k < 3; k++)
             W2[ k] += Correction2[ k]/MathSqrt( SquareCorrection2[ k]);  

         for( k = 0; k < 17; k++ )
           {
             W1[0, k] += Correction11[ k]/MathSqrt( SquareCorrection11[ k]);
             W1[1, k] += Correction12[ k]/MathSqrt( SquareCorrection12[ k]);
           }        

   }                                 


Estou um pouco confuso sobre como reduzir o multiplicador de contribuição de uma época.... Eu recebo pesos muito pequenos na camada de saída no final do treinamento, enquanto os pesos da camada oculta se tornam grandes.

Alerta: W2 [0] = -0,0414 W2 [1] = 0,0188 W2 [2] = -0,0539

Alerta: W1[1,0]=-27.0731 W1[1,1]=-30.2069 W1[1,2]=37.6292 W1[1,3]=30.4359 W1[1,4]=-22.7556 W1[1,5]=-37.5899