Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 716
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ciao ... Cosa vuol dire che non puoi?
Cos'è questo, allora? Cinque minuti nell'editor...
È perfetto!
Una squadra?
...
start()
{
........
j=j+10;
PlotIndexSetInteger(0,PLOT_SHIFT,j);
........
GRAZIE!
Comunque.
Spostando la linea nella finestra dell'indicatore a destra, oltre la barra zero, funziona sulla piattaforma MT5.
MT4 non ha questa funzione, non ha funzionato, qualunque cosa abbia fatto.
Anche MT5, per quanto ne so, ha una capacità di modellazione 3D a differenza di MT4.
Tutto questo è molto bello!
Sono crollato.
Passo a MT5!!! // E lo faccio con urgenza ;)
Cosa è impossibile? Spostare il buffer dell'indicatore a destra? Sì, è possibile, anche a destra o a sinistra ;) SetIndexShift().
Ma se hai deciso di passare a MT5, vai avanti;)
È fantastico!
Comando?
...
start()
{
........
j=j+10;
PlotIndexSetInteger(0,PLOT_SHIFT,j);
........
Stupidamente invertito gli ultimi dieci valori del buffer di calcolo e uscita con uno spostamento di 10 barre. Non ha nemmeno pensato a nessuna ottimizzazione o altro. Solo per mostrarvelo:
//| iCheckShift.mq4 |
//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//| https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70"
#property link "https://login.mql5.com/ru/users/artmedia70"
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots 2
//--- plot BufferCurrent
#property indicator_label1 "BufferCurrent"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrRed
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- plot BufferFuture
#property indicator_label2 "BufferFuture"
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrDodgerBlue
#property indicator_style2 STYLE_SOLID
#property indicator_width2 2
//--- input parameters
input int Shift=10; // Смещение в будущее (баров)
//--- indicator buffers
double BufferCurrent[];
double BufferFuture[];
double BufferCalculate[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
IndicatorBuffers(3);
SetIndexBuffer(0,BufferCurrent,INDICATOR_DATA);
SetIndexBuffer(1,BufferFuture,INDICATOR_DATA);
SetIndexBuffer(2,BufferCalculate,INDICATOR_CALCULATIONS);
SetIndexShift(1,Shift);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
if(rates_total<1) return(0);
ArraySetAsSeries(BufferCalculate,true);
ArraySetAsSeries(BufferCurrent,true);
ArraySetAsSeries(BufferFuture,true);
int limit=rates_total-prev_calculated;
if(limit>1) {
limit=rates_total-1;
ArrayInitialize(BufferCalculate,EMPTY_VALUE);
ArrayInitialize(BufferCurrent,EMPTY_VALUE);
ArrayInitialize(BufferFuture,EMPTY_VALUE);
}
for(int i=limit; i>=0; i--) {
BufferCurrent[i]=(high[i]+low[i])/2.0;
if(i<Shift) BufferCalculate[i]=(high[i]+low[i]+open[i]+close[i])/4.0;
}
for(int i=0; i<Shift; i++) {
BufferFuture[Shift-i]=BufferCalculate[i];
}
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
Cosa non è possibile? Spostare il buffer dell'indicatore a destra? Sì, puoi, a destra o a sinistra ;)
Ma se hai deciso di passare a MT5, vai avanti ;)
il tuo codice scritto sopra. Giusto?
L'ho aggiunto lì. SetIndexShift(). E Artiom l'ha scritto in modo più dettagliato.
Finalmente! Problema risolto.
...
start()
{
........
j=j+10;
SetIndexShift(0,j);
Tutto funziona su MT4.
GRAZIE MILLE!!!
La mia domanda è questa:
C'è un MACD nella finestra dell'indicatore che ha un valore "A" calcolato sul prezzo corrente. Quale sarebbe la formula per calcolare il valore del prezzo se il valore attuale del MACD diventasse "-A"?
Ciao!
La mia domanda è questa:
C'è un MACD nella finestra dell'indicatore che ha un valore "A" calcolato sul prezzo corrente. Quale dovrebbe essere la formula che calcola il valore del prezzo se il valore attuale del MACD diventa "-A"?
https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80_MACD
C'è un MACD nella finestra dell'indicatore, che ha un valore "A" calcolato sul prezzo corrente. Quale dovrebbe essere la formula per calcolare il valore del prezzo se il valore attuale del MACD è diventato "-A"?
Renat, grazie, naturalmente, per la tua partecipazione.... Ma la domanda riguardava qualcos'altro:
C'è un MACD nella finestra dell'indicatore, che ha un valore "A" calcolato sul prezzo corrente. Quale sarebbe la formula per calcolare il valore del prezzo se il valore attuale del MACD diventasse "-A"?