Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
El método es exactamente el mismo, sólo hay que cambiar la ventana de destino en ChartIndicatorAdd() para que sea 0
Hola mladen, gracias por la respuesta... estaba estudiando aquí..
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);donde (1) ventana superior
donde (0) abajo
ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);ahora trato de poner diferente color en la MA
Hola mladen, gracias por la respuesta... estaba estudiando aquí..
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);donde (1) ventana superior
donde (0) abajo
ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);ahora trato de poner diferente color en la MA
Así
Así
la pregunta sobre poner el indicador en la parte superior o inferior , como dije , descubrí...
ChartIndicatorAdd(0, 1,MA1Handle); (arriba)
ChartIndicatorAdd(0, 2,RS1Handle); (abajo)
los problemas reales:
1) ahora estoy tratando de aplicar un color diferente a las MA's
2) y resolver un problema para liberar las MA's de los gráficos (las RSI's y las WPR se limpian correctamente.. )
por ejemplo...
el RSI1,RSI2,RSI3 y el WPR se limpian correctamente pero el MA1,MA2,MA3 no se limpian...
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();
}
la pregunta sobre poner el indicador en la parte superior o inferior , como dije , descubrí...
ChartIndicatorAdd(0, 1,MA1Handle); (arriba)
ChartIndicatorAdd(0, 2,RS1Handle); (abajo)
los problemas actuales:
1) ahora estoy intentando aplicar un color diferente a las MA's
2) y resolver un problema para liberar las MA's de los gráficos (los RSI's y el WPR se limpian correctamente.. )
por ejemplo...
los RSI1,RSI2,RSI3 y WPR se limpian correctamente pero los MA1,MA2,MA3 no se limpian...
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) por favor ayuda a hacer los dígitos redondos en iCustom a 0,1 o 0,01 máximo.
y explique, por favor, cómo insertar "valor2" (o3) en lugar de la media del indicador por defecto?
iCustom(NombreSimbolo,PeriodoMinutos,"_1_IFT 2-1",0,i)
HOLA Sr. mladen
ejecuto este indicador {ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} pero no puede mostrar nada
podría arreglarlo
mejor consideración
y podría hacer MTF de este indicador:ma_count_amp_alerts.mq4
MTF similar este histograma:
HOLA Sr. mladen
ejecuto este indicador {ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} pero no puede mostrar nada
podría arreglarlo
saludos
y podría hacer MTF de este indicador:ma_count_amp_alerts.mq4
MTF similar este histograma:
Mladen, 1) por favor ayuda a hacer los dígitos redondos en iCustom a 0,1 o 0,01 máximo.
y explicar, por favor, cómo insertar "value2" (o3) en lugar de la media del indicador por defecto?
iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i)
Depende de la lista de parámetros del indicador, pero tienes que pasar los parámetros entre el nombre del indicador y el número del buffer
Algo como esto :
La otra parte, no entiendo
Si te refieres a limitar en caliente los valores de retorno, no puedes hacerlo. Sólo puede limitar el valor asignado a algo desde la llamada iCustom(), así
Necesitas "SSA de precio" para que el ssa_squeeze . .. funcione
Gracias.
ahora funciona
señor mladen :
podría hacer MTF de ella
similar este histograma de la imagen
mejor consideración