Que tal a minha pergunta principal. Que função posso utilizar para preencher a matriz com os últimos 5 preços, a fim de descobrir de que lado o preço atravessa a linha? Obrigado de antemão.
soroko: Compreendo isso, mas como mudar o preço dentro da matriz. Experimentei-o com a função ArrayCopy, ele passa 0,0 ou o mesmo Bid. E também estou preocupado com o código massivo, não posso fazer tudo com uma função?
soroko: Que tal a minha pergunta principal. Que função posso utilizar para preencher a matriz com os últimos 5 preços, a fim de descobrir de que lado o preço atravessa a linha? Obrigado de antemão.
É necessário obter um conhecimento básico de programação.
Não consigo obter os parâmetros de um indicador que não conste do gráfico. Abaixo está o código com todas as coisas desnecessárias removidas, as linhas para obter parâmetros indicadores são copiadas da ajuda. O próprio indicador está anexado ao gráfico de uma hora, mas eu quero trabalhar com cinco minutos. GetLastError() gera erro 4006, mas nada parece estar errado...
int m_MA_M5;
intOnInit()
{
m_MA_M5 = iMA(NULL, PERIOD_M5, 12, 0, MODE_SMA, PRICE_CLOSE);
if (m_MA_M5 <=0 )
{
Print("Error create MA");
return (INIT_FAILED);
}
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---if (prev_calculated == rates_total)
return (rates_total);
MqlParam parameters[];
ENUM_INDICATORindicator_type;
int params=IndicatorParameters(m_MA_M5,indicator_type,parameters);
if (params<0)
{
Print("Error geted data Last Error=", GetLastError());
}else{
//--- заголовок сообщенияstring par_info="Short name M5"+", type "
+EnumToString(ENUM_INDICATOR(indicator_type))+"\r\n";
//--- for(int p=0;p<params;p++)
{
par_info+=StringFormat("parameter %d: type=%s, long_value=%d, double_value=%G,string_value=%s\r\n",
p,
EnumToString((ENUM_DATATYPE)parameters[p].type),
parameters[p].integer_value,
parameters[p].double_value,
parameters[p].string_value
);
}
Print(par_info);
}
//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
Marcar e volume real (se houver).
e qual é a diferença entre carrapato e real???
Qual é a diferença entre uma teca e uma teca real?
tick é o número de trocas, real é baseado no tamanho da troca
então porque é que o verdadeiro mostra 0 em todo o lado ?
então porque é que o verdadeiro mostra 0 em todo o lado ?
sem dados, em forex os volumes reais não são conhecidos, isto é para outras trocas como fortificações
Obrigado por me ter poupado o tempo que eu teria passado à procura)
Compreendo isso, mas como mudar o preço dentro da matriz. Experimentei-o com a função ArrayCopy, ele passa 0,0 ou o mesmo Bid. E também estou preocupado com o código massivo, não posso fazer tudo com uma função?
Que tal a minha pergunta principal. Que função posso utilizar para preencher a matriz com os últimos 5 preços, a fim de descobrir de que lado o preço atravessa a linha? Obrigado de antemão.
Não consigo obter os parâmetros de um indicador que não conste do gráfico. Abaixo está o código com todas as coisas desnecessárias removidas, as linhas para obter parâmetros indicadores são copiadas da ajuda. O próprio indicador está anexado ao gráfico de uma hora, mas eu quero trabalhar com cinco minutos. GetLastError() gera erro 4006, mas nada parece estar errado...