Diese Funktion gibt den Index der Bestellung oder Position per Ticket zurück. Die genauere Auswahl der zu durchsuchenden Aufträge oder Positionen wird durch externe Parameter festgelegt:
ti - Reihenfolge der Tickets, Position. Der Wert dieses Parameters kann nicht leer oder Null sein.
sy - Bezeichnung des Marktinstruments. Wenn Sie diesen Parameter setzen, berücksichtigt die Funktion nur Positionen des angegebenen Instruments. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Art der Handelsoperation, des Auftrags oder der Position. Gültige Werte: OP_BUY, OP_SELL, OP_BUYLIMIT, OP_SELLLIMIT, OP_BUYSTOP, OP_SELLSTOP oder -1. Der Standardwert von -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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() Funktion.
Diese Funktion gibt den Index der letzten offenen Position oder -1 zurück. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter definiert:
sy - Bezeichnung des Marktinstruments. Wenn wir diesen Parameter setzen, berücksichtigt die Funktion nur Positionen des angegebenen Instruments. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);
}
Diese Funktion gibt die Losgröße der letzten offenen Position oder -1 zurück. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter definiert:
sy - Bezeichnung des Marktinstruments. Wenn Sie diesen Parameter setzen, berücksichtigt die Funktion nur Positionen des angegebenen Instruments. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);
}
Diese Funktion gibt die maximale Losgröße aus der Anzahl der offenen Positionen zurück. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter festgelegt:
sy - Bezeichnung des Marktinstruments. Wenn dieser Parameter gesetzt ist, berücksichtigt die Funktion nur Positionen des angegebenen Symbols. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);
}
Diese Funktion liefert die minimale Losgröße aus der Anzahl der offenen Positionen. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter festgelegt:
sy - Bezeichnung des Marktinstruments. Wenn dieser Parameter gesetzt ist, berücksichtigt die Funktion nur Positionen des angegebenen Symbols. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);
}
Diese Funktion gibt die Anzahl der derzeit offenen Stellen zurück. Eine genauere Auswahl der Zählpositionen wird durch externe Parameter festgelegt:
sy - Bezeichnung des Marktinstruments. Wenn dieser Parameter gesetzt ist, berücksichtigt die Funktion nur Positionen des angegebenen Instruments. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает количество позиций. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int NumberOfPositions(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersTotal(), kp=0;
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) kp++;
}
}
}
}
}
return(kp);
}
Diese Funktion gibt den Gesamtgewinn in der Währung der seit einem bestimmten Datum geschlossenen Positionen zurück. Eine genauere Auswahl der zu berücksichtigenden Positionen wird über externe Parameter festgelegt:
sy - Bezeichnung des Marktinstruments. Wenn Sie diesen Parameter angeben, berücksichtigt die Funktion nur Positionen dieses Instruments. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
dt - Datum und Zeit in Sekunden seit 1970. Standardwert - 0 bedeutet, dass alle in der Vergangenheit verfügbaren Positionen berücksichtigt werden.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);
}
Diese Funktion gibt den Gesamtgewinn der aktuell geöffneten Positionen zurück. Der Gewinn wird in Einheiten der Einzahlungswährung zurückgegeben. Eine genauere Auswahl der zu berücksichtigenden Positionen wird über externe Parameter festgelegt:
sy - Bezeichnung des Marktinstruments. Wenn Sie diesen Parameter angeben, berücksichtigt die Funktion nur Positionen dieses Instruments. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает суммарный профит открытых позиций в валюте депозита |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+double GetProfitOpenPosInCurrency(string sy="", int op=-1, int mn=-1) {
double p=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=="") && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) {
p+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
return(p);
}
Diese Funktion gibt den Gesamtgewinn der aktuell geöffneten Positionen zurück. Der Gewinn wird in Punkten zurückgegeben. Eine genauere Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt:
sy - Bezeichnung des Marktinstruments. Wenn Sie diesen Parameter angeben, berücksichtigt die Funktion nur Positionen dieses Instruments. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает суммарный профит открытых позиций в пунктах |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int GetProfitOpenPosInPoint(string sy="", int op=-1, int mn=-1) {
double p;
int i, k=OrdersTotal(), pr=0;
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) {
p=MarketInfo(OrderSymbol(), MODE_POINT);
if (p==0) if (StringFind(OrderSymbol(), "JPY")<0) p=0.0001; else p=0.01;
if (OrderType()==OP_BUY) {
pr+=(MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p;
}
if (OrderType()==OP_SELL) {
pr+=(OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p;
}
}
}
}
}
return(pr);
}
Diese Funktion gibt das Ticket der letzten offenen Position oder -1 zurück. Eine genauere Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt:
sy - Bezeichnung des Marktinstruments. Wenn Sie diesen Parameter angeben, berücksichtigt die Funktion nur Positionen dieses Instruments. Der Standardwert "" bedeutet ein beliebiges Marktinstrument. NULL bedeutet das aktuelle Instrument.
op - Handelsoperation, Positionsart. Gültige Werte: OP_BUY, OP_SELL oder -1. Der Standardwert -1 bedeutet eine beliebige Position.
mn - Positionsbezeichner, MagicNumber. Der Standardwert -1 bedeutet einen beliebigen Bezeichner.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);
}
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Die Funktion GetIndexByTicket().
Diese Funktion gibt den Index der Bestellung oder Position per Ticket zurück. Die genauere Auswahl der zu durchsuchenden Aufträge oder Positionen wird durch externe Parameter festgelegt:
GetIndexLastPos() Funktion.
Diese Funktion gibt den Index der letzten offenen Position oder -1 zurück. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter definiert:
Die Funktion GetLotLastPos().
Diese Funktion gibt die Losgröße der letzten offenen Position oder -1 zurück. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter definiert:
GetMaxLotFromOpenPos() Funktion.
Diese Funktion gibt die maximale Losgröße aus der Anzahl der offenen Positionen zurück. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter festgelegt:
GetMinLotFromOpenPos() Funktion.
Diese Funktion liefert die minimale Losgröße aus der Anzahl der offenen Positionen. Eine genauere Auswahl der zu prüfenden Positionen wird durch externe Parameter festgelegt:
Die Funktion NumberOfPositions().
Diese Funktion gibt die Anzahl der derzeit offenen Stellen zurück. Eine genauere Auswahl der Zählpositionen wird durch externe Parameter festgelegt:
GetProfitFromDateInCurrency() Funktion.
Diese Funktion gibt den Gesamtgewinn in der Währung der seit einem bestimmten Datum geschlossenen Positionen zurück. Eine genauere Auswahl der zu berücksichtigenden Positionen wird über externe Parameter festgelegt:
GetProfitOpenPosInCurrency() Funktion.
Diese Funktion gibt den Gesamtgewinn der aktuell geöffneten Positionen zurück. Der Gewinn wird in Einheiten der Einzahlungswährung zurückgegeben. Eine genauere Auswahl der zu berücksichtigenden Positionen wird über externe Parameter festgelegt:
GetProfitOpenPosInPoint() Funktion.
Diese Funktion gibt den Gesamtgewinn der aktuell geöffneten Positionen zurück. Der Gewinn wird in Punkten zurückgegeben. Eine genauere Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt:
GetTicketLastPos() Funktion.
Diese Funktion gibt das Ticket der letzten offenen Position oder -1 zurück. Eine genauere Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt: