a Reshetov^ Così: int start() { Comment("Posizioni aperte: ", OrdersTotal()); string smb=Symbol(); int tf=Period(); gsID=smb+IsDemo()+IsTesting()+IsOptimization()+"."+Magic; inf=""; INF(TTS(TimeCurrent()), true); main(Magic, smb, tf); Comment(inf); e dove e come sarà visualizzato il numero?
Perché la mia funzione "commento" e "modifica" è rotta? Non ci sono opzioni in alto - la parte superiore è completamente vuota - non si possono aggiungere immagini, per esempio. Cosa c'entra questo?
yosuf: a Reshetov^ Così: int start() { Comment("Posizioni aperte: ", OrdersTotal()); string smb=Symbol(); int tf=Period(); gsID=smb+IsDemo()+IsTesting()+IsOptimization()+"."+Magic; inf=""; INF(TTS(TimeCurrent()), true); main(Magic, smb, tf); Comment(inf); e dove e come viene visualizzato il numero?
C'è una combinazione magica: Ctrl+Alt+M e un utile tasto "Enter", per non rovinare la visione degli interlocutori. Poiché la vista è più preziosa, non posso rispondere a nulla di specifico sul tuo code-washing.
//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start(){
double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
int maxValueIdx=ArrayMaximum(num_array);
Alert("Max value = ", num_array[maxValueIdx]);
return(0);
}
//+------------------------------------------------------------------+
ma come può la variabile iCustom essere messa in ArrayMaximum che non è un array?
Non ho citato la documentazione per niente. Esiste una descrizione dei parametri da passare agli ingressi delle funzioni. Se è scritto lì che il parametro deve essere un nome di array, infilare un'altra funzione (iCustom() al suo posto non servirà a nulla. Significa che prima di chiamare ArrayMaximum() dovremmo dichiarare l'array, poi riempire questo array con valori e solo dopo chiamare ArrayMaximum().
drknn: Non ho citato la documentazione per niente. Esiste una descrizione dei parametri che devono essere dati in ingresso a una funzione. Se c'è scritto che il parametro deve essere un nome di array, infilare un'altra funzione (iCustom() in particolare) non porterà a nulla di buono. Significa che prima di chiamare ArrayMaximum() dovremmo dichiarare un array e poi riempire questo array di valori e solo dopo si può chiamare ArrayMaximum() .
Ho provato a mettere il codice dell'indicatore in un EA, ma non funziona niente, il fatto è che IMHO l'indicatore ha bisogno di indicare dei buffer e non l'ho visto negli EA, ecco perché l'indicatore funziona e lo stesso codice non funziona in un EA. Ho un array riempito con ciclo sm[i] e l'indicatore lo vede ma l'EA con lo stesso codice no. Forse gli array negli EA dovrebbero essere dichiarati in modo diverso rispetto agli indicatori?
Alexandr24: Ho provato a mettere il codice dell'indicatore stesso nell'EA, ma non funziona nulla, IMHO il punto è che l'indicatore ha bisogno di indicare i buffer e non l'ho visto da nessuna parte negli EA, ecco perché l'indicatore funziona, ma lo stesso codice non funziona negli EA. Ho un array riempito con ciclo sm[i] e l'indicatore lo vede ma l'EA con lo stesso codice no. Forse gli array negli EA dovrebbero essere dichiarati in modo diverso rispetto agli indicatori?
Quindi si tratta di scrivere un indicatore. C'è un indicatore e funziona, ma l'Expert Advisor con il codice di questo indicatore non vuole, non vede l'array sm[i].
a Reshetov^ Così: int start() { Comment("Posizioni aperte: ", OrdersTotal()); string smb=Symbol(); int tf=Period(); gsID=smb+IsDemo()+IsTesting()+IsOptimization()+"."+Magic; inf=""; INF(TTS(TimeCurrent()), true); main(Magic, smb, tf); Comment(inf); e dove e come viene visualizzato il numero?
Puoi dirmi come lavorare con ArrayMaximum nell'EA? Nell'indicatore funziona, ho segnato array e buffer, ma nell'EA non è chiaro.
Dovete prima preparare l'array. Provate lo script fornito nell'aiuto di MetaEditor:
Dovete prima preparare l'array. Provate lo script dato nell'aiuto del meta-editor:
Nel mio indicatore appare così:
sm[i]=...........;
doppio IndexMaxValue=ArrayMaximum(sm,n,shift);
Non so come allegarlo al tuo script, come farlo nell'Expert Advisor?
Posso emettere sm[i] tramite iCustom, ma come posso mettere la variabile iCustom in ArrayMaximum?
ma come può la variabile iCustom essere messa in ArrayMaximum che non è un array?
Non ho citato la documentazione per niente. Esiste una descrizione dei parametri che devono essere dati in ingresso a una funzione. Se c'è scritto che il parametro deve essere un nome di array, infilare un'altra funzione (iCustom() in particolare) non porterà a nulla di buono. Significa che prima di chiamare ArrayMaximum() dovremmo dichiarare un array e poi riempire questo array di valori e solo dopo si può chiamare ArrayMaximum()
.
Ho provato a mettere il codice dell'indicatore stesso nell'EA, ma non funziona nulla, IMHO il punto è che l'indicatore ha bisogno di indicare i buffer e non l'ho visto da nessuna parte negli EA, ecco perché l'indicatore funziona, ma lo stesso codice non funziona negli EA. Ho un array riempito con ciclo sm[i] e l'indicatore lo vede ma l'EA con lo stesso codice no. Forse gli array negli EA dovrebbero essere dichiarati in modo diverso rispetto agli indicatori?
Risolvi il problema - senza fare domande: https://www.mql5.com/ru/articles/mt4
https://www.mql5.com/ru/articles/1497