Indicadores de múltiplos períodos de tempo - página 1132

 
Dann001:

HI, alguém sabe se existe uma versão MTF do indicador PVT??(tendência de preço e volume)...Eu sei que existe uma zona dinâmica PVT, mas não é MTF...

Obrigado por qualquer ajuda....

Não consegui encontrar um mtf tão adicionado a esta versão.

 
mrtools:

Não foi possível encontrar um mtf tão adicionado a esta versão

mrtools:

Não foi possível encontrar um mtf tão adicionado a esta versão.

Obrigado...
 
Jeaa:

Prezado mladen,

Espero que você esteja muito bem.

Tentei fazer uma base EA no indicador ZZ. Eu poderia abrir a ordem de compra quando os indicadores ZZ receberem um valor; mas a ordem não está fechada...

Você pode me ajudar?

Obrigado em adiantado...


int MagicN =1453;

int exterior Barras=5; // Cantidad de barras
int externo y =5;
//--------------------------------------------------------------------
Lotes duplos externos = 0,01;
duplo slippage externo = 3;
duplo período externo1 = 5;
cordão externo Dev_Step_1 ="0,5";
símbolo externo int Symbol_1_Kod =140;

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

int start() // Diversão especial start()
{
//--------------------------------------------------------------------
Fun_NuevaBarra(); // Chamada de função
if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra...
retornar; // ...retornar
//=========================================================================
int IndMin =ArrayMinimum(Baixo,Barras,1);
int IndMax =ArrayMaximum(Alto,Barras,1);
duplo ZZ, CC;

double Buy=Low[IndMin];
duplo 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);

se (Buy === ZZ)
{
Alerta(Símbolo(),": Barras= ",Barras,", ZZ= ",DoubleToString(ZZ,Dígitos),", Precio= ",DoubleToString(Compra,Dígitos) );

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

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

se (XX == CC)

{
if(OrderMagicNumber()== MagicN)
{ ///---- check order type
if(OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,White);

Alerta(Símbolo(),": Barras= ",Barras,", CC= ",DoubleToString(CC,Dígitos),", Precio= ",DoubleToString(XX,Dígitos) );

Imprimir ("=====ORDEN CERRADA=====");
}
}
}
//=============================================================================
retornar;
}
//=========================================================================

