Caro KimIV, gostaria de lhe pedir para modificar o e-SOTrailing da seguinte maneira : (Todas as táticas neste caso são colocar ordens de parada a alguma distância do fractal mais próximo e movê-los após o preço). Acho que não é tão difícil usar sua função FindNearFractal, talvez?
Esta função calcula e retorna a contagem Z da série numérica passada na matriz por referência.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 27.10.2008 |//| Описание : Возвращает Z-счёт числового ряда. |//+----------------------------------------------------------------------------+//| Параметры: |//| arr - массив значений числового ряда |//+----------------------------------------------------------------------------+double ArrayZ(double& arr[]){double x, z;int i, l=0, n=ArraySize( arr), r=1, w=0;for( i=0; i< n; i++){if( i==0) r=1;else{if( arr[ i-1]* arr[ i]<0) r++;}if( arr[ i]>0) w++;else l++;}if( n>2){if( w>0&& l>0){
x=2* w* l;if( x!= n) z=( n*( r-0.5)- x)/MathSqrt( x*( x- n)/( n-1));}else{if( l==0) z=100;else z=-100;Print("ArrayZ(): Нет чередования серий!");}return( z);}else{Print("ArrayZ(): В массиве недостаточно элементов!");return(0);}}
SZ. Em anexo está um roteiro para testar a função ArrayZ(). A propósito, este roteiro preenche a matriz com dados do livro de Ralph Vince "The Mathematics of Capital Management".
Executa a exclusão de um elemento de matriz com o índice dado. Devolve o tamanho da nova matriz ou -1 se nada tiver sido removido. A função ArrayDeleteInt() aceita os seguintes parâmetros obrigatórios:
m - Conjunto de elementos.
i - Índice do elemento da matriz.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 31.10.2008 |//| Описание : Выполняет удаление элемента массива с заданным индексом. |//| Возвращает размер нового массива или -1, |//| если не удалось ничего удалить. |//+----------------------------------------------------------------------------+//| Параметры: |//| m - массив элементов |//| i - индекс элемента |//+----------------------------------------------------------------------------+int ArrayDeleteInt(int& m[],int i){int j, k=ArraySize( m);if( i>=0&& i< k){for( j= i; j< k; j++) m[ j]= m[ j+1];
k=ArrayResize( m, k-1);return( k);}elsePrint("ArrayDeleteInt(): Неверный индекс элемента массива! i=", i);return(-1);}
ZS. Anexado um roteiro para testar a função ArrayDeleteInt().
Realiza a eliminação de um elemento de matriz com um determinado índice. Devolve o tamanho da nova matriz ou -1 se nada tiver sido apagado. A função ArrayDeleteDouble() aceita os seguintes parâmetros obrigatórios:
m - Matriz de elementos do tipo duplo.
i - Índice do elemento da matriz.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 31.10.2008 |//| Описание : Выполняет удаление элемента массива с заданным индексом. |//| Возвращает размер нового массива или -1, |//| если не удалось ничего удалить. |//+----------------------------------------------------------------------------+//| Параметры: |//| m - массив элементов |//| i - индекс элемента |//+----------------------------------------------------------------------------+int ArrayDeleteDouble(double& m[],int i){int j, k=ArraySize( m);if( i>=0&& i< k){for( j= i; j< k; j++) m[ j]= m[ j+1];
k=ArrayResize( m, k-1);return( k);}elsePrint("ArrayDeleteDouble(): Неверный индекс элемента массива! i=", i);return(-1);}
P.S. Em anexo está um roteiro para testar a função ArrayDeleteDouble().
Executa a exclusão de um elemento de matriz com o índice dado. Devolve o tamanho da nova matriz ou -1 se nada puder ser removido. A função ArrayDeleteString() aceita os seguintes parâmetros obrigatórios:
m - Conjunto de elementos do tipo corda.
i - Índice do elemento da matriz.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 31.10.2008 |//| Описание : Выполняет удаление элемента массива с заданным индексом. |//| Возвращает размер нового массива или -1, |//| если не удалось ничего удалить. |//+----------------------------------------------------------------------------+//| Параметры: |//| m - массив элементов |//| i - индекс элемента |//+----------------------------------------------------------------------------+int ArrayDeleteString(string& m[],int i){int j, k=ArraySize( m);if( i>=0&& i< k){for( j= i; j< k; j++) m[ j]= m[ j+1];
k=ArrayResize( m, k-1);return( k);}elsePrint("ArrayDeleteString(): Неверный индекс элемента массива! i=", i);return(-1);}
ZS. Em anexo está um roteiro para testar a função ArrayDeleteString().
aqui
Obrigado, não estava lá ontem ou eu perdi-o.
Obrigado, não estava lá ontem ou eu perdi-o.
>> não era.
Sim, agora este aqui.
#incluir "b-KimIV.mqh" // Biblioteca de funções adicionais
Caro KimIV, gostaria de lhe pedir para modificar o e-SOTrailing da seguinte maneira : (Todas as táticas neste caso são colocar ordens de parada a alguma distância do fractal mais próximo e movê-los após o preço). Acho que não é tão difícil usar sua função FindNearFractal, talvez?
ordens de pedidos nulos() {
......
pa=FindNearFractal(OrderSymbol(), 0, MODE_UPPER); //MarketInfo(OrderSymbol(), MODE_ASK);
......
pb=FindNearFractal(OrderSymbol(), 0, MODE_LOWER);//MarketInfo(OrderSymbol(), MODE_BID);
Sim, agora este aqui.
#incluir "b-KimIV.mqh" // Biblioteca de funções adicionais
>> mais tarde.
Já é impossível na primeira página...
Vou afixar aqui... Se o posto a ser atualizado for bloqueado, eu o re-postarei. Portanto, fique de olho no fio :-)
Obrigado - este é o único.
A função ArrayZ().
Esta função calcula e retorna a contagem Z da série numérica passada na matriz por referência.
SZ. Em anexo está um roteiro para testar a função ArrayZ(). A propósito, este roteiro preenche a matriz com dados do livro de Ralph Vince "The Mathematics of Capital Management".
ZZZ. Atualizei a biblioteca b-Array em meu site.
A função ArrayDeleteInt()
Executa a exclusão de um elemento de matriz com o índice dado. Devolve o tamanho da nova matriz ou -1 se nada tiver sido removido. A função ArrayDeleteInt() aceita os seguintes parâmetros obrigatórios:
- m - Conjunto de elementos.
- i - Índice do elemento da matriz.
ZS. Anexado um roteiro para testar a função ArrayDeleteInt().Função ArrayDeleteDouble()
Realiza a eliminação de um elemento de matriz com um determinado índice. Devolve o tamanho da nova matriz ou -1 se nada tiver sido apagado. A função ArrayDeleteDouble() aceita os seguintes parâmetros obrigatórios:
- m - Matriz de elementos do tipo duplo.
- i - Índice do elemento da matriz.
P.S. Em anexo está um roteiro para testar a função ArrayDeleteDouble().A função ArrayDeleteString()
Executa a exclusão de um elemento de matriz com o índice dado. Devolve o tamanho da nova matriz ou -1 se nada puder ser removido. A função ArrayDeleteString() aceita os seguintes parâmetros obrigatórios:
- m - Conjunto de elementos do tipo corda.
- i - Índice do elemento da matriz.
ZS. Em anexo está um roteiro para testar a função ArrayDeleteString().