Não o Graal, apenas um normal - Bablokos!!! - página 236

 
sbmill:

Entenda corretamente a construção de 8 em 4 pares

1234
12-3-4-4
123-42
12-344
1-2346
1-2-3-4-8
1-23-4-2
1-2-340
123410

E assim, estabelecer 35 combinações de 7 por 4

Na prática é um pouco diferente,de 7 a 4 = 105 e se o métodomatemáticonão depende deuma ordem de ajuste da entrada FI- de três: EGAN, EAGN, ENGA é possível tomar qualquer uma. O resultado em todas as 35!
Arquivos anexados:
 
 

Olá a todos!

Joker, posso lhe fazer uma pergunta geral?

Você primeiro seleciona os instrumentos e os usa para construir e analisar o spread e seu patrimônio (acho que você usou esta variante) ou você constrói muitos spreads e depois analisa seu patrimônio, e os adequados entram em ação?

 
Talex:

Você primeiro seleciona um instrumento e o usa para construir e analisar o spread e seu patrimônio (acho que você está usando esta opção) ou você constrói muitos spreads e depois analisa o patrimônio deles, e depois usa os apropriados em seu trabalho?

Qual é a diferença entre esses métodos?
 
lob32371:
Qual é a diferença entre esses métodos?

No primeiro caso, o spread consiste em instrumentos com condições "obrigatórias", enquanto no segundo, isso não é verificado, mas apenas as "características" do spread em si são verificadas.

 
Talex:

Olá a todos!

Joker, posso lhe fazer uma pergunta geral?

Você primeiro seleciona um instrumento e o usa para construir e analisar o spread e seu patrimônio (acho que você usou esta variante) ou você constrói muitos spreads e depois analisa seu patrimônio, e os adequados são usados em seu trabalho?


Inúmeros spreads são construídos e o conjunto inteiro é analisado. Os melhores do sistema são utilizados.


Um par de comentários à imagem:

Todos os spreads após o racionamento serão colocados em um semi-plano (positivo). As que são normalizadas na zona negativa são invertidas:

O ponto em que a propagação começa a se mover é o mesmo para todos ( i.e. zero ). Não importa o quanto você tente obter uma propagação neutra para o mercado, você não terá sucesso. O mercado está sempre em movimento. Os spreads só permitem remover flutuações imprevisíveis do mercado e diminuir o drawdown das operações comerciais.

I - A altura do meio do canal de normalização em relação a zero caracteriza o poder do movimento de dispersão (dispersão mais fraca é descartada). Queremos ganhar, não fumar bambu durante meses, não é mesmo? ))

II - a largura do canal de propagação normalizado descreve a força de cointegração dos instrumentos (estreito - fortemente cointegrado, largo - mal cointegrado). Os pouco cointegrados são naturalmente rejeitados (caminhadas aleatórias não são para nós).

III - zona de tomada de decisões (não vou falar sobre isso intencionalmente).


Eu contei e mostrei tudo o que era possível.

(Já agora, promovi o sistema de Alexander, mas não o utilizarei em nenhuma circunstância. Ele trabalha dentro do canal e é uma bomba ... )

Qualquer pessoa que tenha perguntas teóricas, favor estudar primeiro a enorme contribuição para a teoria do Sr. hrenfx, ou seja, suas realizações em reciclagem2


Vá em frente...

 

Joker, obrigado pela resposta.

P.S. Há realmente muita coisa disposta no fio, só falta pensar/verificar/entender por si mesmo, acho que só o preguiçoso não vai encontrar algo para si mesmo aqui.

 
kot287:
Na prática, é um pouco diferente,de 7 a 4 = 105 e se o métodomatemáticonão depende deuma ordem de ajuste da entrada FI- de três: EGAN, EAGN, ENGA é possível tomar qualquer uma. O resultado em todas as 35!

... Os senhores estão no início da teoria. Tome a liberdade:

GetSpreadsCount - retorna o número de spreads possíveis para o spread de um comprimento especificado ( número de símbolos )

GetSpreadByIndex ( " GetSpreadsIndex") - retorna spread por seu índice ( onde o índice está na faixa 1 para GetSpreadsCount)

Ao passar pelo loop GetSpreadByIndex você obterá todas as propagações possíveis sem repetições.

Para não explodir sua mente, a combinatória de spreads é calculada através de um sistema de número binário.

Boa sorte...

Arquivos anexados:
 

E fiz uma força bruta, não tão bonita, mas funciona...

struct smassiv2 {
   string m[];           // обертка для 2-х мерного массива
};

//+----------------------------------------------------------------------------------+
//| GetAllCombinationsSpread                                                         |
//| Функция находит все сочетания спредов                                            |
//| (in) instr[] - массив инструментов из которых составляем спред                   |
//| (in) ns - число инструментов в спреде                                            |
//| (in/out) spread[] - массив спредов                                               |
//| (out) - количество найденных спредов                                             |
//+----------------------------------------------------------------------------------+
int GetAllCombinationsSpread(string &instr[],int ns,smassiv2 &spread[]) {
   int i,j,g,k,ncomb,count,n[];
//+------------------------------------
   count=ArraySize(instr);
   ncomb=Combination(count,ns);
   ArrayResize(spread,ncomb);
   for(i=0;i<ncomb;i++) {
      ArrayResize(spread[i].m,ns);
   }
   ns=ArraySize(spread[0].m);
   ArrayResize(n,ns);
   ArrayInitialize(n,(count-1));
   for(i=1;i<ns;i++) {
      n[i]=n[i-1]-1;
   }
   for(i=0;i<ncomb;i++) {
      if(n[ns-1]<0) {
         k=1;
         for(j=(ns-2);j>=0;j--) {
            n[j]--;
            if(n[j]>=k) {
               for(g=(j+1);g<ns;g++) {
                  n[g]=n[g-1]-1;
               }
               break;
            }
            k++;
         }
      } 
      for(j=0;j<ns;j++) {
         spread[i].m[j]=instr[n[j]];
      }
      n[ns-1]--;
   }
   return(ncomb);
}
//+----------------------------------------------------------------------------------+
//+----------------------------------------------------------------------------------+
//| Combination(int m,int n)                                                         |
//| Функция находит количество сочетаний, составленные из m элементов по n элементов |
//| (in) m - число элементов всего                                                   |
//| (in) n - число элементов в сочетании                                             |
//| (out) - число комбинаций                                                         |
//+----------------------------------------------------------------------------------+
int Combination(int m,int n) {
//Print(__FUNCTION__);
   if(m<n) return(0);
   if((n==0)||(n==m))
      return(1);
   else
      return(Combination(m-1,n-1)+Combination(m-1,n));
}
//+----------------------------------------------------------------------------------+
 

Joker, me diga melhor como você escolhe a borda certa do canal, ou seja, o momento a partir do qual monitorar a propagação

Aqui está minha última profissão: