Indicadores Multi Timeframe - página 1131

 

Hola, ¿alguien sabe si hay una versión MTF del indicador PVT?(tendencia de precio y volumen)... Sé que hay una zona dinámica PVT, pero no es MTF...

Gracias por cualquier ayuda....

 

hola mladen....

ayúdame a hacer la versión mtf.......

gracias u....

Archivos adjuntos:
 

hola mladen

es un indicador que tiene la opción de desplazamiento, pero no funciona correctamente.

es mtf-ma.y tiene la opcion de shift pero no funciona correctamente.quiero decir que no se desplaza(transporta) el indicador al final del grafico.

Muchas gracias por tu ayuda.

Archivos adjuntos:
MTF-MA.mq4  2 kb
 
yoppy:

hola mladen....

ayúdame a hacer la versión mtf.......

gracias u....

yoppy

Aquí está la versión multi time frame

Archivos adjuntos:
 
rartec4:

hola mladen

es un indicador que tiene la opción de desplazamiento, pero no funciona correctamente.

es mtf-ma.y tiene la opcion de shift pero no funciona correctamente.quiero decir que no se desplaza(transporta) el indicador al final del grafico.

Muchas gracias por su ayuda.

Cambia el código por el siguiente :

#property indicator_chart_window
#property indicator_buffers 1
#property  indicator_color1 Red
#property  indicator_width1 1 

input ENUM_TIMEFRAMES MA_TF=PERIOD_M30;
extern int MA_Period = 20;
extern int MA_ma_shift = 0;
extern ENUM_MA_METHOD MA_method_ = MODE_EMA;
extern ENUM_APPLIED_PRICE MA_applied_price_ = PRICE_CLOSE;
 
double MABuf[];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

void init()
{
  SetIndexBuffer(0, MABuf);
  SetIndexStyle(0, DRAW_LINE);
  SetIndexEmptyValue(0, 0.0);
  SetIndexDrawBegin(0, MA_Period);
  MA_TF = MathMax(MA_TF,_Period);
  SetIndexShift(0,MA_ma_shift*MA_TF/_Period);
}

void deinit()
{
}

void start()
{
  int counted_bars = IndicatorCounted();
  if(counted_bars < 0) return;
  if(counted_bars > 0) counted_bars--;

  int limit = Bars-counted_bars;
  limit += MA_TF/Period();

  for (int i=limit; i >= 0; i--)
  {
    int shift = iBarShift(NULL, MA_TF, Time[i], true);
    if (shift == -1) continue;
    
    MABuf[i] = iMA(NULL, MA_TF, MA_Period, 0, MA_method_ , MA_applied_price_, shift);
  }
}
 

hola chicos

He encontrado este indicador en un hilo en forexfactory.

según el usuario necesitamos utilizarlo en diferentes marcos de tiempo.

Así que puede agregar mtf en él por favor?


Gracias.

Archivos adjuntos:
 
DRADIS33:

hola chicos

He encontrado este indicador en un hilo en forexfactory.

según el usuario necesitamos usarlo en diferentes marcos de tiempo.

Así que ¿puede agregar mtf en él por favor?


Gracias.

DRADIS33

Necesita un archivo de código fuente (mq4) para hacer algo con él.

 
mntiwana:

DRADIS33

Necesita un archivo de código fuente (mq4) para hacer algo con él.

Gracias voy a tratar de encontrarlo.
 
DRADIS33:
Gracias, voy a intentar encontrarlo.

Prueba con este

Archivos adjuntos:
 

Estimado mladen,

Espero que estés muy bien.

Intenté hacer un EA basado en el indicador ZZ... Pude abrir la orden de compra cuando el indicador ZZ obtiene un valor; pero la orden no se cierra...

¿Me pueden ayudar?

Gracias por adelantado...


int MagicN =1453;

extern int Barras=5; // Cantidad de barras
extern int y =5;
//--------------------------------------------------------------------
extern double Lotes = 0.01
extern double Deslizamiento = 3;
extern double Periodo1 = 5;
extern string Paso_dev_1 ="0,5";
extern int Symbol_1_Kod =140;

//--------------------------------------------------------------------
bool GV_Flag_NuevaBarra=false; // Flag de una nueva barra
//======================================================================

int start() // Función especial start()
{
//--------------------------------------------------------------------
Fun_NuevaBarra(); // Llamada a la función
if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra..
return; // ..return
//=========================================================================
int IndMin =ArrayMinimum(Low,Barras,1);
int IndMax =ArrayMáximo(Alto,Barras,1);
doble ZZ, CC;

double Buy=Bajo[IndMin];
double XX=Alto[IndMax];

ZZ=iCustom(Symbol(),0, "3_Level_ZZ_Semafor",Period1,Dev_Step_1,Symbol_1_Kod,0,y);
CC=iCustom(Symbol(),0, "3_Level_ZZ_Semafor",Period1,Dev_Step_1,Symbol_1_Kod,1,y);

si (Buy == ZZ)
{
Alert(Symbol(),": Barras= ",Barras,", ZZ= ",DoubleToString(ZZ,Digits),", Precio= ",DoubleToString(Buy,Digits) );

int ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0, "Jeaa",MagicN,0,Blue);

Print ("Orden de Compra enviada: xxxx");// falta colocar el OrderTicket()
}
//=========================================================================

if (XX == CC)

{
if(OrderMagicNumber()== MagicN)
{ //---- comprueba el tipo de pedido
if(OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,White);

Alert(Symbol(),": Barras= ",Barras,", CC= ",DoubleToString(CC,Digits),", Precio= ",DoubleToString(XX,Digits) );

Print ("=====ORDEN CERRADA=====");
}
}
}
//=============================================================================
devolver;
}
//=========================================================================

void Fun_NuevaBarra() // Descripción de la Funcion que detecta ..
{ // .. una nueva barra
static datetime NewTime=0; // variable que almacena fecha y hora
GV_Flag_NuevaBarra=false; // Inicializa nueva barra a falso (no hay nueva barra)
if(NewTime!=Time[0]) // Si existe nueva barra el dato es distinto de cero..
{
NewTime=Time[0]; //.. y en ese caso se registra la hora y fecha de la..
GV_Flag_NuevaBarra=true; //nueva barra y se activa el flag que señala la...
//existencia de una nueva barra

}
}
//--------------------------------------------------------------------

Razón de la queja: