Ciao ragazzi tutti ) Per favore aiutatemi a scrivere un codice (più correttamente una piccola parte) il mio obiettivo è quello di scrivere una funzione seleziona la cronologia degli ordini e lì ho bisogno di vedere il valore al quale l'ultimo ordine è stato chiuso, positivo o negativo. Per favore consigliate chi lo fa (mi sto già scervellando )))))
Ciao ragazzi tutti ) Per favore aiutatemi a scrivere un codice (più correttamente una piccola parte) il mio obiettivo è quello di scrivere una funzione seleziona la cronologia degli ordini e lì ho bisogno di vedere il valore al quale l'ultimo ordine è stato chiuso, positivo o negativo. Chi conosce il codice è pregato di consigliarmi (mi sono già scervellato )))))
Grazie in anticipo.
MQL4
//+------------------------------------------------------------------+// Возвращает флаг закрытия последней позиции в убытке. Позиция выбирается по символу, типу и магикуbool isLossLastClosePos(string sy, int op, int mn) {
datetime t=0;
int i, j=EMPTY;
for(i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {
if(OrderMagicNumber()!=mn) continue;
if(OrderSymbol()!=sy) continue;
if(OrderType()!=op) continue;
if(t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
if(OrderSelect(j,SELECT_BY_POS,MODE_HISTORY)) {
if(OrderProfit()+OrderCommission()+OrderSwap()<0) return(true);
}
return(false);
}
//+------------------------------------------------------------------+// Возвращает флаг закрытия последней позиции в убытке. Позиция выбирается по символу и магикуbool isLossLastClosePos(string sy, int mn) {
datetime t=0;
int i, j=EMPTY;
for(i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {
if(OrderMagicNumber()!=mn) continue;
if(OrderSymbol()!=sy) continue;
if(OrderType()>1) continue;
if(t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
if(OrderSelect(j,SELECT_BY_POS,MODE_HISTORY)) {
if(OrderProfit()+OrderCommission()+OrderSwap()<0) return(true);
}
return(false);
}
//+------------------------------------------------------------------+
Ciao ragazzi tutti ) Per favore aiutatemi a scrivere un codice (più correttamente una piccola parte) il mio obiettivo è quello di scrivere una funzione seleziona la cronologia degli ordini e lì ho bisogno di vedere il valore al quale l'ultimo ordine è stato chiuso, positivo o negativo. Per favore consigliate chi lo fa (mi sto già scervellando )))))
Grazie in anticipo.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.05.2008 |//| Описание : Возвращает тип закрытия по профиту, //| 1= позиция закрыта в профите, |//| 2- позиция закрыта в минусе |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int isCloseLastPosByStoporTake(string sy="", int op=-1, int mn=-1) {
datetime t;
int i, j=-1, 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=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
double ocp=OrderProfit();
if (OrderProfit()+OrderCommission()+OrderSwap()>0) return(1);
if (OrderProfit()+OrderCommission()+OrderSwap()<0) return(2);
}
return(0);
}
Per scoprirlo, fate così:
if(isCloseLastPosByStoporTake("",-1,-1)==1) // Позиция закрыта в плюсеif(isCloseLastPosByStoporTake("",-1,-1)==2) // Позиция закрыта в минусе
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает флаг убыточности последней позиции. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+bool isLossLastPos(string sy="", int op=-1, int mn=-1) {
datetime t;
int i, j=-1, 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=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderProfit()<0) return(True);
}
return(False);
}
Ti rendi conto di essere sciocco con le tue allusioni ora, vero?
Il codice è mio. Ho preso la logica e i nomi delle variabili da Igor. Quindi non accetto il tuo suggerimento. Il nome della funzione? Riflette il significato, o non sei un incapace in inglese?
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Qual è lo scopo del modificatore const alla fine di un metodo?
Quali benefici si ottengono quando si usa questo modificatore nell'inizializzazione dei nomi delle variabili?
Sono consapevole del fatto che la variabile non può cambiare e ottenere un valore diverso.
Forse questo modificatore accelera il lavoro del programma?
Qual è lo scopo del modificatore const alla fine di un metodo?
Quali benefici si ottengono quando si usa questo modificatore nell'inizializzazione dei nomi delle variabili?
Sono consapevole del fatto che la variabile non può cambiare e ottenere un valore diverso.
Forse questo modificatore accelera il funzionamento del programma?
Questo è da OOP. Significa che il metodo non cambia l'oggetto da cui è chiamato. Le argomentazioni non c'entrano niente.
Il vantaggio è che quando si guarda il prototipo si vedrà che l'oggetto non sarà cambiato, cioè la visibilità.
Ciao ragazzi tutti ) Per favore aiutatemi a scrivere un codice (più correttamente una piccola parte) il mio obiettivo è quello di scrivere una funzione seleziona la cronologia degli ordini e lì ho bisogno di vedere il valore al quale l'ultimo ordine è stato chiuso, positivo o negativo. Per favore consigliate chi lo fa (mi sto già scervellando )))))
Grazie in anticipo.
Ciao ragazzi tutti ) Per favore aiutatemi a scrivere un codice (più correttamente una piccola parte) il mio obiettivo è quello di scrivere una funzione seleziona la cronologia degli ordini e lì ho bisogno di vedere il valore al quale l'ultimo ordine è stato chiuso, positivo o negativo. Chi conosce il codice è pregato di consigliarmi (mi sono già scervellato )))))
Grazie in anticipo.
MQL4
Lo controlliamo in questo modo:
Ciao ragazzi tutti ) Per favore aiutatemi a scrivere un codice (più correttamente una piccola parte) il mio obiettivo è quello di scrivere una funzione seleziona la cronologia degli ordini e lì ho bisogno di vedere il valore al quale l'ultimo ordine è stato chiuso, positivo o negativo. Per favore consigliate chi lo fa (mi sto già scervellando )))))
Grazie in anticipo.
Per scoprirlo, fate così:
MQL4
Controlla in questo modo:
))))
))))
Ti rendi conto di essere sciocco con le tue allusioni ora, vero?
Il codice è mio. Ho preso la logica e i nomi delle variabili da Igor. Quindi non accetto il tuo suggerimento. Il nome della funzione? Riflette il significato, o non sei un incapace in inglese?
MQL4
Controlla in questo modo:
per scoprire cosa stai facendo:
Grazie mille!!!