Errori, bug, domande - pagina 1832

 
Vladislav Andruschenko:


in mt5?

Sì, più o meno,

Non uso extern in mt5 da molto tempo.


Ok. Allora come faccio a cambiare i valori nei parametri di input dal pannello di trading senza aprirli? Dopo tutto, se sono visualizzati, significa che non possono essere cambiati.
 
Alexander Fedosov:

Ok. Allora come faccio a cambiare i valori nei parametri di input dal pannello di trading senza aprirli? Dopo tutto, se sono visualizzati, significa che non possono essere cambiati.

nessuna idea per essere onesti,


ma gli esterni non sono mostrati nei parametri di input - è stato così per molto tempo? si può dire dall'inizio del terminale di mt5

 
Vladislav Andruschenko:

nessuna idea per essere onesti,


ma gli esterni non sono mostrati nei parametri di input - è stato così fin dall'inizio di mt5?


Bene, allora è il momento, probabilmente nella SD, perché ho una versione compilata prima del 1550 e lì attraverso il pannello cambiare le variabili come extern e sono mostrati nei parametri di input.
 
Alexander Fedosov:

Beh, deve essere tempo, a quanto pare nella SD, perché ho una versione compilata prima del 1550 e lì attraverso il pannello cambiare le variabili come extern e vengono visualizzati nei parametri di input.

Forse sono stati introdotti più tardi e poi rimossi di nuovo? dal 2012 ho capito che extern è sostituito da input e in effetti ho cambiato tutto in input
 

Ciao ho 2 terminali mt5 Alpari e mt5 broker Otkritie. \

Ho 12 strumenti in Otkritie + indicatori installati. Carico della CPU 5-10%.

Ci sono 3 finestre aperte in Alpari con gli stessi indicatori e un carico della CPU del 25-30%.

Entrambi hanno 5000 bar nelle impostazioni della storia
anche con tutti i grafici chiusi e la finestra dei simboli di mercato chiusa, Alpari ha il 14% di carico

Vorrei aprire altri simboli, ma questo problema con il carico non mi permette di farlo.

Il carico della CPU è dell'8-9% quando la finestra è ridotta a icona

Immagino che sia un problema con il rendering dei grafici? Ma allora perché il Discover Broker non ha questo problema?


 
Alexander Fedosov:

Bene, allora è il momento, a quanto pare in SD, perché ho un compilato su versione prima di 1550 e lì attraverso il pannello cambiare le variabili di tipo extern e visualizzato nei parametri di input.


questo è stato originariamente scritto per questo tipo di dati, perché li hai fatti lavorare come parametri di input non è chiaro.

Variabili esterne

La parola chiave extern è usata per dichiarare identificatori di variabili come identificatori di una classe di memoria statica con durata globale. Tali variabili esistono all'inizio dell'esecuzione del programma e sono allocate e inizializzate subito dopo l'inizio dell'esecuzione del programma.

È possibile creare programmi composti da diversi file sorgente - per questo scopo si usa la direttiva #include del preprocessore. Le variabili dichiarate come extern con lo stesso tipo e identificatore possono esistere in diversi file sorgente dello stesso progetto.

Quando l'intero progetto viene compilato, tutte le variabili esterne con lo stesso tipo e identificatore sono associate alla stessa area del pool di memoria delle variabili globali. Le variabili esterne sono utili per la compilazione separata dei file sorgente. Le variabili esterne possono essere inizializzate, ma solo una volta - è inaccettabile l'esistenza di più variabili esterne inizializzate dello stesso tipo e con lo stesso identificatore.

 
Che cos'è?
2017.03.14 09:51:34.866 Trades  use Hosting Service to speed up the execution - 0.31 ms via 'MQL5 Amsterdam 2 (MQL5 Ltd.)' instead of 72.36 ms
 
fxsaber:
Che cos'è questo?
Pubblicità:)
 

Non avevo notato gli stati di richiesta 1554 prima

È interessante notare che anche prima dello stato richiesto, i dati del margine sono completamente disponibili.

 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Caratteristiche del linguaggio mql5, sottigliezze e trucchi

fxsaber, 2017.03.14 08:38

  • In MT4/5 non è possibile per gli ordini pendenti cambiare la magia, il commento e il volume.
Server di trading FXOpen-MT5, lanciare lo script
void OnStart()
{
  MqlTradeRequest Request = {0};
  
  Request.action = TRADE_ACTION_PENDING;
  Request.symbol = _Symbol;
  Request.volume = 1;
  Request.price = SymbolInfoDouble(Request.symbol, SYMBOL_ASK) - 100 * _Point;
  Request.type = ORDER_TYPE_BUY_LIMIT;
  Request.type_filling = ORDER_FILLING_IOC;
  Request.comment = "FirstComment";
  
  MqlTradeResult Result;
  
  if (OrderSend(Request, Result))
  {        
    Request.action = TRADE_ACTION_MODIFY;
    Request.order = Result.order;
    Request.type_time = ORDER_TIME_SPECIFIED;
    Request.expiration = TimeCurrent() + 1000;
    Request.comment = "NewComment";    

    OrderSend(Request, Result);  
  }
}

Mette un ordine in sospeso e lo modifica impostando un nuovo campo Request.comment.

Registro di esecuzione dello script

2017.03.14 11:33:47.642 Trades  '10127': buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:33:47.775 Trades  '10127': accepted buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:33:47.777 Trades  '10127': buy limit 1.00 EURUSD at 1.06314 placed for execution
2017.03.14 11:33:47.797 Trades  '10127': order #61938 buy limit 1.00 / 1.00 EURUSD at 1.06314 done in 154.608 ms (FirstComment)
2017.03.14 11:33:47.797 Trades  '10127': modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000
2017.03.14 11:33:47.930 Trades  '10127': accepted modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000
2017.03.14 11:33:47.930 Trades  '10127': modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000 placed for execution
2017.03.14 11:33:47.950 Trades  '10127': modify #61938 buy limit 1.00 EURUSD -> price: 1.06314, sl: 0.00000, tp: 0.00000) done in 154.566 ms (NewComment)

Il terminale mostra

Ora cancella manualmente l'ordine in sospeso e ottieni le voci del diario appropriate

2017.03.14 11:35:01.198 Trades  '10127': cancel order #61938 buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:35:01.330 Trades  '10127': accepted cancel order #61938 buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:35:01.333 Trades  '10127': cancel order #61938 buy limit 1.00 EURUSD at 1.06314 placed for execution
2017.03.14 11:35:01.465 Trades  '10127': cancel #61938 buy limit 1.00 EURUSD at 1.06314 done in 268.415 ms (NewComment)

Il terminale mostra




Cioè, il commento dell'ordine pendente è effettivamente cambiato. Ma il terminale potrebbe mostrarlo solo nei log e nella cronologia - BAG!