void Fun_NuevaBarra() // Descripción de la Funcion que detecta ...
{ // ... una nueva barra
datatempo estático NewTime=0; // variável que almacena fecha y hora
GV_Flag_NuevaBarra=falso; // 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 el hora y fecha de la...
GV_Flag_NuevaBarra=true; //nueva barra y se ativa el flag que señaliza la...
//existencia de una nueva barra

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

Até onde eu vejo você está testando uma condição errada

Valores para o buffer 1 e também de 3_Level_ZZ_Semafor não podem ser os mesmos (são exibidos em lugares diferentes)

 
Prezado Mladen

Espero acrescentar (MTF) sobre os indicadores.

Por favor, caro senhor

 
mladen:

Altere o código para o seguinte :

obrigado querido amigo,mladen.

muito obrigado por sua ajuda.

 
mladen:

Altere o código para o seguinte :

caro mladen

o código dosnt work.it has fault.that i have changed "input "to the "extern" for"MA_TF".

então funcionou.mas o problema ainda permaneceu.Quero dizer que não muda (transporte) o indicador no final do gráfico. a mudança positiva não funciona .

mas o negativo funciona bem.

mais uma vez, obrigado.

 
rartec4:

querido mladen

o código dosnt work.it has fault.that i have changed "input "to the "extern" for"MA_TF".

então funcionou.mas o problema ainda permaneceu.Quero dizer que não muda (transporte) o indicador no final do gráfico. a mudança positiva não funciona .

mas o negativo funciona bem.

mais uma vez, obrigado.

Funciona sem nenhum problema

Não sei o que você testou, mas foi isto que usei para testar (anexei-o) e é assim que o resultado do teste se parece (tanto o teste positivo quanto o negativo incluídos). Portanto, tudo funciona como esperado e descrito


Arquivos anexados:
_test.mq4  2 kb
 
mladen:

Funciona sem nenhum problema

Não sei o que você testou, mas foi isto que usei para testar (anexei-o) e este é o resultado do teste (tanto o teste positivo quanto o negativo incluídos). Portanto, tudo funciona como esperado e descrito.


DEAR MLADEN

VOCÊ ESTÁ CERTO... FOI UM ERRO MEU.

OBRIGADO NOVAMENTE, MEU AMIGO, POR SUA AJUDA.

 
mladen:

Até onde eu vejo você está testando uma condição errada

Valores para o buffer 1 e também de 3_Level_ZZ_Semafor não podem ser os mesmos (eles são exibidos em lugares diferentes)

Caros amigos...

Obrigado por seus comentários...

Modifiquei o EA para usar o MagicNumber... mas o indicador personalizado encheu a memória:

2016.09.18 00:33:10.627 Memória insuficiente para 1039 barras para o indicador personalizado 3_Level_ZZ_Semafor EURUSD,M5

O que eu posso fazer? Obrigado em adiantado... Jesús...

//+------------------------------------------------------------------+
//|MA_jeaa_EA.mq4 |
//+------------------------------------------------------------------+
#propriedade copyright "Jesus Acedo"

//--- parâmetros de entrada ---
entrada duplo Lotes=0,01;
input int MagicNumber=1453;
entrada int Barras=5;
input int y=5;
input double Período1= 5;
input string Dev_Step_1="0,5";
input int Símbolo_1_Kod=140;
input int Slippage=3;

//+------------------------------------------------------------------+
//| Função de iniciação de especialista|
//+------------------------------------------------------------------+
int OnInit()
{
return(INIT_SUCCEED);
}
//+------------------------------------------------------------------+
//| Função de desinicialização especializada|
//+------------------------------------------------------------------+
nulo OnDeinit(const int razão)
{

}
//+------------------------------------------------------------------+
//| Função de carrapato de especialista|
//+------------------------------------------------------------------+
nulo OnTick()
{
//---
long TicketEnUso = Ticket();
if (TicketEnUso>0) // significa que hay una operación... debo control salida...
{
se (OrderSelect(TicketEnUso,SELECT_BY_TICKET, MODE_TRADES))
{
se (OrderType()==OP_BUY) // buscar una salida por debajo de un promedio
{
se (Open[y]==ZZ(Period1)) Cierre(TicketEnUso);
}
if (OrderType()==OP_SELL) // buscar una salida por encima de un promedio
{
se (Fechar[y]==CC(Período1)) Cierre(TicketEnUso);
}
}
}
se (TicketEnUso<1) // no hay operación debo revisar si hay trade posible
{
se (Fechar[y]==CC(Período1))
{
Abre(OP_BUY);
Alert(Symbol(),": Barras= ",Barras,", ZZ= ",DoubleToString(ZZ(Period1),Digitos),", Precio= ",DoubleToString(Close[y],Digitos));
Imprimir ("====COMPRA===");
}
se (Open[y]==ZZ(Period1))
{
Abre(OP_SELL);
Alert(Symbol(),": Barras= ",Barras,", CC= ",DoubleToString(CC(Período1),Dígitos),", Precio= ",DoubleToString(Aberto[y],Dígitos));
Imprimir ("====VENTA===");
}

}
}
//==============================================================================================
duplo ZZ (int Periodos)
{
return (iCustom(Symbol(),0, "3_Level_ZZ_Semafor",Periodos,Dev_Step_1,Symbol_1_Kod,1,y)));
}

duplo CC (int Periodos)
{
return (iCustom(Symbol(),0, "3_Level_ZZ_Semafor",Periodos,Dev_Step_1,Symbol_1_Kod,0,y)));
}


//==============================================================================================
bilhete longo()
{
para (int o=0; o<OrdersTotal(); o++)
{
se (OrderSelect(o,SELECT_BY_POS,MODE_TRADES))
{
se (MagicNumber == OrderMagicNumber()) retorna(OrderTicket());
}
}
retorno(0);
}

vazio Abre(int Tipo)
{
if (AccountFreeMargin()<(1000*Lotes))// filtro operaciones que no podria correr por falta de margen disponible
{
Imprimir ("Não há dinero de feno disponível. Free Margin= ",AccountFreeMargin()));
devolução;
}
// selecionar precio por operación
duplo Precio=0;
if(Tipo==OP_BUY) Precio=Ask; caso contrário Precio=Bid;
ResetLastError();
if(OrderSend(NULL,Tipo,Lotes,Precio,Slippage,0,0,NULL,MagicNumber,0,clrNONE)<1) Print (GetLastError());// 10 es fracciones de pips...
}

Cierre nulo(long TicketNo)
{
duplo Precio=0;
se (OrderSelect(TicketNo,SELECT_BY_TICKET,MODE_TRADES))
{
if(OrderType()==OP_BUY) Precio=Bid; else Precio=Ask;//selecciono precio de salida segun tipo de operación
ResetLastError();//reseteo número de erro
if(EncomendarFechar(TicketNo,Lotes,Precio,Slippage,clrNONE)) Print(GetLastError());//si al cerrar manda error que lo imprima
}
}

//======================================================================

 
Olá mladen, é possível fazer este indicador sem repintar e mtf????... obrigado....
Arquivos anexados:
Razão: