Se questa funzione è usata per ottenere informazioni sull'ultimo tick, è meglio usareSymbolInfoTick(). È molto probabile che non ci sia stata alcuna quotazione per questo simbolo dal momento in cui il terminale si è collegato al conto di trading. In questo caso, il valore richiesto sarà indefinito.
2. È meglio prendere lo spread come differenza tra Ask e Bid.
3. Livello di congelamento: cercate il valore massimosu tre (SYMBOL_TRADE_FREEZE_LEVEL, SYMBOL_TRADE_STOPS_LEVEL e spread calcolato) e moltiplicatelo per tre e sarete felici.
Il punto 3 è stato dedotto in pratica lavorando con KodoBase (e il validatore sia in KodoBase che in Market è lo stesso).
2. Возвращает true или false в зависимости от успешности выполнения функции. В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. Если функция используется для получения информации о последнем тике, то лучше использовать SymbolInfoTick(). Вполне возможно, что по данному символу с...
Se questa funzione è usata per ottenere informazioni sull'ultimo tick, è meglio usareSymbolInfoTick(). È molto probabile che non ci sia stata alcuna quotazione per questo simbolo dal momento in cui il terminale si è collegato al conto di trading. In questo caso, il valore richiesto sarà indefinito.
2. È meglio prendere lo spread come differenza tra Ask e Bid.
3. Livello di congelamento: cercate il valore massimosu tre (SYMBOL_TRADE_FREEZE_LEVEL, SYMBOL_TRADE_STOPS_LEVEL e spread calcolato) e moltiplicatelo per tre e sarete felici.
Il punto 3 è stato dedotto in pratica lavorando con KodoBase (e il validatore sia in KodoBase che in Market è lo stesso).
Grazie mille! Ora farò alcune modifiche e lo proverò.
Торговля осуществляется посредством отправки с помощью функции OrderSend() приказов на открытие позиций, а также приказов на установку, модификацию и удаление отложенных ордеров. Каждый торговый приказ содержит указание на тип запрашиваемой торговой операции. Торговые операции описаны в перечислении ENUM_TRADE_REQUEST_ACTIONS...
Perché prendersi tutto questo disturbo? Usa la classe di trading CTrade.
Sfortunatamente questo esiste fin da MT4. Era più facile adattarlo.
Non so di CTrade, ma sembra che ovunque si debba specificare un simbolo, questo sia presente nei parametri passati al metodo. E non è presente nel metodo OrderDelete(const ulong ticket), quindi non funzionerà. Dovremmo riempire il request.symbol da qualche parte prima.
Sfortunatamente, questo esiste fin da MT4. Era più facile adattarsi.
Riguardo a CTrade - non l'ho capito, ma sembra che ovunque sia necessario specificare un simbolo, è nei parametri passati al metodo. E non è presente nel metodo OrderDelete(const ulong ticket), quindi non funzionerà. Dobbiamo riempire il request.symbol da qualche parte.
Cosa non funzionerà? Questa è una classe commerciale: imposta, modifica e cancella gli ORDINI REMOTI, e apre, modifica e chiude le PISTE.
Funziona assolutamente tutto. E tutto è scritto in una riga da qualsiasi comando commerciale.
Ecco fatto:
Un'altra cosa importante è come aggiornate i prezzi (e se li aggiornate proprio?). Lo spread - come si ottiene?
Quindi, per riferimento futuro:
1.SymbolInfoDouble
Il punto 3 è stato dedotto in pratica lavorando con KodoBase (e il validatore sia in KodoBase che in Market è lo stesso).Quindi, per riferimento futuro:
1.SymbolInfoDouble
Il punto 3 è stato dedotto in pratica lavorando con KodoBase (e il validatore sia in KodoBase che in Market è lo stesso).Grazie mille! Ora farò alcune modifiche e lo proverò.
Grazie mille! Ora faccio le modifiche e provo.
Sì, il risultato sarà interessante.
Sì, il risultato sarà interessante.
Problema risolto! Si è rivelato molto semplice, per cancellare un ordine è necessario compilarerequest.symbol
Non ho trovato nessuna informazione strutturata su quali dati dovrebbero essere passati alla richiesta a seconda del tipo di commercio. E ho usato l'esempiohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions.
Non c'è.
Ho controllato molte varianti con il congelamento. Nel mio caso la misura singola era sufficiente.
Problema risolto! Si è rivelato molto semplice, per cancellare un ordine è necessario compilarerequest.symbol.
Non ho trovato nessuna informazione strutturata su quali dati dovrebbero essere passati alla richiesta a seconda del tipo di operazione commerciale. E ho usato l'esempio https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions.
Non c'è.
Ho controllato molte varianti con il congelamento. Nel mio caso, la taglia singola era sufficiente.
Perché avete bisogno di queste complicazioni? Usa la classe commerciale CTrade.
Perché prendersi tutto questo disturbo? Usa la classe di trading CTrade.
Sfortunatamente questo esiste fin da MT4. Era più facile adattarlo.
Non so di CTrade, ma sembra che ovunque si debba specificare un simbolo, questo sia presente nei parametri passati al metodo. E non è presente nel metodo OrderDelete(const ulong ticket), quindi non funzionerà. Dovremmo riempire il request.symbol da qualche parte prima.
Sfortunatamente, questo esiste fin da MT4. Era più facile adattarsi.
Riguardo a CTrade - non l'ho capito, ma sembra che ovunque sia necessario specificare un simbolo, è nei parametri passati al metodo. E non è presente nel metodo OrderDelete(const ulong ticket), quindi non funzionerà. Dobbiamo riempire il request.symbol da qualche parte.
Cosa non funzionerà? Questa è una classe commerciale: imposta, modifica e cancella gli ORDINI REMOTI, e apre, modifica e chiude le PISTE.
Funziona assolutamente tutto. E tutto è scritto in una riga da qualsiasi comando commerciale.
CTrade
Cosa non funzionerà allora? È una classe di trading: imposta, modifica e cancella gli ORDINI REMOTI, apre, modifica e chiude le PISTE.
Funziona assolutamente tutto. E tutto è scritto in una riga da qualsiasi comando commerciale.
CTrade
Quindi non capisco a che punto m_request.symbol viene riempito
Comunque, problema risolto. Grazie ancora per il vostro aiuto!
Quindi non capisco a che punto m_request.symbol viene riempito
Comunque, problema risolto. Grazie mille ancora per il vostro aiuto!
Fate un debugger attraversoCTrade e vedrete dove è andato il simbolo :)