Errori, bug, domande - pagina 1840

 

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

Bug, bug, domande

fxsaber, 2017.04.01 10:20

Una volta, l'operatore [] è stato aggiunto al tipo di stringa.
string Str = "AB C";
Print(CharToString(Str[1])); // B


È possibile per gli sviluppatori aggiungere un operatore = per gli array?

int a[], b[];
a = b; // ArrayCopy(a, b);


Poiché non ci sono puntatori, un tale operatore renderebbe il linguaggio più flessibile - ha trovato situazioni in cui sarebbe MOLTO utile.

Lo stesso per le strutture complesse
MqlTradeRequest a, b;
a = b;
 
fxsaber:
Lo stesso per le strutture complesse
Puoi scrivere la funzione Copy(a, b), sembra e funziona non molto bene, ma come opzione...
 
Комбинатор:
Puoi scrivere la funzione Copy(a, b), sembra e funziona non molto bene, ma è un'opzione...
Questa funzione non sarà universale (tramite template).
 
fxsaber:
Una tale funzione non sarebbe universale (tramite un modello).
Potete fare un sovraccarico per ogni struttura. Alla fine, naturalmente, prenderà un sacco di spazio, non un modello, ma si può usare universalmente senza problemi
 
Комбинатор:
Si potrebbe fare un sovraccarico per ogni struttura. Alla fine prenderà un sacco di spazio naturalmente, non è un modello, ma si può usare universalmente senza problemi

Ma lei sa che non è di questo che stava parlando. Universale è quando funziona non solo per le strutture complesse regolari, ma anche per quelle complesse personalizzate.

ZZY Al momento è impossibile scrivere una tale funzione

MqlTradeRequest Func();

Probabilmente non è una buona limitazione della lingua.

 
È possibile compensare la mancanza di puntatori a un array introducendo la possibilità di restituire un array da una funzione?
int[] Func()
{
  int a[] = {1, 2, 3};

  return(a);
}

Print(Func()[1]); // 2
 

Non so se questo è l'argomento giusto.

Glitch con i profili in MT5 e MT4

Quando salvo i profili, ad esempio 6 grafici per ogni coppia separatamente, quando apro un profilo spesso ne apro uno diverso da quello che mi serve. E quello che mi serve non si apre affatto.

Pensavo che il problema fosse nel terminale del broker in MT4 (inizialmente ho provato a configurare i profili lì), ho scaricato l'originale MT5 da Metaquotes e lo stesso problema.


Dove scavare?

 
Oleg:

Non so se questo è l'argomento giusto.

Glitch con i profili in МТ5 e МТ4

Quando salvo i profili, ad esempio 6 grafici per ogni coppia separatamente, quando apro un profilo spesso ne apro uno diverso da quello che mi serve. E quello che mi serve non si apre affatto.

Pensavo che il problema fosse nel terminale del broker in MT4 (inizialmente ho provato a configurare i profili lì), ho scaricato l'originale MT5 da Metaquotes e lo stesso problema.

Dove scavare?


Iniziare con una descrizione coerente e accurata. MT5 - costruire dove si trova la directory dei dati (dopo aver ricaricato prendere le prime tre linee dalla scheda "Log"):

  1. Aperto così e così i grafici (screenshot). Salvato in un modello. In allegato il modello.
  2. ha aperto altri grafici (screenshot). Salvarlo in un nuovo modello. Il modello era allegato.
  3. Ripetere i passi 1, 2.
  4. Applicato modello №1 - quello che abbiamo ottenuto.
  5. e poi applicare il modello 2 - quello che abbiamo ottenuto.
Come questo.
 
Oleg:

Non so se questo è l'argomento giusto.

Glitch con i profili in MT5 e MT4

Quando salvo i profili, ad esempio 6 grafici per ogni coppia separatamente, quando apro un profilo spesso ne apro uno diverso da quello che mi serve. E quello che mi serve non si apre affatto.

Pensavo che il problema fosse nel terminale del broker in MT4 (inizialmente ho provato a configurare i profili lì), ho scaricato l'originale MT5 da Metaquotes e lo stesso problema.


Ho capito più o meno qual è il problema. Quando creo un nuovo campo e lo salvo con un nome diverso, il profilo viene semplicemente sovrascritto. Anche se dovrebbe essere salvato con un nome diverso.


Dove scavare?

Questo è sempre stato il caso. Qualsiasi cambio di profilo provoca modifiche al profilo aperto, quindi se lo si salva con un nome diverso verranno salvati due profili identici. Per risolvere questo problema basta seguire la sequenza di passi

1. Salva il profilo corrente.

2. Crea un nuovo profilo e salvalo con un nome diverso.

Così verranno salvati due diversi profili...

 
Vladimir Karputov:


Iniziate con una descrizione coerente e accurata per cominciare. MT5 - costruire dove si trova la directory dei dati (dopo aver ricaricato prendere le prime tre linee dalla scheda del registro):

  1. così tanti grafici aperti (screenshot). Salvato in un modello. Il modello era allegato.
  2. Aperto altri grafici (screenshot). Salvarlo in un nuovo modello. Il modello era allegato.
  3. Ripetere i passi 1, 2.
  4. Applicato modello №1 - cosa abbiamo ottenuto.
  5. e poi applicare il modello 2 - quello che abbiamo ottenuto.
All'incirca così.

Grazie per la vostra risposta rapida! Sembra aver capito, l'ultimo modello salvato non solo viene salvato con il suo nome, ma diventa automaticamente un default.

Per salvare tutto correttamente, apro default, metto i grafici necessari e li salvo sotto il mio nome.