uma estratégia comercial baseada na Teoria da Onda de Elliott - página 296
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Você já tentou manipular mais os coeficientes de transformação wavelet.
Acaba com algo assim:
PS: Até o momento, eu tenho encontrado várias variantes no MT (o MathCAD não tem esse problema):
(1). Eu crio um parâmetro (int count=0;) Eu faço um laço através do intervalo e checo os critérios; se ele os satisfaz, count=count+1. Em seguida, crio um array com a contagem obtida e repito tudo novamente: escrevo os parâmetros calculados no array e seleciono o canal ideal.
(2) Criar uma matriz para os parâmetros do canal de acordo com o comprimento da faixa original.
... Como posso dizer corretamente - é possível expandir dinamicamente o número de elementos da matriz. Por exemplo, estou procurando por canais estáveis em alguma área a partir de zero bar. Não sei o número deles no início da busca e posso não encontrar nenhum.
Francamente falando, a questão não é muito clara. O número de elementos em uma matriz (tamanho) é alterado dinamicamente com o ArrayResize. Se você realmente quiser criar estruturas, elas são prometidas apenas no MT5.
Pura e simplesmente pela consonância das palavras - eu estava resolvendo o problema das propriedades adicionais dos pedidos, não sabíamos exatamente seu número e o número de propriedades (esses 40 indicadores) também não era conhecido de antemão. Foram utilizadas três funções, mas novas propriedades tiveram que ser acrescentadas manualmente a cada uma delas, com recompilação posterior. Não sei se isto está certo ou errado, mas, por via das dúvidas, aqui está o código da última versão
//+------------------------------------------------------------------+ //| Изменение размеров массивов свойств ордера | //+------------------------------------------------------------------+ int ResizeOrdArrays() { ArrayResize(OrdID,OrdArrSize); ArrayResize(OrdTicket,OrdArrSize); // ArrayResize(OrdData1,OrdArrSize); // ArrayResize(OrdData2,OrdArrSize); // ArrayResize(OrdData3,OrdArrSize); // ArrayResize(OrdData4,OrdArrSize); return(0); } //+------------------------------------------------------------------+ //| Добавление ордера в список ордеров | //+------------------------------------------------------------------+ int AddOrder(int ID) { OrdInd=OrdNum; OrdNum++; if (OrdNum > OrdArrSize) { OrdArrSize = OrdNum; ResizeOrdArrays(); } OrdID[OrdInd] = ID; OrdTicket[OrdInd] = ticket; // OrdData1[OrdInd] = 123.45; // OrdData2[OrdInd] = 123.45; // OrdData3[OrdInd] = 123.45; // OrdData4[OrdInd] = 123.45; return(0); } //+------------------------------------------------------------------+ //| Исключение ордера из списка ордеров | //+------------------------------------------------------------------+ int CutOrder() { OrdNum--; if (OrdInd < OrdNum) { OrdID[OrdInd] = OrdID[OrdNum]; OrdTicket[OrdInd] = OrdTicket[OrdNum]; // OrdData1[OrdInd] = OrdData1[OrdNum]; // OrdData2[OrdInd] = OrdData2[OrdNum]; // OrdData3[OrdInd] = OrdData3[OrdNum]; // OrdData4[OrdInd] = OrdData4[OrdNum]; } return(0); }P.S. A propósito, usei a mesma "estrutura" para meus canais.
A mudança do tamanho de uma matriz já criada não a redimensiona para zero?
Obrigado. Devo ter escrito mal a impressão, de alguma forma. :о)
Quando a matriz é redimensionada, uma linha nula é adicionada à matriz.