Propongo di non deviare dal concetto, che, come ho capito, era di copiare una certa quantità di dati delle barre all'inizio del codice, e poi lavorare con questi dati - o stai suggerendo un'eccezione?
E cosa le fa pensare che io sia un programmatore?
Non credo che sia necessario indovinare - cosa sarà più veloce, a volte la risposta può non essere ovvia - solo l'esperienza può dare una risposta a tali domande.
è necessario cancellare gli oggetti con un biglietto che sono già nella storia, ma non quelli che sono ancora sul mercato
Duplicato:
E se il compito è "invertito"?
Rimuovere gli oggetti del biglietto le cui posizioni sono già fuori dal mercato... o NON rimuovere gli oggetti dei biglietti, che non sono ancora nella storia, e rimuovere il resto... Che è fondamentalmente la stessa cosa.
In breve, avete bisogno del biglietto della posizione già chiusa, ma non potete ottenerlo con PositionSelect().
Ecco uno script che restituisce tutti i ticket di posizione chiusi per un dato periodo storico.
voidOnStart()
{ ulong DealTicket; // for Function : replace void with ulongulong PositionTicket;
if ( HistorySelect(TimeCurrent()-30*24*60*60,TimeCurrent()) ) // Select History = 30 days
{ if ( HistoryDealsTotal()>0 )
{ int DealIndex=HistoryDealsTotal()-1;
while ( DealIndex>=0 )
{ DealTicket=HistoryDealGetTicket(DealIndex); // select Deal if ( HistoryDealGetInteger(DealTicket,DEAL_ENTRY)==DEAL_ENTRY_OUT ) // Deal close Position
{ PositionTicket=HistoryDealGetInteger(DealTicket,DEAL_POSITION_ID);
Print("\n DealTicket = "+IntegerToString(DealTicket));
Print("PositionClosedByDeal = "+IntegerToString(PositionTicket));
// if ( some condition ) // for Function : Your selection// return (PositionTicket); // for Function : Enable return
}
DealIndex--;
}
// Print("Warning = Nothing selected from History"); // for Function : remove //
}
elsePrint("Warning = Empty History (select longer History)");
}
elsePrint("Error = "+IntegerToString(GetLastError())+" = Not loaded History");
// return (-1); // for Function : Enable return
}
Il codice dice come convertirlo in una funzione (in inglese)
La persona vuole il codice (idea di implementazione). E lì NON è stato battuto, ma mandato in freelance.
Il moderatore ha un nome?
Conosco Vitaly. È sufficiente che lui mostri la giusta direzione. Il codice è per i pigri e gli idioti. E non è stato Vitaly ad essere mandato a fare il libero professionista. Ma qualcuno che non è un programmatore.
Un'idea di implementazione è un'idea, un algoritmo.
E l'implementazione è il codice, e non sempre quello giusto.
Conosco Vitaly. È sufficiente che lui mostri la giusta direzione. Il codice è per i pigri e gli idioti. E non è stato Vitaly ad essere mandato come freelance. Ma per qualcuno che non è un programmatore.
L'idea di implementazione è un'idea, un algoritmo.
E l'implementazione è il codice, e non sempre quello giusto.
Qualcuno che non è un programmatore ha un nome?
Sì, non sono un programmatore per educazione, ma ogni giorno lavoro per padroneggiare questa abilità non facile.
Sì, non sono un programmatore di formazione, ma lavoro ogni giorno per padroneggiare questa abilità non facile.
Ah, ecco qua. Hai ancora il desiderio di imparare a programmare? Allora cercate di capire ciò che viene offerto e non fatevi passare per esaminatori. Senza offesa, ma è così che ho capito tutte le obiezioni e le domande su CopyRates().
Neanche io sono un programmatore per formazione. Quando ho studiato non c'era questa specialità e contava su un aritmometro "Felix".
Propongo di non deviare dal concetto, che, come ho capito, era di copiare una certa quantità di dati delle barre all'inizio del codice, e poi lavorare con questi dati - o stai suggerendo un'eccezione?
E cosa le fa pensare che io sia un programmatore?
Non credo che sia necessario indovinare - cosa sarà più veloce, a volte la risposta può non essere ovvia - solo l'esperienza può dare una risposta a tali domande.
Allora siete i benvenuti qui.
Devi cancellare gli oggetti con un Ticket che sono già nella storia, ma non quelli che sono ancora sul mercato.
Avete bisogno di un biglietto per una posizione chiusa, ma non potete ottenerlo con PositionSelect().
è necessario cancellare gli oggetti con un biglietto che sono già nella storia, ma non quelli che sono ancora sul mercato
Duplicato:
E se il compito è "invertito"?
Rimuovere gli oggetti del biglietto le cui posizioni sono già fuori dal mercato... o NON rimuovere gli oggetti dei biglietti, che non sono ancora nella storia, e rimuovere il resto... Che è fondamentalmente la stessa cosa.
In breve, avete bisogno del biglietto della posizione già chiusa, ma non potete ottenerlo con PositionSelect().
Ecco uno script che restituisce tutti i ticket di posizione chiusi per un dato periodo storico.
Il codice dice come convertirlo in una funzione (in inglese)
Ecco lo script che restituisce il biglietto di tutte le posizioni chiuse per un dato periodo storico.
Il codice mostra come convertirlo in una funzione (in inglese)
La cosa più interessante è che è stato già menzionato subito:
Forum sul trading, sistemi di trading automatico e test di strategia
Domande dai principianti MQL5 MT5 MetaTrader 5
Artyom Trishkin, 2017.07.24 23:33
Avete provato a cercare un commercio chiuso (OUT)? L'ordine era lì - si può vedere.
La cosa interessante è che questo è stato già menzionato subito:
Grazie Artyom, ho deciso di lasciarlo per dopo, ho chiesto mentre dormivo)
Ecco lo script che restituisce il biglietto di tutte le posizioni chiuse per un dato periodo storico.
Il codice dice come convertirlo in una funzione (in inglese)
Grazie per il codice, mi ha aiutato.
Problema risolto!
La cosa interessante è che questo è già stato menzionato subito:
Al moderatore:
L'uomo voleva il codice (idea di implementazione). E non c'era, ma è stato mandato a Freelance.
Al moderatore:
La persona vuole il codice (idea di implementazione). E lì NON è stato battuto, ma mandato in freelance.
Qualcuno che non è un programmatore ha un nome?
Sì, non sono un programmatore per educazione, ma ogni giorno lavoro per padroneggiare questa abilità non facile.
Qualcuno che non è un programmatore ha un nome?
Sì, non sono un programmatore di formazione, ma lavoro ogni giorno per padroneggiare questa abilità non facile.
Ah, ecco qua. Hai ancora il desiderio di imparare a programmare? Allora cercate di capire ciò che viene offerto e non fatevi passare per esaminatori. Senza offesa, ma è così che ho capito tutte le obiezioni e le domande su CopyRates().
Neanche io sono un programmatore per formazione. Quando ho studiato non c'era questa specialità e contava su un aritmometro "Felix".