Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 716
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Hi ... O que quer dizer com "não pode"?
O que é isto, então? Cinco minutos no editor...
É perfeito!
Uma equipa?
...
start()
{
........
j=j+10;
PlotIndexSetInteger(0,PLOT_SHIFT,j);
........
OBRIGADO!
Seja como for.
Deslocar a linha na janela indicadora para a direita, para além da barra zero, funciona na plataforma MT5.
O MT4 não tem essa característica, não funcionou, o que quer que eu tenha feito.
Também o MT5, tanto quanto sei, tem capacidade de modelação 3D, ao contrário do MT4.
Isto é tudo muito fixe!
Eu avariei.
Eu mudo para MT5!!! // E faço-o com urgência ;)
O que é impossível? Deslocar o tampão indicador para a direita? Sim, pode, mesmo para a direita ou para a esquerda ;) SetIndexShift().
Mas se decidiu mudar para o MT5, vá em frente;)
Isso é óptimo!
Comando?
...
start()
{
........
j=j+10;
PlotIndexSetInteger(0,PLOT_SHIFT,j);
........
Inverteu estupidamente os últimos dez valores do buffer de cálculo e saída com um deslocamento de 10 barras. Nem sequer pensou em qualquer optimização ou nada. Só para vos mostrar:
//| 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);
}
//+------------------------------------------------------------------+
O que é que não é possível? Deslocar o tampão indicador para a direita? Sim, pode, para a direita ou para a esquerda ;)
Mas se decidiu mudar para o MT5, vá em frente ;)
o seu código escrito acima. Certo?
Adicionei-o lá. SetIndexShift(). E Artiom escreveu-o com mais detalhes.
Finalmente! problema resolvido.
...
start()
{
........
j=j+10;
SetIndexShift(0,j);
Tudo funciona no MT4.
MUITO OBRIGADO!!!!
A minha pergunta é a seguinte:
Existe um MACD na janela do indicador que tem algum valor "A" calculado sobre o preço actual. Qual seria a fórmula para calcular o valor do preço se o valor MACD actual se tornasse "-A" ?
Olá !
A minha pergunta é a seguinte:
Existe um MACD na janela do indicador que tem algum valor "A" calculado sobre o preço actual. Qual deve ser a fórmula que calcula o valor do preço se o valor MACD actual se tornar "-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
Existe um MACD na janela do indicador, que tem algum valor "A" calculado sobre o preço actual. Qual deve ser a fórmula para calcular o valor do preço se o valor MACD actual se tornar "-A" ?
Renat, obrigado, é claro, pela sua participação.... Mas, a questão era sobre outra coisa:
Existe um MACD na janela do indicador, que tem algum valor "A" calculado sobre o preço actual. Qual seria a fórmula para calcular o valor do preço se o valor MACD actual se tornasse "-A"?