이 함수는 티켓으로 주문 또는 위치의 인덱스를 반환합니다. 정렬할 주문 또는 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
ti - 주문 티켓, 위치. 이 매개변수의 값은 비어 있거나 null일 수 없습니다.
sy - 시장 상품의 이름. 이 매개변수를 설정하면 이 기능은 지정된 도구의 위치만 고려합니다. 기본값은 "" 는 모든 시장 상품을 의미합니다. NULL 은 현재 기기를 의미합니다.
op - 거래 작업 , 주문 유형 또는 위치. 유효한 값은 OP_BUY , OP_SELL , OP_BUYLIMIT , OP_SELLLIMIT , OP_BUYSTOP , OP_SELLSTOP 또는 -1 입니다. 기본값 -1 은 임의의 위치를 의미합니다.
mn - 위치 ID, MagicNumber. 기본값 -1 은 모든 식별자를 의미합니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает индекс ордера или позиции по тикету. |//+----------------------------------------------------------------------------+//| Параметры: |//| ti - тикет ордера, позиции |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int GetIndexByTicket( int ti, string sy= "" , int op=- 1 , int mn=- 1 ) {
int i, k= OrdersTotal ();
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
if ((mn< 0 || OrderMagicNumber()==mn) && OrderTicket()==ti) return (i);
}
}
}
return (- 1 );
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 10.05.2008 |//| Описание : Возвращает корреляцию двух рядов. |//+----------------------------------------------------------------------------+//| Параметры: |//| x - массив значений первого ряда |//| y - массив значений второго ряда |//+----------------------------------------------------------------------------+double Correlation( double & x[], double & y[]) {
double co= 0 , sa= 0 , sb= 0 , sc= 0 , xs= 0 , ys= 0 ;
int i, k= MathMin ( ArraySize (x), ArraySize (y));
if (k> 0 ) {
for (i= 0 ; i<k; i++) {
xs+=x[i]; ys+=y[i];
}
xs/=k; ys/=k;
for (i= 0 ; i<k; i++) {
sa+=(x[i]-xs)*(y[i]-ys);
sb+=(x[i]-xs)*(x[i]-xs);
sc+=(y[i]-ys)*(y[i]-ys);
}
sb= MathSqrt (sb*sc);
if (sb!= 0 ) co=sa/sb;
}
return (co);
}
GetIndexLastPos() 함수.
이 함수는 마지막 열린 위치의 인덱스 또는 -1 을 반환합니다. 확인된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
sy - 시장 상품의 이름. 이 매개변수를 설정하면 이 기능은 지정된 도구의 위치만 고려합니다. 기본값은 "" 는 모든 시장 상품을 의미합니다. NULL 은 현재 기기를 의미합니다.
op - 거래 작업 , 위치 유형. 유효한 값: OP_BUY , OP_SELL 또는 -1 . 기본값 -1 은 임의의 위치를 의미합니다.
mn - 위치 ID, MagicNumber. 기본값 -1 은 모든 식별자를 의미합니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает индекс последней открытой позиции или -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int GetIndexLastPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
datetime o;
int i, k= OrdersTotal (), r=- 1 ;
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy== "" ) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op< 0 || OrderType()==op) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (o<OrderOpenTime()) {
o=OrderOpenTime();
r=i;
}
}
}
}
}
}
}
return (r);
}
이 함수는 마지막 열린 위치의 로트 크기 또는 -1 을 반환합니다. 확인된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
sy - 시장 상품의 이름. 이 매개변수를 설정하면 이 기능은 지정된 도구의 위치만 고려합니다. 기본값은 "" 는 모든 시장 상품을 의미합니다. NULL 은 현재 기기를 의미합니다.
op - 거래 작업 , 위치 유형. 유효한 값: OP_BUY , OP_SELL 또는 -1 . 기본값 -1 은 임의의 위치를 의미합니다.
mn - 위치 ID, MagicNumber. 기본값 -1 은 모든 식별자를 의미합니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает размер лота последней открытой позиции или -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+double GetLotLastPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
datetime o;
double l=- 1 ;
int i, k= OrdersTotal ();
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy== "" ) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op< 0 || OrderType()==op) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (o<OrderOpenTime()) {
o=OrderOpenTime();
l=OrderLots();
}
}
}
}
}
}
}
return (l);
}
이 함수는 열린 위치의 수에서 최대 로트 크기를 반환합니다. 확인된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
sy - 시장 상품의 이름. 이 매개변수를 설정하면 이 기능은 지정된 도구의 위치만 고려합니다. 기본값은 "" 는 모든 시장 상품을 의미합니다. NULL 은 현재 기기를 의미합니다.
op - 거래 작업 , 위치 유형. 유효한 값: OP_BUY , OP_SELL 또는 -1 . 기본값 -1 은 임의의 위치를 의미합니다.
mn - 위치 ID, MagicNumber. 기본값 -1 은 모든 식별자를 의미합니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает максимальный размер лота из открытых позиций |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+double GetMaxLotFromOpenPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
double l= 0 ;
int i, k= OrdersTotal ();
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy== "" ) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op< 0 || OrderType()==op) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (l<OrderLots()) l=OrderLots();
}
}
}
}
}
}
return (l);
}
이 함수는 열린 위치의 수에서 최소 로트 크기를 반환합니다. 확인된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
sy - 시장 상품의 이름. 이 매개변수를 설정하면 이 기능은 지정된 도구의 위치만 고려합니다. 기본값은 "" 는 모든 시장 상품을 의미합니다. NULL 은 현재 기기를 의미합니다.
op - 거래 작업 , 위치 유형. 유효한 값: OP_BUY , OP_SELL 또는 -1 . 기본값 -1 은 임의의 위치를 의미합니다.
mn - 위치 ID, MagicNumber. 기본값 -1 은 모든 식별자를 의미합니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает минимальный размер лота из открытых позиций |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+double GetMinLotFromOpenPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
double l= 0 ;
int i, k= OrdersTotal ();
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy== "" ) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op< 0 || OrderType()==op) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (l== 0 || l>OrderLots()) l=OrderLots();
}
}
}
}
}
}
return (l);
}
이 함수는 특정 날짜에 마감된 포지션의 예금 통화로 총 이익을 반환합니다. 고려할 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
sy - 시장 상품의 이름. 이 매개변수를 설정하면 이 기능은 지정된 도구의 위치만 고려합니다. 기본값은 "" 는 모든 시장 상품을 의미합니다. NULL 은 현재 기기를 의미합니다.
op - 거래 작업 , 위치 유형. 유효한 값: OP_BUY , OP_SELL 또는 -1 . 기본값 -1 은 임의의 위치를 의미합니다.
mn - 위치 ID, MagicNumber. 기본값 -1 은 모든 식별자를 의미합니다.
dt - 1970년 이후의 날짜 및 시간(초). 기본값 - 0 은 기록에서 사용 가능한 모든 위치를 고려함을 의미합니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает суммарный профит в валюте депозита |//| закрытых с определённой даты позиций |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| dt - Дата и время в секундах с 1970 года ( 0 - с начала истории) |//+----------------------------------------------------------------------------+double GetProfitFromDateInCurrency( string sy= "" , int op=- 1 , int mn=- 1 , datetime dt= 0 )
{
double p= 0 ;
int i, k=OrdersHistoryTotal();
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (dt<OrderCloseTime()) {
p+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
}
return (p);
}
이 함수는 마지막 열린 위치의 티켓 또는 -1을 반환합니다. 고려할 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
sy - 시장 상품의 이름. 이 매개변수를 설정하면 이 기능은 지정된 도구의 위치만 고려합니다. 기본값은 "" 는 모든 시장 상품을 의미합니다. NULL 은 현재 기기를 의미합니다.
op - 거래 작업 , 위치 유형. 유효한 값: OP_BUY , OP_SELL 또는 -1 . 기본값 -1 은 임의의 위치를 의미합니다.
mn - 위치 ID, MagicNumber. 기본값 -1 은 모든 식별자를 의미합니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает тикет последней открытой позиции или -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int GetTicketLastPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
datetime o;
int i, k= OrdersTotal (), r=- 1 ;
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy== "" ) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op< 0 || OrderType()==op) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (o<OrderOpenTime()) {
o=OrderOpenTime();
r=OrderTicket();
}
}
}
}
}
}
}
return (r);
}
GetIndexByTicket() 함수.
이 함수는 티켓으로 주문 또는 위치의 인덱스를 반환합니다. 정렬할 주문 또는 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
GetIndexLastPos() 함수.
이 함수는 마지막 열린 위치의 인덱스 또는 -1 을 반환합니다. 확인된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
GetLotLastPos() 함수.
이 함수는 마지막 열린 위치의 로트 크기 또는 -1 을 반환합니다. 확인된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
GetMaxLotFromOpenPos() 함수.
이 함수는 열린 위치의 수에서 최대 로트 크기를 반환합니다. 확인된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
GetMinLotFromOpenPos() 함수.
이 함수는 열린 위치의 수에서 최소 로트 크기를 반환합니다. 확인된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
NumberOfPositions() 함수.
이 함수는 현재 열려 있는 위치의 수를 반환합니다. 계산된 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
GetProfitFromDateInCurrency() 함수.
이 함수는 특정 날짜에 마감된 포지션의 예금 통화로 총 이익을 반환합니다. 고려할 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
GetProfitOpenPosInCurrency() 함수.
이 함수는 현재 열려 있는 포지션의 총 이익을 반환합니다. 이익은 예금 통화 단위로 반환됩니다. 고려할 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
GetProfitOpenPosInPoint() 함수.
이 함수는 현재 열려 있는 포지션의 총 이익을 반환합니다. 이익은 포인트로 반환됩니다. 고려할 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
GetTicketLastPos() 함수.
이 함수는 마지막 열린 위치의 티켓 또는 -1을 반환합니다. 고려할 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.