Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1430

 
Valeriy Yastremskiy:

Nessuna banalità, si espandono e si attaccano in alto, ai lati, in basso, collassano e possono non essere visibili sotto i grafici e ktrl N non aiuta, la finestra non è visibile, e si apre in forma collassata. Il profilo non sempre aiuta, mostra solo i grafici giusti. Tutto sommato, sapendo tutto ciò con il mouse l'ho staccato e la finestra era incollata alla parte superiore e armeggiando (accidentalmente) nella parte superiore (un altro grande compito), dove è attaccato al mouse, l'ho ancora una volta estremamente infruttuosamente staccato ed è scomparso. Era aperto, ma non visibile sotto le finestre. Ho chiuso tutte le carte e ho visto il bordo del finestrino arrotolato, l'ho dispiegato, si è attaccato alla parte superiore... ))) Dopo qualche ora ho imparato a staccarlo dalla parte superiore e dai lati. Voleva già creare un argomento di aiuto))))

Ora cerco di non scherzare con finestre e pannelli)))

A volte niente aiuta. Se terminal.ini viene cancellato, in config, ci saranno le impostazioni originali.
 
Александр:
A volte niente aiuta. Se terminal.ini viene cancellato, in config, ci saranno le impostazioni originali.

Sì, come una via d'uscita cardinale)

 
Alexey Viktorov:

Premere ctrl+n

Alexander:
A volte niente aiuta. Se terminal.ini viene cancellato, in config, ci saranno le impostazioni originali.
Valeriy Yastremskiy:

Sì, come soluzione cardinale della situazione)

:-) Grazie. Lo terrò presente per il futuro.
 
È più di una settimana che torno su questa domanda, ma ho provato a trovare la risposta e ho cercato ancora senza risultato. Non capisco come posso fare quanto segue:
Come fare in modo che un array come "double amountArray[]={5,10,20,40.1,80,100,100}; possa essere visto e modificato nei parametri di input del programma, cioè Expert Advisor o indicatore.5,10000,20000,27.6};" era visibile e può essere cambiato nei parametri di input del programma, cioè, Expert Advisor o indicatore.
Con l'array di stringhe senza domande, ma se lo si utilizza per me a pop-up prossima domanda irrisolvibile, come convertire l'array di stringhe in un numerico((.
Per favore aiutatemi, sono perplesso.
 
Александр:
Sono tornato su questa domanda per più di una settimana e non sono riuscito a trovare una risposta, continuo a cercarla di nuovo senza risultato. Non ho capito come fare quanto segue:
Come fare una matrice come "double amountArray[]={5,10,20,40.1,80,100.5,10000,20000,27.6};" era visibile e può essere cambiato nei parametri di input del programma, cioè, Expert Advisor o indicatore.
Con l'array di stringhe senza domande, ma se lo si utilizza per me a pop up prossima domanda irrisolvibile, come convertire l'array di stringhe in un numerico((.
Per favore aiutatemi, sono perplesso.

Inserisci una stringa separata da virgole nei parametri di input

input string str = 5,10,20,40.1,80,100.5,10000,20000,27.6;

e poi in OnInit() dividerlo in sottostringhe

int  StringSplit( 
   const string   string_value,       // строка для поиска подстрок 
   const ushort   separator,          // разделитель, по которому в строке будут искаться подстроки 
   string         & result[]          // массив, переданный по ссылке, для получения найденных подстрок 
   );

e tradurlo elemento per elemento in un altro array di tipo doppio.

Non c'è altra opzione. Né copiare una stringa in una doppia, né l'unione non funziona con il tipo stringa

 
Александр:
È più di una settimana che torno su questa domanda, ma continuo a cercare una risposta ma è di nuovo inutile. Non capisco come posso fare quanto segue:
Come fare un array come "double amountArray[]={5,10,20,40.1,80,100,100};.5,10000,20000,27.6};" era visibile e può essere cambiato nei parametri di input del programma, cioè, Expert Advisor o indicatore.
Con l'array di stringhe senza domande, ma se lo si utilizza per me a pop up prossima domanda irrisolvibile, come convertire l'array di stringhe in un numerico((.
Per favore aiutatemi, sono perplesso.
input string numeric="1,0.3,1.5,3,4.2,5.7,2";

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
{
   string FillSymb[];
   double SymbTrade[];
   int CountSymbol=StringSplit(numeric,StringGetCharacter(",",0),FillSymb);
   ArrayResize(SymbTrade,CountSymbol);
   for(int i=0; i<CountSymbol; i++) {
      SymbTrade[i]=FillSymb[i]; // Создадим массив double
   }

   for(int i=0; i<ArraySize(SymbTrade); i++) {
      Print(SymbTrade[i]); // Распечатаем массив double
   }
}

---

Ma deve essere arrayato dalla stringa in OnInit()

 
Vitaly Muzichenko:

Non si può mettere una virgola tra virgolette singole?

int CountSymbol=StringSplit(NameSymb,',',FillSymb);

perché fare riferimento a una funzione?

 
Alexey Viktorov:

Non si può mettere una virgola tra virgolette singole?

perché chiamare una funzione?

È così che si fa da queste parti... un buon codice dovrebbe essere sufficiente.

 
Alexey Viktorov:

Non si può mettere una virgola tra virgolette singole?

Perché avete bisogno di fare riferimento a una funzione?

Sì, a quanto pare è possibile, lo terrò a mente. Ho preso un esempio dalla guida, è andata così

input string numeric="1,0.3,1.5,3,4.2,5.7,2";

string FillSymb[];
double MassNum[];

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnInit()
{
   int Count=StringSplit(numeric,',',FillSymb);
   ArrayResize(MassNum,Count);
   for(int i=0; i<Count; i++) {
      MassNum[i]=(double)FillSymb[i]; // Создадим массив double
   }
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
{
   for(int i=0; i<ArraySize(MassNum); i++) {
      Print(MassNum[i]); // Распечатаем массив double
   }
}
 
Alexey Viktorov:

Inserisci una stringa separata da virgole nei parametri di input

e poi in OnInit() dividerlo in sottostringhe

e tradurlo elemento per elemento in un altro array di tipo doppio.

Non c'è altra opzione. Né copiare una stringa in una doppia, né l'unione non funziona con il tipo stringa

Grazie !!!!