[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 790

 
obla4ko:

Eso es raro. Te refieres a Momentum, ¿qué tiene que ver con Mashka?

¿Qué te parece esto?

doble iMomentum( string symbol, int timeframe, int period, int applied_price, int shift)
 
artmedia70:

Eso es raro. Te refieres a Momentum, ¿qué tiene que ver con Mashka?

¿Qué te parece esto?

doble iMomentum( string symbol, int timeframe, int period, int applied_price, int shift)
En realidad estoy diciendo lo mismo - sólo en MT4-momentum (véase el código anterior) NO(!!! )
double iMomentum()

...... y la pregunta sigue siendo: ¿dónde y cómo ponerlo en

símbolo de cadena
en el código existente de mt4-motroom, si no hay
double iMomentum()

...

escribirlo de nuevo basándose en

double iMomentum()

o puede escribirse en el código existente.

 
obla4ko:
En realidad me refiero a lo mismo - sólo en MT4-momentum (ver código anterior) NO(!!!)

Sinceramente, yo tampoco entiendo la pregunta.

double iMomentum( string symbol, int timeframe, int period, int applied_price, int shift) 
¿No funciona o qué?
 
Abzasc:

Para ser sincero, yo tampoco entiendo la pregunta.

¿No funciona?

¡Necesito el impulso de Eura para colgar en la ventana de Pound! - y si no se escribe el símbolo por separado, se pone por defecto la moneda a la que está unido en la ventana... ya veo por qué necesito tanto estas cosas :))?
 
Pensemos juntos, ¿en qué parte del código podría haber un símbolo? Un vistazo rápido nos mostrará que, aparte de Close[i], no se utiliza ningún parámetro de precio en el código. Buscamos en la referencia Close[] y descubrimos que esta serie temporal es el precio de cierre del símbolo actual . Pero otra serie temporal, iClose( string symbol, int timeframe, int shift) nos permite obtener datos del símbolo especificado. Por lo tanto, sustituya Close[i] en el código por iClose( _Symbol, 0, i) e introduzca la variable externa string _Symbol="EURUSD"; establezca el valor del símbolo requerido en ella y disfrute del resultado. No lo he probado pero debería funcionar.
 
granit77:
Pensemos juntos, ¿en qué parte del código puede estar presente un símbolo? Una inspección superficial mostrará que no se utiliza ningún parámetro de precio aparte de Close[i]. Veamos Close[] en la referencia y descubramos que esta serie temporal es el precio de cierre del símbolo actual . Pero otra serie temporal, iClose( string symbol, int timeframe, int shift) nos permite obtener datos del símbolo especificado. Por lo tanto, sustituya Close[i] en el código por iClose( _Symbol, 0, i) e introduzca la variable externa string _Symbol="EURUSD"; establezca el valor del símbolo requerido en ella y disfrute del resultado. No lo he comprobado pero debería funcionar.


No es exactamente así. Como siempre, "el diablo está en los matices".

Si intenta mostrar un indicador basado en las barras de otro símbolo en el símbolo actual, debe tener cuidado de que las barras coincidan.

Es decir, los números de barra para la misma hora para diferentes símbolos pueden no ser los mismos.

 
obla4ko:
¡Necesito el impulso de eura para colgar en la ventana de la libra! - y si no se escribe el símbolo por separado, se pone por defecto la moneda a la que está unido en la ventana... ya veo por qué necesito tanto estas cosas :))?

Ah, pensaba que había que sacar los datos...

No sé, yo haría un indicador y metería los datos en él a través de iMomentum... o iMomentumOnArray quizás

 
PapaYozh:


La verdad es que no. Como siempre "el diablo está en los matices".

Si intenta mostrar un indicador basado en las barras de otro símbolo en el símbolo actual, debe tener cuidado de que las barras coincidan.

Es decir, los números de barra para una misma hora pueden no ser los mismos para diferentes símbolos.

¿Dónde has estado antes? Tienes razón. Lo agregué, está funcionando.

//+------------------------------------------------------------------+
//|                                                     Momentum.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- input parameters
extern int     MomPeriod = 14;
extern string  _Symbol   = "EURUSD"; 
//---- buffers
double MomBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,MomBuffer);
//---- name for DataWindow and indicator subwindow label
   short_name="Mom("+MomPeriod+")";
   IndicatorShortName(short_name);
   SetIndexLabel(0,short_name);
//----
   SetIndexDrawBegin(0,MomPeriod);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Momentum                                                         |
//+------------------------------------------------------------------+
int start()
  {
   int i,counted_bars=IndicatorCounted();
   
//----
   if(Bars<=MomPeriod) return(0);
//---- initial zero
   if(counted_bars<1)
      for(i=1;i<=MomPeriod;i++) MomBuffer[Bars-i]=0.0;
      
//----
   
   i=Bars-MomPeriod-1;
   if(counted_bars>=MomPeriod) i=Bars-counted_bars-1;
   while(i>=0)
     {
      int baropen =iBarShift(_Symbol,0,Time[i]);
      int barclose=iBarShift(_Symbol,0,Time[i+MomPeriod]);
      MomBuffer[i]=iClose(_Symbol,0,baropen) *100/iClose(_Symbol,0,barclose);
      i--;
     }
   return(0);
  }
 
granit77:

¿Dónde has estado antes? Tienes razón. Lo agregué, está funcionando.


¡Bien hecho, Víctor!
Y la nube es silenciosa... :))
 
granit77:

¿Dónde has estado antes? Es cierto. Lo agregué, está funcionando.


Bueno, a veces tengo un ojo en este hilo y a veces respondo.

Así que discúlpame, estoy ayudando, por así decirlo, en la medida de lo posible.

:)