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
O método é exatamente o mesmo - basta mudar a janela alvo no ChartIndicatorAdd() para ser 0
Oi mladen, obrigado pela resposta... Eu estava estudando aqui...
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);onde (1) janela superior
onde (0) abaixo
ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);agora eu tento colocar cores diferentes no MA
Oi mladen, obrigado pela resposta... Eu estava estudando aqui...
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);onde (1) janela superior
onde (0) abaixo
ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);agora eu tento colocar cores diferentes no MA
Assim
Assim
a pergunta sobre colocar o indicador em cima ou em baixo, como disse, descobri...
GráficoIndicadorAdd(0,1,MA1Handle); (topo)
ChartIndicatorAdd(0,2,RS1Handle); (abaixo)
os problemas reais:
1) agora estou tentando aplicar cores diferentes para os MA's
2) e resolver um problema para liberar os MA dos gráficos (os RSI's e os WPR são limpos corretamente... )
por exemplo...
o RSI1,RSI2,RSI3 e WPR é limpo corretamente, mas o MA1,MA2,MA3 não é limpo...
int OnInit()
{
if (_Period==Signal_0_MA_Timeframe)
{
MA1Handle = iMA(_Symbol,Signal_0_MA_Timeframe,Signal_0_MA_PeriodMA,Signal_0_MA_Shift,Signal_0_MA_Method,Signal_0_MA_Applied);
if (MA1Handle!=INVALID_HANDLE)
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);
//return(INIT_SUCCEEDED);
}
//---adicionando MA2
if (_Period==Signal_1_MA_Timeframe)
{
MA2Handle = iMA(_Symbol,Signal_1_MA_Timeframe,Signal_1_MA_PeriodMA,Signal_1_MA_Shift,Signal_1_MA_Method,Signal_1_MA_Applied);
if (MA2Handle!=INVALID_HANDLE)
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA2Handle);
//return(INIT_SUCCEEDED);
}
===============================//===========================
//+------------------------------------------------------------------+
//| Deinitialization function of the expert |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//limpa do gráfico os indicadores RSI e WPR
for (int w = (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); w>=0; w--)
{
string name = ChartIndicatorName(0,w,0);
if (StringFind(name,"RSI(",0)==0)
ChartIndicatorDelete(0,w,name);
if (StringFind(name,"%R(",0)==0)
ChartIndicatorDelete(0,w,name);
if (StringFind(name,"Moving Average(",0)==0)
ChartIndicatorDelete(0,w,name);
}
ExtExpert.Deinit();
}
a pergunta sobre colocar o indicador em cima ou em baixo, como disse, descobri...
GráficoIndicadorAdd(0,1,MA1Handle); (topo)
ChartIndicatorAdd(0,2,RS1Handle); (abaixo)
os problemas reais:
1) agora estou tentando aplicar cores diferentes aos MA's
2) e resolver um problema para liberar os MA's dos gráficos (os RSI's e os WPR's são limpos corretamente. )
por exemplo...
os RSI1,RSI2,RSI3 e WPR são limpos corretamente, mas os MA1,MA2,MA3 não são limpos...
int OnInit()
{
if (_Period==Signal_0_MA_Timeframe)
{
MA1Handle = iMA(_Symbol,Signal_0_MA_Timeframe,Signal_0_MA_PeriodMA,Signal_0_MA_Shift,Signal_0_MA_Method,Signal_0_MA_Applied);
if (MA1Handle!=INVALID_HANDLE)
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);
//return(INIT_SUCCEEDED);
}
//---adicionando MA2
if (_Period==Signal_1_MA_Timeframe)
{
MA2Handle = iMA(_Symbol,Signal_1_MA_Timeframe,Signal_1_MA_PeriodMA,Signal_1_MA_Shift,Signal_1_MA_Method,Signal_1_MA_Applied);
if (MA2Handle!=INVALID_HANDLE)
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA2Handle);
//return(INIT_SUCCEEDED);
}
===============================//===========================
//+------------------------------------------------------------------+
//| Deinitialization function of the expert |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//limpa do gráfico os indicadores RSI e WPR
for (int w = (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); w>=0; w--)
{
string name = ChartIndicatorName(0,w,0);
if (StringFind(name,"RSI(",0)==0)
ChartIndicatorDelete(0,w,name);
if (StringFind(name,"%R(",0)==0)
ChartIndicatorDelete(0,w,name);
if (StringFind(name,"Moving Average(",0)==0)
ChartIndicatorDelete(0,w,name);
}
ExtExpert.Deinit();
}
Mladen, 1) favor ajudar a fazer dígitos redondos no iCustom a 0,1 ou 0,01 no máximo.
e explique, por favor, como inserir "valor2" (ou 3) em vez do indicador padrão significa?
iCustom(símboloNome,PeriodMinutes,"_1_IFT 2-1",0,i)
HELLO mr mladen
Eu executo este indicador{ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} mas ele não pode mostrar nada
você poderia consertá-lo
melhor consideração
e você poderia fazer MTF deste indicador:ma_count_amp_alerts.mq4
MTF semelhante a este histograma:
HELLO mr mladen
Eu executo este indicador{ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} mas ele não pode mostrar nada
você poderia consertá-lo
melhor consideração
e você poderia fazer MTF deste indicador:ma_count_amp_alerts.mq4
MTF semelhante a este histograma:
Mladen, 1) favor ajudar a fazer dígitos redondos no iCustom a 0,1 ou 0,01 no máximo.
e explique, por favor, como inserir "valor2" (ou 3) em vez do indicador padrão significa?
iCustom(símboloNome,PeriodMinutes,"_1_IFT 2-1",0,i)
Depende da lista de parâmetros do indicador, mas é preciso passar os parâmetros entre o nome do indicador e o número do buffer
Algo parecido com isto :
A outra parte, eu não entendo
Se você quer dizer quente para limitar os valores de retorno, você não pode fazer isso. Você só pode limitar o valor atribuído a algo da chamada iCustom(), como isto
Você precisa de "SSA de preço" para o ssa_squeeze . .. para trabalhar
obrigado.
agora funciona
mr mladen :
poderia fazer do MTF
semelhante este histograma de imagem
melhor consideração