Dear KimIV, I would like to ask you to modify e-SOTrailing in the following way : (All tactics in this case is to place stop orders at some distance from the nearest fractal and to move them after the price). I guess it's not that difficult using your FindNearFractal function, maybe?
This function calculates and returns the Z-count of the number series passed in the array by reference.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);}}
ZS. Attached is a script for testing the ArrayZ() function. By the way, this script fills the array with data from Ralph Vince's book "The Mathematics of Capital Management".
ZZZ. I have updated the b-Array library on my website.
Executes the deletion of an array element with the given index. Returns the size of the new array or -1 if nothing was removed. The ArrayDeleteInt() function accepts the following mandatory parameters:
m - Array of elements.
i - Index of the array element.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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. Attached is a script to test ArrayDeleteInt() function.
Performs the deletion of an array element with a given index. Returns the size of the new array or -1 if nothing was deleted. The ArrayDeleteDouble() function accepts the following mandatory parameters:
m - Array of elements of type double.
i - Index of the array element.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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. Attached is a script to test the ArrayDeleteDouble() function.
Executes the deletion of an array element with the given index. Returns the size of the new array or -1 if nothing could be removed. The ArrayDeleteString() function accepts the following mandatory parameters:
m - Array of elements of type string.
i - Index of the array element.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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. Attached is a script to test the ArrayDeleteString() function.
Allow the use of cookies to log in to the MQL5.com website.
Please enable the necessary setting in your browser, otherwise you will not be able to log in.
You are signed in. Two-factor authentication has been disabled. Set it up again and scan a new QR code, or continue with two-factor authentication disabled.
here
Thanks, it wasn't there yesterday or I missed it.
Thanks, it wasn't there yesterday or I missed it.
>> it wasn't.
Yes, now this one.
#include "b-KimIV.mqh" // Additional function library
Dear KimIV, I would like to ask you to modify e-SOTrailing in the following way : (All tactics in this case is to place stop orders at some distance from the nearest fractal and to move them after the price). I guess it's not that difficult using your FindNearFractal function, maybe?
void TrailingOrders() {
......
pa=FindNearFractal(OrderSymbol(), 0, MODE_UPPER); //MarketInfo(OrderSymbol(), MODE_ASK);
......
pb=FindNearFractal(OrderSymbol(), 0, MODE_LOWER);//MarketInfo(OrderSymbol(), MODE_BID);
Yes, now this one.
#include "b-KimIV.mqh" // Additional functions library
>> later on.
It's already impossible on the front page...
I'll post it here... If the post for the update gets blocked, I'll re-post it. So keep an eye on the thread :-)
Thank you - this is the one.
The ArrayZ() function.
This function calculates and returns the Z-count of the number series passed in the array by reference.
ZS. Attached is a script for testing the ArrayZ() function. By the way, this script fills the array with data from Ralph Vince's book "The Mathematics of Capital Management".
ZZZ. I have updated the b-Array library on my website.
The ArrayDeleteInt() function
Executes the deletion of an array element with the given index. Returns the size of the new array or -1 if nothing was removed. The ArrayDeleteInt() function accepts the following mandatory parameters:
- m - Array of elements.
- i - Index of the array element.
ZS. Attached is a script to test ArrayDeleteInt() function.ArrayDeleteDouble() function
Performs the deletion of an array element with a given index. Returns the size of the new array or -1 if nothing was deleted. The ArrayDeleteDouble() function accepts the following mandatory parameters:
- m - Array of elements of type double.
- i - Index of the array element.
P.S. Attached is a script to test the ArrayDeleteDouble() function.The ArrayDeleteString() function
Executes the deletion of an array element with the given index. Returns the size of the new array or -1 if nothing could be removed. The ArrayDeleteString() function accepts the following mandatory parameters:
- m - Array of elements of type string.
- i - Index of the array element.
ZS. Attached is a script to test the ArrayDeleteString() function.