Unisciti alla nostra fan page
- Visualizzazioni:
- 28
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Una classe per lavorare con le matrici.
La matrice è definita in un array monodimensionale, in una riga: elementi della prima riga, della seconda riga, ecc. Gli ultimi due elementi dell'array definiscono la dimensione della matrice: il numero di colonne e il numero di righe.
Esempio:
double m[]={1,2,3, 4,5,6, 2,3}; // Una matrice di due righe e tre colonne.
Metodi della classe:
| Metodo | Assegnazione del metodo e dei parametri |
|---|---|
void SetSize( | Imposta la dimensione della matrice aA. aRows - numero di righe, aCols - numero di colonne. |
void SetValue( | Imposta il valore dell'elemento aA della matrice, situato nella riga aRow e nella colonna aCol. |
int GetSize( | Restituisce il numero di elementi della matrice aA. Per riferimento restituisce: aRows - numero di righe, aCols - numero di colonne. |
int GetRows( | Restituisce il numero di righe della matrice aA. |
int GetCols( | Restituisce il numero di colonne della matrice aA. |
double GetValue( | Ottiene il valore dell'elemento aA della matrice, situato nella riga aRow e nella colonna aCol. |
void Copy( | Copia la matrice dalla matrice aFrom alla matrice aTo. |
bool CheckForAdd( | Verifica se due matrici hanno dimensioni simili per l'addizione (equivalenza completa in altezza e larghezza). |
bool CheckForMult( | Verifica se due matrici sono adatte per dimensioni alla moltiplicazione (il numero di colonne della matrice aA è uguale al numero di righe della matrice aB). |
bool CheckIsSq( | Verifica se la matrice è quadrata. |
void AddNum( | Aggiunge il numero aNum alla matrice aA. Il risultato (matrice) viene restituito come riferimento nella matrice aR. |
void MultNum( | Moltiplica la matrice aA per il numero aNum. Il risultato (matrice) viene restituito come riferimento nell'array aR. |
void AddMx( | Aggiunge le matrici aA e aB. Il risultato (matrice) viene restituito come riferimento nell'array aAB. |
void MultMx( | Moltiplica la matrice aA per la matrice aB. Il risultato (matrice) viene restituito come riferimento nell'array aAB. |
void Transpose( | Traspone la matrice aA. La matrice trasposta viene restituita da un riferimento nella matrice aT. |
void AlgAdd( | Ottiene la matrice di addizione algebrica. aA è la matrice originale, aAA è l'addizione algebrica (restituita tramite riferimento). |
bool Inverti( | Restituisce la matrice inversa aR dalla matrice aA per riferimento. Il metodo stesso restituisce true se la matrice inversa esiste o false se la matrice inversa non esiste. |
void Triangolo( | Restituisce la matrice triangolo aT dalla matrice aA per riferimento. |
void Minor( | Ottiene il minore dalla matrice aA per la riga aRow e la colonna aCol. Il minore viene restituito come riferimento nella matrice aM. |
double MinorDef( | Restituisce il valore del determinante minore della matrice aA sulla riga aRow e sulla colonna aCol. |
void MinorDefMx( | Ottiene la matrice dei minori (matrice con i valori dei determinanti dei minori). aA è la matrice di partenza, aM è la matrice con i determinanti minori (restituita per riferimento). |
double Def( | Restituisce il valore del determinante della matrice aA. |
int Rank( | Restituisce il rango della matrice aA. |
int RankDRC( | Restituisce il rango della matrice aA e per riferimento restituisce:
|
void CopyCol( | Copia la colonna con indice aFromCol dalla matrice aFom alla matrice aTo nella colonna con indice aToCol. Il risultato viene restituito come riferimento alla matrice aR. |
void CopyRow( | Copia una riga con indice aFromRow dalla matrice aFrom alla matrice aTo in una riga con indice aToRow. Il risultato viene restituito come riferimento alla matrice aR. |
void AppendCol( | Espande la matrice aA aggiungendovi la colonna aC. Il risultato è restituito da un riferimento nella matrice aF. |
void AppendRow( | Espande la matrice aA aggiungendovi la riga aR. Il risultato viene restituito come riferimento nella matrice aF. |
bool SystemKramer( | Risolve il sistema di equazioni con il metodo di Kramer.
|
bool SistemaInverso( | Risolve il sistema di equazioni attraverso la matrice inversa.
|
bool SystemGauss( | Risolve il sistema di equazioni con il metodo di Gauss.
|
int Verifica del sistema( | Verifica il sistema di equazioni.
Valore di ritorno:
|
void Alert( | Visualizza l'intera matrice in un unico avviso.
|
void Alert2( | Visualizza la matrice nell'avviso riga per riga, i termini sono visualizzati dal basso verso l'alto, poi la didascalia, cioè nella finestra di avviso la matrice è orientata normalmente: la didascalia è in alto, poi le righe in ordine. |
void Alert1Str( | Visualizza la matrice per riga nell'avviso. |
Lo script sMatrix.mq4 è un esempio di utilizzo della libreria per risolvere un sistema di equazioni lineari utilizzando i metodi di Cramer, della matrice inversa e gaussiano.
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/951
Indice di mercato incerto
Un indicatore della volatilità del mercato.
Monitoraggio della diffusione
Toolkit per il monitoraggio dello spread delle coppie di trading
Clean Market Watch - Removes All Symbols In the Market Watch Windows In One Go
Lo script Clean Market Watch è un semplice strumento di utilità progettato per rimuovere rapidamente tutti i simboli dalla finestra di Market Watch di MetaTrader 5 con un solo clic. Questo è particolarmente utile quando si vuole ricominciare da capo con un'area di lavoro pulita o quando il Market Watch è diventato ingombro di troppi simboli. Scopo Nel corso del tempo, i trader spesso accumulano numerosi simboli nella loro finestra di Market Watch, rendendo difficile concentrarsi sugli strumenti che negoziano attivamente. Rimuovere manualmente i simboli uno per uno può essere noioso e richiede molto tempo. Questo script automatizza l'intero processo, eliminando tutti i simboli in pochi secondi.
Indices Testing
L'EA negozia solo posizioni di acquisto e non utilizza SL e TP.