Sono d'accordo, le classi commerciali si sono stabilizzate a sufficienza. Allora perché, pur sostenendo il loro utilizzo, gli esempi includono funzioni per ottenere le proprietà degli strumenti invece di utilizzare i metodi della classe CSymbolInfo. Sembra incoerente.
Chiarite cosa intendete. Se si chiede di scrivere classi ovunque, alcuni nuovi arrivati potrebbero trovarlo complicato e incomprensibile.
Rosh: Chiarire cosa si intende. Se si chiede di scrivere classi ovunque, alcuni nuovi arrivati potrebbero trovarlo complicato e incomprensibile.
In realtà, non sono io che vi esorto a usare le classidella 'Libreria Standard' nella citazione di cui sopra, sono solo d'accordo. Naturalmente, è una questione di gusti.
In un EA un po' complesso ci sono molti riferimenti alle proprietà dei simboli e creando una volta sola un'istanza della classe CSymbolInfo si semplificano i riferimenti ad essi e la percezione del programma. La mia opinione.
Nelle specifiche dei futures RTS-3.13 è specificato che il tipo di ordini - Valido fino alla cancellazione. in coda fino alla cancellazione.
Ho provato a utilizzare altri tipi ORDER_TIME_DAY, ORDER_TIME_SPECIFIED, ORDER_TIME_SPECIFIED_DAY - l'errore non scompare.
Parte del codice:
int digits = (int)SymbolInfoInteger(Ticket,SYMBOL_DIGITS);// numero di cifre decimalidouble point = SymbolInfoDouble(Ticket,SYMBOL_POINT); // para.double ask = SymbolInfoDouble(Ticket,SYMBOL_ASK); // prezzo di acquisto attualedouble price= 1000 * point; // prezzo di apertura non normalizzato
price = NormalizeDouble(price, digits); // normalizzare il prezzo di apertura//prezzo = NormalizeDouble(ask + 1000, digits); // ????Print("digits=", IntegerToString(digits), " point=", DoubleToString (point, 0), " ask=", DoubleToString (ask, 0),
" price=", DoubleToString (price, 0));
//--- Tutto è pronto, inviare al server un ordine Buy Stop in sospeso if(!m_Trade.BuyStop(1, price, Ticket))
{
Print("Il metodo BuyStop() non è riuscito. Codice di ritorno="", m_Trade.ResultRetcode(),
". Descrizione del codice: ",m_Trade.ResultRetcodeDescription());
}
else
{
Print("Il metodo BuyStop() è stato eseguito correttamente. Codice di ritorno="",m_Trade.ResultRetcode(),
" (",m_Trade.ResultRetcodeDescription(),")");
}
Nel registro di Strategy Tester della voce :
2012.12.1819:44:59 digits=0 point=1 ask=151830 price=10002012.12.1819:44:59 failed buy stop 1.00 RTS-3.13 at 1000 [Invalid expiration]
2012.12.1819:44:59 CTrade::OrderSend: buy stop 1.00 RTS-3.13 at 1000 [invalid expiration]
2012.12.1819:44:59 Метод BuyStop() потерпел неудачу. Код возврата=10022. Описание кода: invalid expiration
Quale potrebbe essere il problema? Per favore datemi un suggerimento. Vi sarò grato se rispondete alla mail nfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52.
Quando si utilizza la funzione BuyStop nel codice per negoziare i futures RTS-3.13 (RIH3), continua a verificarsi un errore:
10022 TRADE_RETCODE_INVALID_EXPIRATION - Data di scadenza dell'ordine non valida.
Nelle specifiche dei futures RTS-3.13 è specificato che il tipo di ordini - Valido fino alla cancellazione. in coda fino alla cancellazione.
Ho provato a utilizzare altri tipi ORDER_TIME_DAY, ORDER_TIME_SPECIFIED, ORDER_TIME_SPECIFIED_DAY - l'errore non scompare.
Parte del codice:
Nel registro di Strategy Tester della voce :
Quale potrebbe essere il problema? Per favore datemi un suggerimento. Vi sarò grato se rispondete alla mail nfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52.
Grazie.
Win7 64 razr., MT5 , conto demo DB Discovery.
Problema simile su RTS-3.13 Otkritie-demo, provato tutto (mentre gli ordini limite sono impostati su ORDER_TIME_SPECIFIED_DAY come scritto nel profilo del simbolo) !!!!. Mentre l'ordine buy-stop è perfettamente aperto sul mercato manualmente. Questo è un problema del terminale, dovreste scrivere agli sviluppatori
Sì, non potrebbe essere più semplice! Hanno fatto un sacco di cose lì, eppure utilizzando librerie standard, e se senza di esse, per così dire, da zero???? Il modo più semplice e veloce per programmare un Expert Advisor su MQl4!!!! Il mio EA su mql4 richiede 70 righe, l'ho riscritto su mql5, ed è risultato essere 198!!!!!!. Quindi il titolo con la parola "semplice" non è appropriato.
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
zlodei: ...Il mio EA mql4 richiede 70 righe, l'ho riscritto per mql5, ed è risultato essere 198!!!!!! Quindi il titolo con la parola "semplice" non è appropriato.
Questo se l'idea dell'EA non è complicata. Imho, più l'idea è complessa, più la differenza nel numero di linee di codice tra MQL4 e MQL5 sarà a favore di quest'ultimo. Quindi non sarei così categorico....
Dovreste comunque rivedere il codice prima di pubblicarlo.
Sono d'accordo, le classi commerciali si sono stabilizzate a sufficienza. Allora perché, pur sostenendo il loro utilizzo, gli esempi includono funzioni per ottenere le proprietà degli strumenti invece di utilizzare i metodi della classe CSymbolInfo. Sembra incoerente.
Il problema è stato risolto molto tempo fa, il giorno della pubblicazione.
Chiarire cosa si intende. Se si chiede di scrivere classi ovunque, alcuni nuovi arrivati potrebbero trovarlo complicato e incomprensibile.
In realtà, non sono io che vi esorto a usare le classidella 'Libreria Standard' nella citazione di cui sopra, sono solo d'accordo. Naturalmente, è una questione di gusti.
In un EA un po' complesso ci sono molti riferimenti alle proprietà dei simboli e creando una volta sola un'istanza della classe CSymbolInfo si semplificano i riferimenti ad essi e la percezione del programma. La mia opinione.
Mi scuso, non sapevo dove porre questa domanda e ho deciso di farla qui, credo che l'argomento sia adatto.
Come faccio a chiudere tutti gli ordini aperti sia per la vendita che per l'acquisto in una volta sola?
Mi scuso, non sapevo dove porre questa domanda e ho deciso di farla qui, credo che l'argomento sia adatto.
Come posso chiudere tutti gli ordini aperti per la vendita o per l'acquisto in una sola volta?
Parte del codice:
Nel registro di Strategy Tester della voce :
Quale potrebbe essere il problema? Per favore datemi un suggerimento.
Vi sarò grato se rispondete alla mail nfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52.
Grazie.
Win7 64 volte, MT5, conto demo DB Otkrytie.
Parte del codice:
Nel registro di Strategy Tester della voce :
Quale potrebbe essere il problema? Per favore datemi un suggerimento.
Vi sarò grato se rispondete alla mail nfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52.
Grazie.
Win7 64 razr., MT5 , conto demo DB Discovery.
...Il mio EA mql4 richiede 70 righe, l'ho riscritto per mql5, ed è risultato essere 198!!!!!! Quindi il titolo con la parola "semplice" non è appropriato.