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
Trabalhando em Multidimensionnal Array, eu bloqueio uma coisa tão simples...
Olá, senhores,
Apenas tentando obter uma célula de um Array em uma linha de tela ( mesma mensagem de resultado Alerta), falta algo que é certo, mas o dia todo nele e eu não entendo por quê.
A ajuda seria tão boa ... ...
é isso ..:
//| !XTEST sur arrays.mq4 |
+//| |
//| |
//+------------------------------------------------------------------+
#direitos de propriedade intelectual "".
#ligação de propriedade ""
#janela_do_cartão_indicador de propriedade
Moeda externa int = 1 ;
int externo X_Col = 700 ;
externo int Y_Ligne = 30 ;
FontCar = "Arial" ;
Exterior int TailCar = 14 ;
cor exterior Couleur = "Lime ;
Exterior int X = 1;
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
string Tab1dim[2];
string Tab2dim[2,2];
string Tab3dim[2,2,2];
string Tab4dim[2,2,2,2,2]; string Tab3dim[2,2,2];
// 5eme Dimensão de tableau non autorisée . int Tab5dim[20,20,20,80,2];
int init()
{
//---- indicadores
string Tab1dim[2]={"tab1-c0","tab1C1"};
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("R");
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
//----
Tab1dim[2]={"tab1-c0","tab1C1"};
string affich=Tab1dim[0];
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
ObjectCreate ("A1", OBJ_LABEL, 0, 0, 0, 0 );
ObjectSet ("A1", OBJPROP_CORNER,Coin );
ObjectSet ("A1", OBJPROP_XDISTANCE,X_Col );
ObjectSet ("A1", OBJPROP_YDISTANCE,Y_Ligne );
ObjectSetText ("A1",affich,TailCar, FontCar , Couleur );
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
Alerta(affich);
//----
retorno(0);
}
//+------------------------------------------------------------------+Obrigado de antemão.
...
Tente assim(a inicialização da matriz é feita de forma diferente) :
//| !XTEST sur arrays.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
#property indicator_chart_window
extern int Coin = 1 ;
extern int X_Col = 10 ;
extern int Y_Ligne = 10 ;
extern string FontCar = "Arial" ;
extern int TailCar = 14 ;
extern color Couleur = Lime ;
extern int X = 1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
string Tab1dim[] = {"tab1-c0","tab1C1"};
string Tab2dim[2,2];
string Tab3dim[2,2,2];
string Tab4dim[2,2,2,2];
// 5eme Dimension de tableau non autorisée . int Tab5dim[20,20,20,80,2];
int init()
{
//---- indicators
string Tab1dim[2]={"tab1-c0","tab1C1"};
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("A1");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
string affich=Tab1dim[0];
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
ObjectCreate ("A1", OBJ_LABEL, 0, 0, 0 );
ObjectSet ("A1", OBJPROP_CORNER,Coin );
ObjectSet ("A1", OBJPROP_XDISTANCE,X_Col );
ObjectSet ("A1", OBJPROP_YDISTANCE,Y_Ligne );
ObjectSetText("A1",affich,TailCar, FontCar , Couleur );
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
//----
return(0);
}
//+------------------------------------------------------------------+
Olá, senhores,
Apenas tentando obter uma célula de um Array em uma linha de tela ( mesma mensagem de resultado Alerta), ela perde algo que é certo, mas o dia todo nela e eu não entendo por quê...
A ajuda seria tão boa ... ...
é isso ..:
Obrigado de antemão.Tente assim (a inicialização da matriz é feita de forma diferente) :
//+------------------------------------------------------------------+
//| !XTEST sur arrays.mq4 |
//| |**************
Muito obrigado, isso correu bem, mas não me incomodam as razões pelas quais é necessário declarar como normal, ou em âmbito global, ou dentro de uma função, algo como escreveram no manual: duplo Tab2Dim[2*n-3]; ou então
int [] valores =novo int[3];
valores[0]=5;
values[1]=values[0]*2;
values[2]=values[1]*2;
mas é bom para o meu dia final, obrigado senhor.
...
Você pode superar parcialmente esse problema com a função ArrayResize() (dessa forma você pode ter arrays dinamicamente dimensionados)
O problema é que o ArrayResize() funciona apenas para as matrizes de dimensão única e primeira dimensão de um array (por exemplo, se você tiver array[][2], você pode redimensioná-lo com ArrayResize() para algo como este array[anySize][2]). Qualquer outra dimensão (da segunda dimensão f arrays para cima) deve ser de um tamanho constante conhecido em tempo de compilação.
Muito obrigado, isso correu bem, mas eu não me desagrada por que é necessário tão normal que possamos declarar, ou em âmbito global, ou dentro de uma função, algo como eles escreveram no manual: duplo Tab2Dim[2*n-3]; ou então
int [] valores =novo int[3];
valores[0]=5;
values[1]=values[0]*2;
values[2]=values[1]*2;
mas é bom para o meu dia final, obrigado senhor.Ajuda no meu indicador de banda
Olá a todos,
depois de experimentar muitas Band ind , tais como jband,tmaband etc... finalmente, tomei a decisão de escrever meu próprio Indicador de Banda ,
o anexo que você vai encontrar é o meu indicador de banda, mas quando a EA chama de linha de banda baixa dá uma divisão zero, eu procurei meu código, não há nenhum divisor zeor lá dentro,
Se você tem uma idéia ou experiência como esta, por favor, deixe-me ajudar a resolver o problema.
obrigado antecipadamente....
...
Sem a fonte (ou sem o código para chamar o indicador personalizado) é impossível dizer nada. Se seu indicador funcionar, então o erro está em seu EA
Olá a todos,
depois de experimentar muitas Band ind , tais como jband,tmaband etc... finalmente, tomei a decisão de escrever meu próprio Indicador de Banda ,
o anexo que você vai encontrar é o meu indicador de banda, mas quando a EA chama de linha de banda baixa dá uma divisão zero, eu procurei meu código, não há nenhum divisor zeor lá dentro,
Se você tem uma idéia ou experiência como esta, por favor, deixe-me ajudar a resolver o problema.
obrigado antecipadamente....Precisa de ajuda com a codificação de um crossover MA EA
Olá, pessoal,
Estou me perguntando se alguém poderia me ajudar a codificar um MA crossover ea para que eu possa usá-lo quando estou longe do computador.
A idéia é a seguinte.
Gráfico de 1 minuto - 3 EMA e 8 SMA
Se 3 EMA cruzarem abaixo de 8 SMA, vender o par de moedas com TP e SL predefinidos nos parâmetros.
Se 3 EMA cruzarem acima de 8 SMA, compre o par de moedas com TP e SL pré-ajustados nos parâmetros.
Não sei se é possível codificar uma MA ea tão simples mas apreciaria muito se alguém pudesse me dar uma mão.
Obrigado de antemão!
...
Você verificou esta linha : https://www.mql5.com/en/forum/general?
Olá, pessoal,
Estou me perguntando se alguém poderia me ajudar a codificar um MA crossover ea para que eu possa usá-lo quando estiver longe do computador.
A idéia é a seguinte.
Gráfico de 1 minuto - 3 EMA e 8 SMA
Se 3 EMA cruzarem abaixo de 8 SMA, vender o par de moedas com TP e SL predefinidos nos parâmetros.
Se 3 EMA cruzarem acima de 8 SMA, compre o par de moedas com TP e SL pré-ajustados nos parâmetros.
Não sei se é possível codificar uma MA ea tão simples mas apreciaria muito se alguém pudesse me dar uma mão.
Agradecemos antecipadamente!Olá a todos,
depois de experimentar muitas Band ind , tais como jband,tmaband etc... finalmente, tomei a decisão de escrever meu próprio Indicador de Banda ,
o anexo que você vai encontrar é o meu indicador de banda, mas quando a EA chama de linha de banda baixa dá uma divisão zero, eu procurei meu código, não há nenhum divisor zeor lá dentro,
Se você tem uma idéia ou experiência como esta, por favor, deixe-me ajudar a resolver o problema.
obrigado antecipadamente....AQUI está o código para o ind. de banda.
EA call mid and up signal , mas a banda baixa é o problema para mim ,
//+------------------------------------------------------------------+
//| IndicatorPlan.mq4 |
//| Copyright © 2007, MetaQuotes Software Corp. |
//| MetaTrader 5 Trading Platform / MetaQuotes Software Corp. |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2007, MetaQuotes Software Corp."
#link do proprietário "http://www.metaquotes.net/"
//---- desenhando o indicador na janela principal
#janela_do_cartão_indicador de propriedade
//---- número de buffers indicadores
#property indicator_buffers 3
//---- cor do indicador
#indicador de propriedade_cor1 Ouro
#indicador de propriedade_color2 Magenta
#indicador de propriedade_color3 BlueViolet
//---- PARÂMETROS DE ENTRADA DO INDICADOR
MBand_Period = 15;
Exterior int UpBand_Period = 15;
externo int DnBand_Period = 15; externo int DnBand_Period = 15;
ent externo ABand_Timeframe = 15; ent externo ABand_Timeframe = 15;
extern int shift =0;
//---- buffers indicadores
duplo Ind_Buffer0[];
duplo Ind_Buffer1[];
duplo Ind_Buffer2[];
duplo Ind_Buffer3[];
duplo Ind_Buffer4[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
IndicatorShortName("ABand "+ABand_Timeframe);
//---- definindo o estilo de execução gráfica
SetIndexStyle(0, DRAW_LINE);
SetIndexLabel(0, "MBand "+MBand_Period);
SetIndexStyle(2, DRAW_LINE);
SetIndexLabel(2, "UpBand "+UpBand_Period); SetIndexLabel(2, "UpBand "+UpBand_Period);
SetIndexStyle(1, DRAW_LINE);
SetIndexLabel(1, "DnBand "+DnBand_Period); SetIndexLabel(1, "DnBand "+DnBand_Period);
//---- 3 buffers indicadores são usados para o cálculo
IndicatorBuffers(5);
SetIndexBuffer(0, Ind_Buffer0);
SetIndexBuffer(1, Ind_Buffer1);
SetIndexBuffer(2, Ind_Buffer2);
SetIndexBuffer(3, Ind_Buffer3); SetIndexBuffer(3, Ind_Buffer3);
SetIndexBuffer(4, Ind_Buffer4);
//áàğà óñòàíîâêà íîìåğà ----, íà÷èíàÿ ñ êîòîğîãî áóäåò îòğèñîâûâàòüñÿ èíäèêàòîğ
//ôîğìàòà Óñòàíîâêà ---- òî÷íîñòè îòîáğàæåíèÿ èíäèêàòîğà
IndicadorDígitos(Dígitos);
//---- ğàçìåğ êàíàëà â ïóíêòàõ
//---- final da inicialização
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
//---- Ïğîâåğêà êîëè÷åñòâà áàğîâ íà äîñòàòàòî÷íîñòü äëÿ äàëüíåéøåãî ğàñ÷¸òà
if(Bars < MBand_Period + UpBand_Period + DnBand_Period)
retorno(0);
//---- İÌÓËßÖÈß ÈÍÄÈÊÀÒÎĞÍÛÕ ÁÓÔÅĞÎÂ
if(ArraySize(Ind_Buffer0) < Barras)
{
ArraySetAsSeries(Ind_Buffer0, false);
ArraySetAsSeries(Ind_Buffer1, false);
ArraySetAsSeries(Ind_Buffer2, false);
ArraySetAsSeries(Ind_Buffer3, false);
ArraySetAsSeries(Ind_Buffer4, false);
//----
ArrayResize(Ind_Buffer0, Bars);
ArrayResize(Ind_Buffer1, Barras);
ArrayResize(Ind_Buffer2, Barras);
ArrayResize(Ind_Buffer3, Barras);
ArrayResize(Ind_Buffer4, Barras);
//----
ArraySetAsSeries(Ind_Buffer0, true);
ArraySetAsSeries(Ind_Buffer1, true);
ArraySetAsSeries(Ind_Buffer2, true);
ArraySetAsSeries(Ind_Buffer3, verdadeiro);
ArraySetAsSeries(Ind_Buffer4, verdadeiro);
}
//----+ ÂÂÅÄÅÍÈÅ ÑÒÀÒÈ×ÅÑÊÎÉ ÖÅËÎÉ ÏÅĞÅÌÅÍÍÎÉ ÏÀÌßÒÈ
estática em IndContado;
//----+ Inserção de variáveis com um ponto flutuante
duplo Resalt0, Resalt1, Resalt2;
dobro do preço;
//----+ Inserção de variáveis inteiras e obtenção de barras calculadas
int limit, MaxBar,bar, counted_bars = IndicatorCounted();
int i,k;
//---- verificação de possíveis erros
if(counted_bars < 0)
retorno(-1);
//---- a última barra calculada deve ser recalculada
if(counted_bars > 0)
barrinhas_contadas..;
//---- definindo o número da barra mais antiga,
// a partir do qual as novas barras serão recalculadas
limite = Barras - contadas_barras - 1;
//---- definindo o número da barra mais antiga,
// a partir do qual as novas barras serão recalculadas
MaxBar = Barras - 1 - (MBand_Period + UpBand_Period + DnBand_Period);
//---- inicialização de zero
if(limite > MaxBar)
{
limite = MaxBar;
for(bar = Barras - 1; bar >= MaxBar; bar--)
{
Ind_Buffer0 = 0,0;
Ind_Buffer1 = 0,0;
Ind_Buffer2 = 0,0;
Ind_Buffer3 = 0,0;
Ind_Buffer4 = 0,0;
}
}
//----+ O PRIMEIRO CICLO DE CÁLCULO DE INDICADORES
i=Bars-DnBand_Period;
if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;
while(i>=0)
{
i=Bars-DnBand_Period;
if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;
while(i>=0)
{
duplo min=1000000;
k=i+DnBand_Period-1;
while(k>==i)
{
price=Resalt1[k];
if(min>preço) min=preço;
k--;
}
Ind_Buffer1=min;
i--;
}
}
para(i=0; i<limite; i++)
{
// Aqui código da variável Cálculo Resalt0
// com base nos valores do buffer UpBand[]
// e variável externa0
Ind_Buffer3 =iMAOnArray(Ind_Buffer1,limit,DnBand_Period,shift, ma_method,i);
}
//----+ O SEGUNDO CICLO DE CÁLCULO DE INDICADORES
{
i=Bars-UpBand_Period;
if(counted_bars>UpBand_Period) i=Bars-counted_bars-1;
while(i>=0)
{
duplo máximo=-1000000;
k=i+UpBand_Period-1;
while(k>==i)
{
price=Resalt2[k];
if(max<preço) max=preço;
k--;
}
Ind_Buffer2=max;
i--;
}
}
//---- a linha de sinal é a média móvel simples
para(i=0; i<limite; i++)
{
// Aqui código da variável Cálculo Resalt0
// com base nos valores do buffer UpBand[]
// e variável externa0
Ind_Buffer4 =iMAOnArray(Ind_Buffer2,limit,UpBand_Period,shift, ma_method,i);
}
//----+ O PRINCIPAL CICLO DE CÁLCULO DE INDICADORES
//---- a linha de sinal é a média móvel simples
para(i=0; i<limite; i++)
{
// Aqui código da variável Cálculo Resalt0
// com base nos valores do buffer UpBand[]
// e variável externa0
Ind_Buffer0 =(Ind_Buffer2+Ind_Buffer1)/2;
}
retorno(0);
}
//+------------------------------------------------------------------+
...
Você pode postar como você está usando a chamada iCustom()?
AQUI está o código para a faixa ind.
EA call mid and up signal , mas a banda baixa é o problema para mim ,
//+------------------------------------------------------------------+
//| IndicatorPlan.mq4 |
//| Copyright © 2007, MetaQuotes Software Corp. |
//| MetaTrader 5 Trading Platform / MetaQuotes Software Corp. |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2007, MetaQuotes Software Corp."
#link do proprietário "http://www.metaquotes.net/"
//---- desenhando o indicador na janela principal
#janela_do_cartão_indicador de propriedade
//---- número de buffers indicadores
#property indicator_buffers 3
//---- cor do indicador
#indicador de propriedade_cor1 Ouro
#indicador de propriedade_color2 Magenta
#indicador de propriedade_color3 BlueViolet
//---- PARÂMETROS DE ENTRADA DO INDICADOR
MBand_Period = 15;
Exterior int UpBand_Period = 15;
externo int DnBand_Period = 15; externo int DnBand_Period = 15;
ent externo ABand_Timeframe = 15; ent externo ABand_Timeframe = 15;
extern int shift =0;
//---- buffers indicadores
duplo Ind_Buffer0[];
duplo Ind_Buffer1[];
duplo Ind_Buffer2[];
duplo Ind_Buffer3[];
duplo Ind_Buffer4[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
IndicatorShortName("ABand "+ABand_Timeframe);
//---- definindo o estilo de execução gráfica
SetIndexStyle(0, DRAW_LINE);
SetIndexLabel(0, "MBand "+MBand_Period);
SetIndexStyle(2, DRAW_LINE);
SetIndexLabel(2, "UpBand "+UpBand_Period); SetIndexLabel(2, "UpBand "+UpBand_Period);
SetIndexStyle(1, DRAW_LINE);
SetIndexLabel(1, "DnBand "+DnBand_Period); SetIndexLabel(1, "DnBand "+DnBand_Period);
//---- 3 buffers indicadores são usados para o cálculo
IndicatorBuffers(5);
SetIndexBuffer(0, Ind_Buffer0);
SetIndexBuffer(1, Ind_Buffer1);
SetIndexBuffer(2, Ind_Buffer2);
SetIndexBuffer(3, Ind_Buffer3); SetIndexBuffer(3, Ind_Buffer3);
SetIndexBuffer(4, Ind_Buffer4);
//áàğà óñòàíîâêà íîìåğà ----, íà÷èíàÿ ñ êîòîğîãî áóäåò îòğèñîâûâàòüñÿ èíäèêàòîğ
//ôîğìàòà Óñòàíîâêà ---- òî÷íîñòè îòîáğàæåíèÿ èíäèêàòîğà
IndicadorDígitos(Dígitos);
//---- ğàçìåğ êàíàëà â ïóíêòàõ
//---- final da inicialização
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
//---- Ïğîâåğêà êîëè÷åñòâà áàğîâ íà äîñòàòàòî÷íîñòü äëÿ äàëüíåéøåãî ğàñ÷¸òà
if(Bars < MBand_Period + UpBand_Period + DnBand_Period)
retorno(0);
//---- İÌÓËßÖÈß ÈÍÄÈÊÀÒÎĞÍÛÕ ÁÓÔÅĞÎÂ
if(ArraySize(Ind_Buffer0) < Barras)
{
ArraySetAsSeries(Ind_Buffer0, false);
ArraySetAsSeries(Ind_Buffer1, false);
ArraySetAsSeries(Ind_Buffer2, false);
ArraySetAsSeries(Ind_Buffer3, false);
ArraySetAsSeries(Ind_Buffer4, false);
//----
ArrayResize(Ind_Buffer0, Bars);
ArrayResize(Ind_Buffer1, Barras);
ArrayResize(Ind_Buffer2, Barras);
ArrayResize(Ind_Buffer3, Barras);
ArrayResize(Ind_Buffer4, Barras);
//----
ArraySetAsSeries(Ind_Buffer0, true);
ArraySetAsSeries(Ind_Buffer1, true);
ArraySetAsSeries(Ind_Buffer2, true);
ArraySetAsSeries(Ind_Buffer3, verdadeiro);
ArraySetAsSeries(Ind_Buffer4, verdadeiro);
}
//----+ ÂÂÅÄÅÍÈÅ ÑÒÀÒÈ×ÅÑÊÎÉ ÖÅËÎÉ ÏÅĞÅÌÅÍÍÎÉ ÏÀÌßÒÈ
estática em IndContado;
//----+ Inserção de variáveis com um ponto flutuante
duplo Resalt0, Resalt1, Resalt2;
dobro do preço;
//----+ Inserção de variáveis inteiras e obtenção de barras calculadas
int limit, MaxBar,bar, counted_bars = IndicatorCounted();
int i,k;
//---- verificação de possíveis erros
if(counted_bars < 0)
retorno(-1);
//---- a última barra calculada deve ser recalculada
if(counted_bars > 0)
barrinhas_contadas..;
//---- definindo o número da barra mais antiga,
// a partir do qual as novas barras serão recalculadas
limite = Barras - contadas_barras - 1;
//---- definindo o número da barra mais antiga,
// a partir do qual as novas barras serão recalculadas
MaxBar = Barras - 1 - (MBand_Period + UpBand_Period + DnBand_Period);
//---- inicialização de zero
if(limite > MaxBar)
{
limite = MaxBar;
for(bar = Barras - 1; bar >= MaxBar; bar--)
{
Ind_Buffer0 = 0,0;
Ind_Buffer1 = 0,0;
Ind_Buffer2 = 0,0;
Ind_Buffer3 = 0,0;
Ind_Buffer4 = 0,0;
}
}
//----+ O PRIMEIRO CICLO DE CÁLCULO DE INDICADORES
i=Bars-DnBand_Period;
if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;
while(i>=0)
{
i=Bars-DnBand_Period;
if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;
while(i>=0)
{
duplo min=1000000;
k=i+DnBand_Period-1;
while(k>==i)
{
price=Resalt1[k];
if(min>preço) min=preço;
k--;
}
Ind_Buffer1=min;
i--;
}
}
para(i=0; i<limite; i++)
{
// Aqui código da variável Cálculo Resalt0
// com base nos valores do buffer UpBand[]
// e variável externa0
Ind_Buffer3 =iMAOnArray(Ind_Buffer1,limit,DnBand_Period,shift, ma_method,i);
}
//----+ O SEGUNDO CICLO DE CÁLCULO DE INDICADORES
{
i=Bars-UpBand_Period;
if(counted_bars>UpBand_Period) i=Bars-counted_bars-1;
while(i>=0)
{
duplo máximo=-1000000;
k=i+UpBand_Period-1;
while(k>==i)
{
price=Resalt2[k];
if(max<preço) max=preço;
k--;
}
Ind_Buffer2=max;
i--;
}
}
//---- a linha de sinal é a média móvel simples
para(i=0; i<limite; i++)
{
// Aqui código da variável Cálculo Resalt0
// com base nos valores do buffer UpBand[]
// e variável externa0
Ind_Buffer4 =iMAOnArray(Ind_Buffer2,limit,UpBand_Period,shift, ma_method,i);
}
//----+ O PRINCIPAL CICLO DE CÁLCULO DE INDICADORES
//---- a linha de sinal é a média móvel simples
para(i=0; i<limite; i++)
{
// Aqui código da variável Cálculo Resalt0
// com base nos valores do buffer UpBand[]
// e variável externa0
Ind_Buffer0 =(Ind_Buffer2+Ind_Buffer1)/2;
}
retorno(0);
}
//+------------------------------------------------------------------+