Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1165

 
Alexey Viktorov:

Non si può perdere un'abilità.

Sì? Cento, allora? Con il limone...

 
Artyom Trishkin:

Nella schermata, il display del buffer è spostato di cinque barre a destra. Quindi - per ottenere la quinta barra del buffer dell'indicatore (con indice 4), e più in basso nella lista a sinistra, da dove dovremmo prenderli? Da Buffer[4] e più a sinistra.

In teoria. In pratica non ho aperto il codice degli indicatori per molto tempo, non ci ho lavorato per quasi un anno. Fate una prova.

Proprio così. Ma non ho bisogno di quei 5 valori sulla destra, voglio avere il valore necessario nel Buffer[0] in una volta sola. Altrimenti dovrò passare non solo il buffer ma anche l'offset in un mucchio di funzioni per calcolare i frattali per MA e altre cose. Questo è un'inutile complicazione del codice e un ulteriore rallentamento dei calcoli.

Posso copiare i valori richiesti nel Buffer (senza 5 valori MA a destra) solo se passo -2*ma_shift in CopyBuffer per start_pos.
Questa è la domanda originale - da dove viene il doppio offset negativo. Si prega di chiarire. Forse è un bug, o forse è una caratteristica di MQL5.

 
RickD:

Questo è corretto. Ma non ho bisogno di quei 5 valori sulla destra, voglio avere il valore desiderato nel Buffer[0] in una volta sola. Altrimenti dovrò passare non solo il buffer, ma anche lo shift in un mucchio di funzioni per il calcolo dei frattali da MA e altre cose. Questo è un'inutile complicazione del codice e un ulteriore rallentamento dei calcoli.

Posso copiare i valori richiesti nel Buffer (senza 5 valori MA sulla destra) solo se passo -2*ma_shift in CopyBuffer per start_pos.
Questa è la domanda originale - da dove viene il doppio offset negativo. Si prega di chiarire. Forse è un bug, o forse è una caratteristica di MQL5.

Vedete che non siete compresi. Se si fa così, di solito si disegna un'immagine. Non è ancora chiaro cosa vuoi ottenere.


Aggiunto: L'immagine dovrebbe mostrare QUELLO che dovrebbe essere il risultato completo.

 
RickD:

Questo è corretto. Ma non ho bisogno di quei 5 valori sulla destra, voglio avere il valore desiderato nel Buffer[0] in una volta sola. Altrimenti dovrò passare non solo il buffer, ma anche lo shift in un mucchio di funzioni per il calcolo dei frattali da MA e altre cose. Questo è un'inutile complicazione del codice e un ulteriore rallentamento dei calcoli.

Posso copiare i valori richiesti nel Buffer (senza 5 valori MA a destra) solo se passo -2*ma_shift in CopyBuffer per start_pos.
Questa è la domanda originale - da dove viene il doppio offset negativo. Si prega di chiarire. Forse è un bug, o forse è una caratteristica di MQL5.

Lo spostamento è semplicemente uno spostamento nella visualizzazione della maschera. Il valore più a destra sarà nel Buffer[0]. Se volete conoscere il valore sulla barra zero, sarà nel Buffer[0 + shift].


Se lo volete senza + shift, specificate 0 + shift inCopyBuffer(), allora Buffer[0] conterrà il valore desiderato.
 
Puoi dirmi quale inluder inserire per arrivare alla funzioneMathCorrelationKendall()?
Документация по MQL5: Стандартная библиотека / Математика / Статистика / Вспомогательные функции / MathCorrelationKendall
Документация по MQL5: Стандартная библиотека / Математика / Статистика / Вспомогательные функции / MathCorrelationKendall
  • www.mql5.com
Стандартная библиотека / Математика / Статистика / Вспомогательные функции / MathCorrelationKendall - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Сергей Таболин:
Puoi dirmi quale inluder inserire per arrivare alla funzione MathCorrelationKendall()?

Connettiti:

#include <Math\Stat\Math.mqh>
 
Vladimir Karputov:

Connettiti:

Grazie.

 
Se volete senza + shift, specificate 0 + shift in CopyBuffer(), allora Buffer[0] conterrà il valore richiesto.

Tutto questo è chiaro. Domanda - quale posizione iniziale dovrebbe essere specificata in CopyBuffer() per ottenere "senza + shift" nei tuoi termini?

 
Vladimir Karputov:

Vedete che non siete compresi. In questo caso, è normale fare un disegno. Non è ancora chiaro cosa volete ottenere.


Aggiunto: il disegno dovrebbe mostrare quale dovrebbe essere il risultato.

C'era già un disegno. Lo ripeterò.

Volete che il Buffer[0] abbia il valore MA corrispondente alla linea verticale rossa.
Buffer[1] deve avere il valore MA a sinistra della linea rossa. E così via.

Ed è tutto nell'indicatore.


Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
RickD:

Tutto questo è comprensibile. Domanda - quale posizione iniziale specificare in CopyBuffer per ottenere nei vostri termini "senza + shift"?

Il valore da aggiungere per l'offset MA è 1.