Indicateurs multitemporels - page 1132

 
Dann001:

HI, est-ce que quelqu'un sait s'il existe une version MTF de l'indicateur PVT (tendance des prix et des volumes)... Je sais qu'il existe une zone Dynamic PVT, mais elle n'est pas MTF....

Merci pour toute aide....

Je n'ai pas pu en trouver un alors j'ai ajouté MTF à cette version.

 
mrtools:

Je n'en ai pas trouvé, j'ai donc ajouté mtf à cette version.

mrtools:

Je n'ai pas pu en trouver un, j'ai donc ajouté mtf à cette version.

Merci...
 
Jeaa:

Cher mladen,

J'espère que vous allez très bien.

J'ai essayé de faire un EA basé sur l'indicateur ZZ... J'ai pu ouvrir l'ordre d'achat lorsque l'indicateur ZZ obtient une valeur ; mais l'ordre ne se ferme pas...

Pouvez-vous m'aider ?

Merci en avance...


int MagicN =1453 ;

extern int Barras=5 ; // Cantidad de barras
extern int y =5 ;
//--------------------------------------------------------------------
extern double Lots = 0.01 ;
extern double Slippage = 3 ;
extern double Period1 = 5 ;
extern string Dev_Step_1 = "0,5" ;
extern int Symbol_1_Kod =140 ;

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

int start() // Fonction spéciale start()
{
//--------------------------------------------------------------------
Fun_NuevaBarra() ; // Appel de fonction
if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra..
return ; // ..return
//=========================================================================
int IndMin =ArrayMinimum(Low,Barras,1) ;
int IndMax =ArrayMaximum(High,Barras,1) ;
double ZZ, CC ;

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

if (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)
{ //---- vérifier le type de commande
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=====") ;
}
}
}
//=============================================================================
retour ;
}
//=========================================================================

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 ; // Inicialise une nouvelle barre à faux (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 activa el flag que señaliza la...
//existence d'un nouveau barrage

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

D'après ce que je vois, vous testez une mauvaise condition

Les valeurs pour les tampons 1 et 2 de 3_Level_ZZ_Semafor ne peuvent pas être les mêmes (elles sont affichées à des endroits différents)

 
Cher Mladen

J'espère pouvoir ajouter (MTF) sur les indicateurs.

S'il vous plaît, cher monsieur

 
mladen:

Modifiez le code comme suit :

Merci, cher ami, Mladen.

Merci beaucoup pour votre aide.

 
mladen:

Modifiez le code comme suit :

cher mladen

le code ne fonctionne pas.il y a un défaut.c'est que j'ai changé "input "en "extern" pour"MA_TF".

alors il a fonctionné.mais le problème est resté.Je veux dire qu'il ne déplace pas l'indicateur à la fin du graphique. le déplacement positif ne fonctionne pas.

mais le négatif fonctionne bien.

merci encore.

 
rartec4:

cher mladen

le code ne fonctionne pas.il y a un défaut.c'est que j'ai changé "input "en "extern" pour"MA_TF".

Ensuite, cela a fonctionné, mais le problème est resté.Je veux dire qu'il ne déplace pas l'indicateur à la fin du graphique. le déplacement positif ne fonctionne pas.

mais le négatif fonctionne bien.

Merci encore.

Il fonctionne sans aucun problème

Je ne sais pas ce que vous avez testé mais voici ce que j'ai utilisé pour le test (je l'ai joint) et voici à quoi ressemble le résultat du test (test positif et négatif inclus). Donc tout fonctionne comme prévu et décrit


Dossiers :
_test.mq4  2 kb
 
mladen:

Il fonctionne sans aucun problème

Je ne sais pas ce que vous avez testé mais voici ce que j'ai utilisé pour le test (ci-joint) et voici à quoi ressemble le résultat du test (test positif et négatif inclus). Donc tout fonctionne comme prévu et décrit


CHER MLADEN

VOUS AVEZ RAISON, C'ÉTAIT MON ERREUR.

MERCI ENCORE UNE FOIS À MON AMI POUR TON AIDE.

 
mladen:

D'après ce que je vois, vous testez une mauvaise condition.

