1.Niente sul fatto di non associare il numero del buffer dell'indicatore all'indicatore. Dato che c'è un solo indicatore, ha ottenuto automaticamente il buffer 0 ed è quello che ho specificato.
2. Se ho il manico dell'indicatore nell'inizializzazione, quando cambio i parametri che vengono passati all'indicatore, devo riempire nuovamente l'EA al grafico in modo che arrivi l'evento di inizializzazione e vengano applicati i nuovi parametri?
È così che ottengo i dati attuali della media mobile, è corretto?
Due domande.
1.Niente sul fatto di non associare il numero del buffer dell'indicatore all'indicatore. Dato che c'è un solo indicatore, ha ottenuto automaticamente il buffer 0 ed è quello che ho specificato.
2. Se ho la gestione dell'indicatore nell'inizializzazione, quando cambio i parametri che vengono passati all'indicatore, devo ricaricare l'EA sul grafico perché l'evento di inizializzazione si verifichi e i nuovi parametri vengano applicati?
1. Non c'è nessuna "associazione". Non c'è mai stato.
intCopyBuffer(
int indicator_handle, // handle индикатораint buffer_num, // номер буфера индикатораint start_pos, // откуда начнем int count, // сколько копируемdouble buffer[] // массив, куда будут скопированы данные
);
C'è una funzione che prende l'handle dell'indicatore (nel tuo caso è la variabilema_handle e il numero di buffer '0' - zero, perché l'indicatore Moving Average ha solo un buffer).
2. Se cambi i parametri di input nel tuo EA, inizializzerà di nuovo il tuo EA e l'handle dell'indicatore sarà creato in OnInit con i parametri che hai inserito.
Отсчет элементов копируемых данных (индикаторный буфер с индексом buffer_num) от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар (значение индикатора для текущего бара). При копировании заранее неизвестного количества данных в качестве массива-приемника buffer[] желательно...
Sì, non è chiaro quale sia il numero del buffer dell'indicatore, come vengono creati questi buffer, se appartengono a un indicatore specifico o hanno una numerazione comune. La documentazione dice di scrivere SetIndexBuffer(), ma nell'esempio della media mobile è scritto senza. Ho letto il riferimento e cercato altri articoli, ma non è ancora chiaro. Il preprocessore ha bisogno di specificare i buffer e perché i buffer dovrebbero essere uno in meno rispetto alla direttiva del preprocessore e non lo stesso.
Ivan_Invanov: Sì, non so cos'è un numero di buffer dell'indicatore, come vengono creati questi buffer, se appartengono a un certo indicatore o hanno una numerazione generale. La documentazione dice di scrivere SetIndexBuffer(), ma nell'esempio della media mobile è scritto senza. Ho letto il riferimento e cercato altri articoli, ma non è ancora chiaro. Il preprocessore ha bisogno di specificare i buffer e perché i buffer dovrebbero essere uno in meno rispetto alla direttiva del preprocessore e non lo stesso.
Se si cerca qualche significato metafisico... allora molte cose diventano incomprensibili. Altrimenti, è solo un numero. Appartiene a un indicatore specifico.
Gli Expert Advisors non hanno affatto buffer di indicatori, quindi non può esserci una chiamata a SetIndexBufer().
Non uno di meno, ma esattamente lo stesso. Quando si conta da zero, l'ultimo numero è 1 in meno del numero totale.
Se non le dispiace, risponda a qualche altra domanda, per favore.
1. Non capisco perché devo assegnare 0 a una variabile dichiarata se poi assegnerò comunque qualcosa in seguito. E inoltre, a volte 0 non viene assegnato, a volte sì.
E dicono che bisogna cancellare gli oggetti nella deinizializzazione (non capisco perché), ma una maniglia dell'indicatore è un oggetto, ma di solito non viene cancellata, perché?
3.MqlTradeRequest request={0}; Cosa significa? Probabilmente, all'intera struttura viene assegnato 0, ma non contiene solo tipi numerici.
4. E perché c'è un'operazione logica qui?
boolOrderSend(
MqlTradeRequest& request, // структура запросаMqlTradeResult& result // структура ответа
);
Se non le dispiace, risponda a qualche altra domanda, per favore.
1. Non capisco perché devo assegnare 0 a una variabile dichiarata se poi assegnerò comunque qualcosa in seguito. E inoltre, a volte 0 non viene assegnato, a volte sì.
E dicono che bisogna cancellare gli oggetti nella deinizializzazione (non capisco perché), ma una maniglia dell'indicatore è un oggetto, ma di solito non viene cancellata, perché?
3.MqlTradeRequest request={0}; Cosa significa? Probabilmente, l'intera struttura è assegnata a 0, ma non contiene solo tipi numerici.
4. Perché abbiamo bisogno di un'operazione logica qui?
1. Per abitudine.
2. è un altro oggetto. Sarà scaricato da solo, ma può essere accelerato dalla funzione IndicatorRelease().
3. è cancellato e questo è tutto.
4. questa non è un'operazione logica, ma un trasferimento di variabile per riferimento.
Sono confuso su una cosa. Quando SYMBOL_TRADE_EXECUTION_MARKET viene eseguito. Posso fare qualcosa per aprire gli ordini a un certo prezzo, come in Esecuzione immediata? Ho bisogno di un ordine pendente? Si prega di scrivere un formato di richiesta di mercato per un ordine in sospeso.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
È così che ottengo i dati attuali della media mobile, è corretto?
Due domande.
1.Niente sul fatto di non associare il numero del buffer dell'indicatore all'indicatore. Dato che c'è un solo indicatore, ha ottenuto automaticamente il buffer 0 ed è quello che ho specificato.
2. Se ho il manico dell'indicatore nell'inizializzazione, quando cambio i parametri che vengono passati all'indicatore, devo riempire nuovamente l'EA al grafico in modo che arrivi l'evento di inizializzazione e vengano applicati i nuovi parametri?
È così che ottengo i dati attuali della media mobile, è corretto?
Due domande.
1.Niente sul fatto di non associare il numero del buffer dell'indicatore all'indicatore. Dato che c'è un solo indicatore, ha ottenuto automaticamente il buffer 0 ed è quello che ho specificato.
2. Se ho la gestione dell'indicatore nell'inizializzazione, quando cambio i parametri che vengono passati all'indicatore, devo ricaricare l'EA sul grafico perché l'evento di inizializzazione si verifichi e i nuovi parametri vengano applicati?
1. Non c'è nessuna "associazione". Non c'è mai stato.
Leggiamo l'aiuto su CopyBuffer
C'è una funzione che prende l'handle dell'indicatore (nel tuo caso è la variabilema_handle e il numero di buffer '0' - zero, perché l'indicatore Moving Average ha solo un buffer).
2. Se cambi i parametri di input nel tuo EA, inizializzerà di nuovo il tuo EA e l'handle dell'indicatore sarà creato in OnInit con i parametri che hai inserito.
1. Non c'è nessuna "associazione". Non c'è mai stato.
...
Significato della chiamata aSetIndexBuffer()
Significa una chiamata a SetIndexBuffer()
Sì, non so cos'è un numero di buffer dell'indicatore, come vengono creati questi buffer, se appartengono a un certo indicatore o hanno una numerazione generale. La documentazione dice di scrivere SetIndexBuffer(), ma nell'esempio della media mobile è scritto senza. Ho letto il riferimento e cercato altri articoli, ma non è ancora chiaro. Il preprocessore ha bisogno di specificare i buffer e perché i buffer dovrebbero essere uno in meno rispetto alla direttiva del preprocessore e non lo stesso.
Se si cerca qualche significato metafisico... allora molte cose diventano incomprensibili. Altrimenti, è solo un numero. Appartiene a un indicatore specifico.
Gli Expert Advisors non hanno affatto buffer di indicatori, quindi non può esserci una chiamata a SetIndexBufer().
Non uno di meno, ma esattamente lo stesso. Quando si conta da zero, l'ultimo numero è 1 in meno del numero totale.
Se non le dispiace, risponda a qualche altra domanda, per favore.
1. Non capisco perché devo assegnare 0 a una variabile dichiarata se poi assegnerò comunque qualcosa in seguito. E inoltre, a volte 0 non viene assegnato, a volte sì.
E dicono che bisogna cancellare gli oggetti nella deinizializzazione (non capisco perché), ma una maniglia dell'indicatore è un oggetto, ma di solito non viene cancellata, perché?
3.MqlTradeRequest request={0}; Cosa significa? Probabilmente, all'intera struttura viene assegnato 0, ma non contiene solo tipi numerici.
4. E perché c'è un'operazione logica qui?
Se non le dispiace, risponda a qualche altra domanda, per favore.
1. Non capisco perché devo assegnare 0 a una variabile dichiarata se poi assegnerò comunque qualcosa in seguito. E inoltre, a volte 0 non viene assegnato, a volte sì.
E dicono che bisogna cancellare gli oggetti nella deinizializzazione (non capisco perché), ma una maniglia dell'indicatore è un oggetto, ma di solito non viene cancellata, perché?
3.MqlTradeRequest request={0}; Cosa significa? Probabilmente, l'intera struttura è assegnata a 0, ma non contiene solo tipi numerici.
4. Perché abbiamo bisogno di un'operazione logica qui?
1. Per abitudine.
2. è un altro oggetto. Sarà scaricato da solo, ma può essere accelerato dalla funzione IndicatorRelease().
3. è cancellato e questo è tutto.
4. questa non è un'operazione logica, ma un trasferimento di variabile per riferimento.
1. Per abitudine.
2. questo è un oggetto diverso. Poi si scaricherà da solo, ma può essere accelerato da IndicatorRelease().
3. è cancellato e questo è tutto.
4. questa non è un'operazione logica, ma un trasferimento di variabile per riferimento.