Colore dell'indicatore standard - pagina 2

 

Buon pomeriggio, Yedelkin!

Scusa, ecco le risposte alle tue domande.

MqlParam params[5];
int ma_handle;

params[0].type = TYPE_INT;
        params[0].integer_value = 10;
        
        params[1].type = TYPE_INT;
        params[1].integer_value = 0;
        
        params[2].type = TYPE_INT;
        params[2].integer_value = MODE_SMA;
        
        params[3].type = TYPE_INT;
        params[3].integer_value = PRICE_MEDIAN;
        
        params[4].type = TYPE_COLOR;
        params[4].integer_value = clrBlue;
        
        ma_handle = IndicatorCreate( NULL, PERIOD_CURRENT, IND_MA, 5, params );
        if ( ma_handle != INVALID_HANDLE )
      {
        ChartIndicatorAdd( 0, 0, ma_handle );
      }

L'indicatore viene creato, ma il suo colore è ROSSO.

Un'altra cosa. Il messaggio precedente non era destinato a te, ma a Stringo,

tranne che per i parametri dell'indicatore MA.

Se vi ha offeso in qualche modo, mi scuso.

Sinceramente, Mikhail.

 
Mikalas:

Un'altra cosa. Il messaggio precedente non era destinato a te, ma a Stringo,

Di solito leggo esattamente quello che dice: "Buon pomeriggio, Stringo e Yedelkin! Urain ha già notato ieri che io "non so leggere tra le righe".

Dalla risposta principale è chiaro che l'azzeramento dell'array params non viene eseguito (e ogni variabile di tipoMqlParam ha 4 campi, non 2). Non puoi vedere la risposta al commento: "Inoltre, l'indicatore IND_MA(iMA) non ha un parametro come "Colore", mentre tu ce l'hai. Potete vedere un esempio di come usare iMA qui: MQL5 Reference / Access to timeseries and indicators / IndicatorCreate".

Il codice di errore restituito non è specificato.

 

Caro Yedelkin!

Non c'è bisogno di azzerare l'array params, perché è un array statico (params[5]) e I

riempire tutti i suoi campi, a proposito, riempire 2 campi è sufficiente. Penso che a seconda di TIPO uno dei 3

campi successivi.

Nessunerrore (ma_handle != INVALID_HANDLE), l'indicatore viene creato.

Dimmi, quanti parametri ha l'indicatore nella foto?

MA

Mikhail

 
Mikalas:

Nessuncodice di errore, l'indicatore viene creato.

Prima scrivi"Questo codice avrebbe dovuto funzionare, MA.... ahimè...". Ora risulta che"l'indicatore viene creato". ....To "Nessun codice di errore" - c'è sempre un codice di errore, anche se è zero.

Riguardo all'immagine. Lei riduce ripetutamente la domanda a una discussione su un possibile, secondo lei, bug. Ma all'inizio hai iniziato a parlare dell'uso della funzione IndicatorCreate() nel tuo codice. Come tu stesso hai capito, la funzione IndicatorCreate() non funziona con le immagini. Ancora una volta suggerisco: guardate la documentazione e i suoi esempi. Trova (indovina) perché nella scheda dei parametri appare l'opzione "Stile", ma nei parametri di input dell'indicatore iMA non hai una tale opzione. Scopri quali parametri di input sono forniti per l'indicatore che hai scelto e quali di essi dovrebbero essere riflessi nella funzione IndicatorCreate().

 

Capisco, grazie.

 
Mikalas:

Dimmi, quanti parametri ha l'indicatore nella foto?

Ci sono 7 parametri in questa scheda.
 

A differenza di iMA(4 parametri), la funzione

La funzione IndicatorCreate deve inserire tutti i parametri possibili

Riferimento MQL5:

int IndicatorCreate(
stringa symbol, // nome del simbolo
ENUM_TIMEFRAMES periodo, // periodo
ENUM_INDICATOR indicator_id, // tipo di indicatore dall'enumerazione ENUM_INDICATOR
int parameters_cnt=0, // numero di parametri
const MqlParam& parameters_array[]=NULL, // array di parametri
);

parametri_array[]=NULL

[in] Array di tipo MqlParam, i cui elementi contengono il tipo e il valore di ogni parametro di ingresso di un indicatore tecnico.

Mi mandi al libro di riferimento, ma non lo leggi?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов - Документация по MQL5
 
Mikalas:

Mi rimandi a una guida e non l'hai letta tu stesso?

Ecco qui. Con questo approccio, potresti ritrovarti da solo con il tuo problema.

Sull'argomento. Il fatto che tu abbia guardato nel manuale è positivo. Ora riaprilo nella stessa pagina. Vedete la seguente linea: "Un array di tipo MqlParam, i cui elementi contengono il tipo e il valore di ogni parametro di ingresso dell'indicatore tecnico". Ciò che è "parametro di ingresso" è "parametro di ingresso"(MQL5 Reference / MQL5 Basics / Variables / Input variables). Ora cerca la risposta alla domanda "quanti parametri di input ha l'indicatore tecnico iMA?

Mikalas:

A differenza di iMA (4 parametri), la funzione IndicatorCreate deve inserire tutti i parametri possibili

Quindi, se iMA ha 4 parametri di input, quanti parametri di input dovrei "inserire" in IndicatorCreate()? Ancora una volta: IndicatorCreate() non funziona con le immagini. Per essere più precisi, IndicatorCreate() non lavora con le immagini, ma con i parametri di input dell'indicatore, che passa direttamente all'indicatore. Dove passerà l'opzione dell'immagine "Stile" se l'indicatore non ha tale parametro di input?
 

L'indicatore MA ha 7 parametri!

Per la funzione iMA sono sufficienti 4 parametri

ma_handle = iMA( _Symbol, TimeFrame, 10, 0, MODE_SMA, PRICE_MEDIAN );,

ma per lafunzione IndicatorCreate() tutti i 7 parametri dell'indicatore devono essere possibili

parametri_array[]=NULL

[Array di tipo MqlParam i cui elementi contengono il tipo e il valore di ogni parametro di ingresso dell'indicatore tecnico.

Un'altra cosa... Qual è la sua professione?

 
Mikalas:

e tutti i 7 parametri dell'indicatoredevono essere possibili perIndicatorCreate().

Questa è la tua conclusione e devi conviverci :) Service Desk per aiutare.