Cavalheiros, como declarar uma função em MKL que leva um ponteiro (referência em µl) a qualquer coisa (análogo a nulo* em C/C++ )? Não me refiro ao elenco por árvore genealógica, mas ao elenco por tipos não relacionados. Pelo menos, tomar um conjunto de qualquer tipo.
Cavalheiros, como declarar uma função em MKL que leva um ponteiro (referência em µl) a qualquer coisa (análogo a nulo* em C/C++ )? Não me refiro ao elenco por árvore genealógica, mas ao elenco por tipos não relacionados. Pelo menos, tomar um conjunto de qualquer tipo.
Compreendo todas as dificuldades relacionadas com o "type aliasing" e as optimizações do compilador.
Penso que o que se quer fazer, só se pode fazer através dos métodos de classe na MQL5. Embora, esteja à espera de mais respostas, não tenho muita experiência nisso.
Cavalheiros, como declarar uma função em MKL que leva um ponteiro (referência em µl) a qualquer coisa (análogo a nulo* em C/C++ )? Não me refiro ao elenco por árvore genealógica, mas ao elenco por tipos não relacionados. Pelo menos, tomar um conjunto de qualquer tipo.
Todos os trapos relativos ao "type aliasing" e optimizações do compilador eu compreendo.
Os apontadores MKL (descritores) caem imediatamente. O problema estava na declaração da função importada da dll, os modelos não podem ser aí mordidos. Descobri que o pode fazer desta forma:
#import ...
int send(..., char &buf[], ...);
int send(..., short &buf[], ...);
#import
E tudo estará ligado a uma única função. Isso resolve o meu problema. Obrigado a todos os que responderam pela resposta.
Itum: Por favor, digam-me como encontrar o máximo de levantamento de fundos em Excel... Dê-me a fórmula...
Se, como no testador de equidade, é difícil no Excel, porque o testador tem em conta não só o desvio negativo, mas também o desvio positivo - o lucro potencial subrecebido.
-Aleks-: Se como no testador de acções, é complicado em Excel, porque o testador tem em conta não só o desvio negativo, mas também o desvio positivo - o lucro potencial subrecebido.
Não há aí nada de complicado. A primeira coluna representa os valores de equidade, a segunda coluna representa o valor máximo de equidade da primeira para a linha actual e a terceira coluna representa o drawdown, a diferença entre a segunda e a primeira coluna. E depois tirar o máximo da terceira coluna.
Sergei Vladimirov: Não há aí nada de complicado. A primeira coluna mostra os valores de equidade, a segunda coluna mostra a equidade máxima da primeira para a linha actual, e a terceira coluna mostra o drawdown, a diferença entre a segunda e a primeira coluna. Bem, tire o máximo da terceira coluna.
Tais cálculos não caberão nos dados do testador. Temos de considerar a mudança no capital próprio entre a abertura e o fecho da posição, uma vez que a mudança máxima no capital próprio tem de ser introduzida numa coluna separada e o módulo tem de ser considerado e depois o máximo tem de ser escolhido a partir desta coluna. Este é um comércio lucrativo, caso contrário é necessário identificar o ponto de lucro máximo do capital próprio e fazer cálculos sobre ele....
-Aleks-: Tais cálculos não corresponderão aos dados do testador. É necessário considerar a alteração de equidade entre a abertura e o fecho da posição - a alteração máxima de equidade tem de ser colocada numa coluna separada e o módulo tem de ser considerado, e depois o máximo tem de ser seleccionado a partir desta coluna. Isto é relevante para o comércio lucrativo, enquanto no caso oposto temos de definir o ponto de lucro máximo por equidade e fazer cálculos sobre ele.....
O que é que o testador tem a ver com isto? A pergunta era sobre o Excel. Não compreendo porque é que é importante lidar com ela neste fio. Na essência não é necessário nenhum módulo, o drawdown = último máximo menos valor actual, o resultado será sempre não-negativo. Ou vice-versa, valor actual menos o último máximo, então o resultado será sempre negativo ou zero. No primeiro caso, tomar o máximo da coluna, no segundo, tomar o mínimo.
Sergei Vladimirov: O que é que isto tem a ver com o testador? A pergunta era sobre o Excel. Só não é claro porque é que está neste fio. Na essência - nenhum módulo é necessário, drawdown = último máximo menos valor actual, o resultado será sempre não-negativo. Ou vice-versa, o valor actual menos o último máximo, então será sempre negativo ou zero. No primeiro caso, tomar o máximo da coluna, no segundo, tomar o mínimo.
Drawdown no testador = máximo - mínimo, não importa em que ponto a posição foi fechada. Por outras palavras, se a posição vai na sua direcção no início, e depois fecha na direcção oposta, o levantamento de capital é a secção do máximo para o mínimo, e não do preço de abertura para o preço de fecho. Este é o caso no MT4.
-Aleks-: Drawdown no testador = máximo - mínimo, não importa em que ponto a posição foi fechada. Por outras palavras, se a posição começou a ir na sua direcção, mas foi fechada na direcção oposta, o levantamento de capital é a secção do máximo para o mínimo, e não do preço de abertura para o fecho da posição. É o caso do MT4.
Não escrevi nada sobre preços de abertura e fecho.
Cavalheiros, como declarar uma função em MKL que leva um ponteiro (referência em µl) a qualquer coisa (análogo a nulo* em C/C++ )? Não me refiro ao elenco por árvore genealógica, mas ao elenco por tipos não relacionados. Pelo menos, tomar um conjunto de qualquer tipo.
Compreendo todas as dificuldades relacionadas com o "type aliasing" e as optimizações do compilador.Cavalheiros, como declarar uma função em MKL que leva um ponteiro (referência em µl) a qualquer coisa (análogo a nulo* em C/C++ )? Não me refiro ao elenco por árvore genealógica, mas ao elenco por tipos não relacionados. Pelo menos, tomar um conjunto de qualquer tipo.
Compreendo todas as dificuldades relacionadas com o "type aliasing" e as optimizações do compilador.Cavalheiros, como declarar uma função em MKL que leva um ponteiro (referência em µl) a qualquer coisa (análogo a nulo* em C/C++ )? Não me refiro ao elenco por árvore genealógica, mas ao elenco por tipos não relacionados. Pelo menos, tomar um conjunto de qualquer tipo.
Todos os trapos relativos ao "type aliasing" e optimizações do compilador eu compreendo.Bem, eles já acrescentaram * ponteiros vazios, não é verdade? Além disso, é possível utilizar modelos, como
template<typename T>
void f(T ¶meter)
{
}
É como se já tivessem acrescentado indicações * vazias. Além disso, é possível utilizar modelos, como
template<typename T>
void f(T ¶meter)
{
}
Os apontadores MKL (descritores) caem imediatamente. O problema estava na declaração da função importada da dll, os modelos não podem ser aí mordidos. Descobri que o pode fazer desta forma:
E tudo estará ligado a uma única função. Isso resolve o meu problema. Obrigado a todos os que responderam pela resposta.Por favor, digam-me como encontrar o máximo de levantamento de fundos em Excel... Dê-me a fórmula...
Se como no testador de acções, é complicado em Excel, porque o testador tem em conta não só o desvio negativo, mas também o desvio positivo - o lucro potencial subrecebido.
Não há aí nada de complicado. A primeira coluna mostra os valores de equidade, a segunda coluna mostra a equidade máxima da primeira para a linha actual, e a terceira coluna mostra o drawdown, a diferença entre a segunda e a primeira coluna. Bem, tire o máximo da terceira coluna.
Tais cálculos não corresponderão aos dados do testador. É necessário considerar a alteração de equidade entre a abertura e o fecho da posição - a alteração máxima de equidade tem de ser colocada numa coluna separada e o módulo tem de ser considerado, e depois o máximo tem de ser seleccionado a partir desta coluna. Isto é relevante para o comércio lucrativo, enquanto no caso oposto temos de definir o ponto de lucro máximo por equidade e fazer cálculos sobre ele.....
O que é que isto tem a ver com o testador? A pergunta era sobre o Excel. Só não é claro porque é que está neste fio. Na essência - nenhum módulo é necessário, drawdown = último máximo menos valor actual, o resultado será sempre não-negativo. Ou vice-versa, o valor actual menos o último máximo, então será sempre negativo ou zero. No primeiro caso, tomar o máximo da coluna, no segundo, tomar o mínimo.
Drawdown no testador = máximo - mínimo, não importa em que ponto a posição foi fechada. Por outras palavras, se a posição começou a ir na sua direcção, mas foi fechada na direcção oposta, o levantamento de capital é a secção do máximo para o mínimo, e não do preço de abertura para o fecho da posição. É o caso do MT4.