Les valeurs pour les tampons 1 et 2 de 3_Level_ZZ_Semafor ne peuvent pas être les mêmes (elles sont affichées à des endroits différents)

Cher mlanden...

Merci pour vos commentaires...

J'ai modifié l'EA pour utiliser le MagicNumber... mais l'indicateur personnalisé plein la mémoire :

2016.09.18 00:33:10.627 Pas assez de mémoire pour 1039 barres pour l'indicateur personnalisé 3_Level_ZZ_Semafor EURUSD,M5.

Que puis-je faire ? Merci en avance... Jesús...

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

//--- paramètres d'entrée ---
entrée double Lotes=0.01 ;
entrée int MagicNumber=1453 ;
entrée int Barras=5 ;
entrée int y=5 ;
entrée double Period1= 5 ;
Chaîne d'entrée Dev_Step_1="0,5" ;
Entrée int Symbol_1_Kod=140 ;
entrée int Slippage=3 ;

//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'expert|
//+------------------------------------------------------------------+
int OnInit()
{
return(INIT_SUCCEEDED) ;
}
//+------------------------------------------------------------------+
//| Fonction de désinitialisation experte|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}
//+------------------------------------------------------------------+
//| Fonction tick expert|
//+------------------------------------------------------------------+
void OnTick()
{
//---
long TicketEnUso = Ticket() ;
if (TicketEnUso>0) // significa que hay una operación... debo controlar salida...
{
if (OrderSelect(TicketEnUso,SELECT_BY_TICKET, MODE_TRADES))
{
si (OrderType()==OP_BUY) // recherche d'une sortie au-dessous d'une promesse
{
if (Open[y]==ZZ(Period1)) Cierre(TicketEnUso) ;
}
if (OrderType()==OP_SELL) // buscar una salida por encima de un promedio
{
if (Close[y]==CC(Period1)) Cierre(TicketEnUso) ;
}
}
}
if (TicketEnUso<1) // no hay operación debo revisar si hay trade posible
{
si (Close[y]==CC(Period1))
{
Abre(OP_BUY) ;
Alert(Symbol()," : Barras= ",Barras,", ZZ= ",DoubleToString(ZZ(Period1),Digits),", Precio= ",DoubleToString(Close[y],Digits)) ;
Print ("===COMPRA===") ;
}
si (Open[y]==ZZ(Period1))
{
Abre(OP_SELL) ;
Alert(Symbol(), " : Barras= ",Barras,", CC= ",DoubleToString(CC(Period1),Digits),", Precio= ",DoubleToString(Open[y],Digits)) ;
Print ("===VENTA===") ;
}

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

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


//==============================================================================================
long Ticket()
{
for (int o=0 ; o<OrdersTotal() ; o++)
{
if (OrderSelect(o,SELECT_BY_POS,MODE_TRADES))
{
if (MagicNumber == OrderMagicNumber()) return(OrderTicket()) ;
}
}
return(0) ;
}

void Abre(int Tipo)
{
if (AccountFreeMargin()<(1000*Lotes))// filtro operaciones que no podria correr por falta de margen disponible
{
Print ("No hay dinero disponible. Marge libre= ",AccountFreeMargin()) ;
retour ;
}
// seleccionar precio por operación
double Precio=0 ;
if(Tipo==OP_BUY) Precio=Ask ; else Precio=Bid ;
ResetLastError() ;
if (OrderSend(NULL,Tipo,Lotes,Precio,Slippage,0,0,NULL,MagicNumber,0,clrNONE)<1) Print (GetLastError());// 10 es fracciones de pips...
}

void Cierre(long TicketNo)
{
double Precio=0 ;
if (OrderSelect(TicketNo,SELECT_BY_TICKET,MODE_TRADES))
{
si(OrderType()==OP_BUY) Precio=Bid ; else Precio=Ask;//selecciono precio de salida segun tipo de operación
ResetLastError();//reste le numéro de l'erreur
if(OrderClose(TicketNo,Lotes,Precio,Slippage,clrNONE)) Print(GetLastError());//si al cerrar manda error que lo imprima
}
}

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

 
Bonjour mladen, est-il possible de faire cet indicateur sans repaint et mtf ????... merci....
Dossiers :