Yedelkin: Ho cercato di suggerire una risposta alla tua domanda "Cos'è un numero di transazione? Possiamo supporre che lei abbia affrontato questa domanda?
Potete, grazie. Potete dirmi se è possibile selezionare l'ultima offerta su una posizione senza passare attraverso le offerte e confrontare i tempi o i loro biglietti?
tor4en: Sapete se è possibile selezionare l'ultima operazione di una posizione senza passare attraverso le operazioni e confrontare i tempi o i tick?
1. Sfortunatamente, cerco di non usare la Libreria Standard, quindi non posso suggerire correttamente come lavorare con il metodo SelectByIndex(). Posso solo notare che la classe CDealInfo stessa è posizionata come una classe per lavorare con le proprietà delle transazioni, cioè i problemi di ottenere la lista delle transazioni sembrano essere lasciati fuori.
2. Come sapete, il metodo SelectByIndex() usa semplicemente la funzione HistoryDealGetTicket(). Dalla descrizione di questafunzione segue che prima di accedere all'affare è necessario ottenere la lista di tutti gli affari . In particolare,
//--- запросим историр ю сделок в указанном интервалеHistorySelect(from_date,to_date);
//--- общее количество в списке сделокint deals=HistoryDealsTotal();
//--- теперь обработаем каждую сделкуfor(int i=0;i<deals;i++)
{
deal_ticket=HistoryDealGetTicket(i);
...
}
Circa un anno fa, ho chiesto sul forum, se è possibile considerare che l'ultimo affare nella lista ha sempre un indice di HistoryDealsTotal()-1, ma non ho ricevuto una risposta (o non ho notato che ne dubito). Usando il metodo della prova scientifica, non ho trovato una confutazione di questa tesi. Così, logicamente, ogni nuovo affare, le cui informazioni sono ricevute nel terminale di base, dovrebbe semplicemente aumentare la lista degli affari di uno e, rispettivamente, gli indici nella lista degli affari sarebbero assegnati ad ogni nuovo affare in ordine crescente. Come è in realtà - non so.
Esperti, aiuto, per favore. Ho costruito due EAs per, per così dire, effetto sinergico, i più semplici sembrano collegarsi, ma questo non si compila, anche se ho fatto tutto correttamente come con il precedente. Ecco cosa dà
'Supervisor' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 360 18
'Perceptron' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 418 8
'basicTradingSystem' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 434 6
La funzione può essere dichiarata solo nell'ambito globale
chipo: Ho collegato due EAs per una sorta di effetto sinergico, i più semplici sembrano collegarsi, ma questo non si compila, anche se ho fatto tutto correttamente come con il precedente. Questo è ciò che dà
'Supervisor' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 360 18
'Perceptron' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 418 8
'basicTradingSystem' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 434 6
La funzione può essere dichiarata solo nell'ambito globale
Sono davvero confuso: dov'è l'ambito globale
Tali messaggi appaiono, per esempio, quando una funzione è dichiarata dentro un'altra. Vedi se c'è qualcosa del genere nel codice:
int index // номер сделки
);
Cos'è un numero di transazione?
Come si seleziona l'ultimo trade? Indice 0?
Ho un conto con una posizione aperta e una storia di scambi. Voglio selezionare l'ultimo trade:
#include <Trade\DealInfo.mqh>
CDealInfo deal;
for(int n=20;n>=0;n--)
{
deal.SelectByIndex(n);
Print("Тикет сделки=",deal.Ticket()," n=",n);
}
Tutte le zecche 0...
int index // номер сделки
);
Cos'è un numero di transazione?
Vedere la descrizione della funzione HistoryDealGetTicket(). C'è anche un esempio di come lavorare con la lista delle offerte.
Ho cercato di suggerire una risposta alla tua domanda "Cos'è un numero di transazione? Possiamo supporre che lei abbia affrontato questa domanda?
1. Sfortunatamente, cerco di non usare la Libreria Standard, quindi non posso suggerire correttamente come lavorare con il metodo SelectByIndex(). Posso solo notare che la classe CDealInfo stessa è posizionata come una classe per lavorare con le proprietà delle transazioni, cioè i problemi di ottenere la lista delle transazioni sembrano essere lasciati fuori.
2. Come sapete, il metodo SelectByIndex() usa semplicemente la funzione HistoryDealGetTicket(). Dalla descrizione di questafunzione segue che prima di accedere all'affare è necessario ottenere la lista di tutti gli affari . In particolare,
Circa un anno fa, ho chiesto sul forum, se è possibile considerare che l'ultimo affare nella lista ha sempre un indice di HistoryDealsTotal()-1, ma non ho ricevuto una risposta (o non ho notato che ne dubito). Usando il metodo della prova scientifica, non ho trovato una confutazione di questa tesi. Così, logicamente, ogni nuovo affare, le cui informazioni sono ricevute nel terminale di base, dovrebbe semplicemente aumentare la lista degli affari di uno e, rispettivamente, gli indici nella lista degli affari sarebbero assegnati ad ogni nuovo affare in ordine crescente. Come è in realtà - non so.
3. Suggerisco anche di leggere l'articoloOrdini, posizioni e compravendite in MetaTrader 5 e (non l'ho letto io stesso) - Come usare le classi commerciali della Standard Library quando si scrive un Expert Advisor.
Questo è tutto :)
Esperti, aiuto, per favore. Ho costruito due EAs per, per così dire, effetto sinergico, i più semplici sembrano collegarsi, ma questo non si compila, anche se ho fatto tutto correttamente come con il precedente. Ecco cosa dà
'Supervisor' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 360 18
'Perceptron' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 418 8
'basicTradingSystem' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 434 6
La funzione può essere dichiarata solo nell'ambito globale
Sono davvero confuso: dov'è l'ambito globale
'Supervisor' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 360 18
'Perceptron' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 418 8
'basicTradingSystem' - la funzione può essere dichiarata solo nell'ambito globale 20_200_pips_MQL5_v1.mq5 434 6
La funzione può essere dichiarata solo nell'ambito globale
Sono davvero confuso: dov'è l'ambito globale
Tali messaggi appaiono, per esempio, quando una funzione è dichiarata dentro un'altra. Vedi se c'è qualcosa del genere nel codice:
func_1() { void func_2()... }