Buon pomeriggio, non riesco a capire come fare una cosa semplice in MQL5. Ho bisogno di dichiarare una variabile a livello di classe (tipo array tridimensionale doppio) e poi fare la sua inizializzazione tardiva nel costruttore. In C# sarebbe così:
public class MyClass {
private double[,,] myArray;
public MyClass(int dimension1, int dimension2, int dimension3)
{
myArray = new double[dimension1, dimension2, dimension3];
}
}
Come ottenere lo stesso risultato in MQL5? Posso dichiarare un array dinamico tridimensionale. Ma con la funzione ArrayResize posso allocare la memoria solo per la prima dimensione, e le altre due?
Buona giornata! Non capisco bene come usare la funzione
for (int i=0;i<10;i=i+0.1){ Print( "i ",i);
boolOrderCalcMargin(
action=ORDER_TYPE_SELL, // тип ордера
symbol=_Symbol, // имя символа
volume=i, // объем
price=last_tick.bid, // цена открытияdouble& margin // переменная для получения значения маржи
);
Print( " margin ", margin ); }
OrderCalcMargin' - la funzione può essere dichiarata solo nell'ambito globale deposit.mq5 86 Qualcosa non va, insomma.
In generale, voglio creare una funzione che usi una percentuale del deposito. Per esempio, il 50% è un accordo sulla metà del mio deposito. Voglio capire quanto costa 1 lotto? Può essere calcolato programmaticamente? Ho pensato e letto per il terzo giorno. E i lotti possono essere diversi ovunque - dipende dal tipo di transazione e dal conto!
Dimka-novitsek: Voglio capire, quanto è 1 lotto? È possibile calcolarlo programmaticamente? Sono tre giorni che penso e leggo. E i lotti possono essere diversi ovunque - dipende dal tipo di transazione e dal conto!
Se la tua risposta alla seconda domanda, prova a trovare l'articolo"The ABCs of Currency Trading" dal suo titolo. Sembra essere scritto per MT4, ma non è troppo speciale.
Si acciglia ancora... Diciamo action=ORDER_TYPE_SELL, dice 'action' - identificatore non dichiarato. OppureENUM_ORDER_TYPE action=ORDER_TYPE_SELL, dice 'action' - token inaspettato.
È ovunque... E in inglese...
for (int i=0;i<10;i=i+0.1){ Print( "i ",i);
OrderCalcMargin(
ENUM_ORDER_TYPE action=ORDER_TYPE_SELL, // тип ордера
symbol=_Symbol, // имя символа
volume=i, // объем
price=last_tick.bid, // цена открытия
margin // переменная для получения значения маржи
);
Print( " margin ", margin ); }
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.
Buon pomeriggio, non riesco a capire come fare una cosa semplice in MQL5. Ho bisogno di dichiarare una variabile a livello di classe (tipo array tridimensionale doppio) e poi fare la sua inizializzazione tardiva nel costruttore. In C# sarebbe così:
public class MyClass
{
private double[,,] myArray;
public MyClass(int dimension1, int dimension2, int dimension3)
}
Come ottenere lo stesso risultato in MQL5? Posso dichiarare un array dinamico tridimensionale. Ma con la funzione ArrayResize posso allocare la memoria solo per la prima dimensione, e le altre due?
ERR_TRADE_SEND_FAILED
4756
Fallito l'invio della richiesta di scambio
Perché non ha funzionato? Forse i professionisti possono dirmi rapidamente dove cercare, altrimenti tirerò a indovinare fino a stasera...
Buona giornata! Cari utenti del forum, qualcuno può darvi qualche consiglio?
ERR_TRADE_SEND_FAILED
4756
Fallito l'invio di una richiesta di scambio
Perché non ha funzionato? Forse i professionisti ti diranno rapidamente dove cercare, altrimenti tirerò a indovinare fino a sera...
Non dovete indovinare, dovete guardare le informazioni nella richiesta MqlTradeRequest, l'avete creata per un motivo.
Beh, per cominciare non avete specificato il prezzo al quale pensate di vendere
OrderCalcMargin' - la funzione può essere dichiarata solo nell'ambito globale deposit.mq5 86 Qualcosa non va, insomma.
In generale, voglio creare una funzione che usi una percentuale del deposito. Per esempio, il 50% è un accordo sulla metà del mio deposito. Voglio capire quanto costa 1 lotto? Può essere calcolato programmaticamente? Ho pensato e letto per il terzo giorno. E i lotti possono essere diversi ovunque - dipende dal tipo di transazione e dal conto!
Buona giornata! Non capisco bene come usare la funzione
OrderCalcMargin' - la funzione può essere dichiarata solo nell'ambito globale di deposit.mq5 86 Qualcosa non va.
Dmitry!
Leggete attentamente cos'è una funzione e cos'è una chiamata di funzione
Hai un casino completo di dichiarazioni e usi
Grazie!
Sì, la funzione double-pred è colpa mia...
Si acciglia ancora... Diciamo action=ORDER_TYPE_SELL, dice 'action' - identificatore non dichiarato. OppureENUM_ORDER_TYPE action=ORDER_TYPE_SELL, dice 'action' - token inaspettato.
È ovunque... E in inglese...