extern int Barras=5; // Cantidad de barras extern int y =5; //-------------------------------------------------------------------- 外置双数 Lots = 0.01; 外部双数 Slippage = 3; extern double Period1 = 5; extern string Dev_Step_1 ="0,5"; 外置 int Symbol_1_Kod =140;
//-------------------------------------------------------------------- bool GV_Flag_NuevaBarra=false; // Flag de una nueva barra //======================================================================
int start() // Special funct.start() { //-------------------------------------------------------------------- Fun_NuevaBarra(); // 功能调用 if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra... return; // ...return //========================================================================= int IndMin =ArrayMinimum(Low,Barras,1); int IndMax =ArrayMaximum(High,Barras,1); 双重ZZ, CC;
void Fun_NuevaBarra() // Descripción de la Funcion que detecta. { // ... 一个新的酒吧 static datetime NewTime=0; // 存储日期和时间的变量 GV_Flag_NuevaBarra=false;//将新的酒吧列为假的(不存在新的酒吧)。 if(NewTime!=Time[0]) // Si existe nueva barra el dato es distinto de cero. { NewTime=Time[0]; //...,在这种情况下,我们将注册一个小时和时间。 GV_Flag_NuevaBarra=true; //Nueva Barra并激活标志,显示出... //存在一个新的酒吧
你好,有谁知道PVT指标是否有MTF版本?(价格和成交量趋势)。我知道有一个动态区域PVT,但它不是MTF。
感谢任何帮助....
找不到,所以在这个版本上加了MTF。
找不到,所以在这个版本中加入了mtf
找不到,所以在这个版本中添加了mtf。
亲爱的mladen。
我希望你过得很好。
我试着在ZZ指标的基础上做一个EA...当ZZ指标得到一个值时,我可以打开买入订单;但订单没有关闭......
你能帮助我吗?
谢谢...
int MagicN =1453;
extern int Barras=5; // Cantidad de barras
extern int y =5;
//--------------------------------------------------------------------
外置双数 Lots = 0.01;
外部双数 Slippage = 3;
extern double Period1 = 5;
extern string Dev_Step_1 ="0,5";
外置 int Symbol_1_Kod =140;
//--------------------------------------------------------------------
bool GV_Flag_NuevaBarra=false; // Flag de una nueva barra
//======================================================================
int start() // Special funct.start()
{
//--------------------------------------------------------------------
Fun_NuevaBarra(); // 功能调用
if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra...
return; // ...return
//=========================================================================
int IndMin =ArrayMinimum(Low,Barras,1);
int IndMax =ArrayMaximum(High,Barras,1);
双重ZZ, CC;
双倍Buy=Low[IndMin];
双重XX=高点[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)。
如果(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()
}
//=========================================================================
如果(XX == CC)
{
如果(OrderMagicNumber()== MagicN)
{ //---- 检查订单类型
如果(OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,White)。
Alert(Symbol(),":Barras= ",Barras,", CC= ",DoubleToString(CC,Digits),", Precio= ",DoubleToString(XX,Digits) )。
打印("=====ORDEN CERRADA=====")。
}
}
}
//=============================================================================
返回。
}
//=========================================================================
void Fun_NuevaBarra() // Descripción de la Funcion que detecta.
{ // ... 一个新的酒吧
static datetime NewTime=0; // 存储日期和时间的变量
GV_Flag_NuevaBarra=false;//将新的酒吧列为假的(不存在新的酒吧)。
if(NewTime!=Time[0]) // Si existe nueva barra el dato es distinto de cero.
{
NewTime=Time[0]; //...,在这种情况下,我们将注册一个小时和时间。
GV_Flag_NuevaBarra=true; //Nueva Barra并激活标志,显示出...
//存在一个新的酒吧
}
}
//--------------------------------------------------------------------
在我看来,你在测试一个错误的条件
3_Level_ZZ_Semafor的缓冲区1和太的值不能相同(它们在不同的地方显示)。
求你了,亲爱的先生
将代码改为以下内容。
谢谢你,亲爱的朋友,Mladen。
非常感谢您的帮助。
将代码改为以下内容。
亲爱的mladen
我把 "MA_TF " 的 "input "改成了 "extern",这段代码不起作用。
然后它就工作了。但问题仍然存在。我的意思是,它不能在图表的末尾转移(传送)指标。 正向转移不起作用。
但负数的效果很好。
再次感谢您。
亲爱的Mladen
我把 "MA_TF " 的 "输入 "改成了 "外部"。
然后它就工作了。但问题仍然存在。我的意思是,它不能在图表的末尾转移(运输)指标。 正向转移不起作用。
但负数的效果很好。
再次感谢您。
它工作起来一点问题都没有
我不知道你做了什么测试,但这是我用来测试的(附后),这就是测试的结果(包括阳性和阴性测试)。因此,所有的工作都与预期和描述的一样
它的工作完全没有问题
我不知道你做了什么测试,但这是我用来测试的(附后),这就是测试的结果(包括阳性和阴性测试)。因此,所有的工作都与预期和描述的一样
亲爱的MLADEN
你是对的,这是我的错误。
再次感谢我的朋友对我的帮助。
在我看来,你正在测试一个错误的条件
3_Level_ZZ_Semafor的缓冲区1和缓冲区2的数值不可能相同(它们显示在不同的地方)。
亲爱的mlanden...
谢谢你的意见...
我修改了EA以使用MagicNumber...但自定义指标 的内存已满。
2016.09.18 00:33:10.627 自定义指标3_Level_ZZ_Semafor EURUSD,M5的1039条内存不足。
我可以做什么?先谢谢你...Jesús...
//+------------------------------------------------------------------+
//|MA_jeaa_EA.ǞǞǞ
//+------------------------------------------------------------------+
#财产版权 "Jesus Acedo"
输入 double Lotes=0.01;
输入 int MagicNumber=1453;
输入int Barras=5。
输入int y=5。
输入 double Period1=5;
输入字符串 Dev_Step_1="0,5";
输入int Symbol_1_Kod=140;
输入 int Slippage=3;
//+------------------------------------------------------------------+
//| 专家初始化功能|
//+------------------------------------------------------------------+
int OnInit()
{
返回(INIT_SUCCEEDED)。
}
//+------------------------------------------------------------------+
//| 专家去初始化功能|
//+------------------------------------------------------------------+
空白OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| 专家勾选功能|
//+------------------------------------------------------------------+
空白的OnTick()
{
//---
long TicketEnUso = Ticket();
if (TicketEnUso>0) // significa que hay una operación... debo controlar salida...
{
如果(OrderSelect(TicketEnUso,SELECT_BY_TICKET, MODE_TRADES))
{
如果(OrderType()==OP_BUY)//在一个预设值的下方寻找一个出场机会
{
如果(Open[y]==ZZ(Period1))剔除(TicketEnUso)。
}
如果(OrderType()==OP_SELL) //寻找一个在预定时间内的出价
{
如果(Close[y]==CC(Period1))撤消(TicketEnUso)。
}
}
}
如果(TicketEnUso<1)//不存在操作,请重新审视是否存在交易的可能性。
{
如果(Close[y]==CC(Period1))
{
Abre(OP_BUY);
Alert(Symbol(),":Barras=",Barras,", ZZ=",DoubleToString(ZZ(Period1),Digits),", Precio=",DoubleToString(Close[y],Digits))。
打印("===COMPRA===")。
}
如果(Open[y]==ZZ(Period1))
{
Abre(OP_SELL)。
Alert(Symbol(),":Barras=",Barras,", CC=",DoubleToString(CC(Period1),Digits),", Precio=",DoubleToString(Open[y],Digits))。
打印("===VENTA===")。
}
}
}
//==============================================================================================
双倍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++)
{
如果(OrderSelect(o,SELECT_BY_POS,MODE_TRADES))
{
如果(MagicNumber == OrderMagicNumber()) 返回(OrderTicket())。
}
}
return(0);
}
void Abre(int Tipo)
{
如果(AccountFreeMargin()<(1000*Lotes))//过滤那些因为没有保证金而无法完成的操作。
{
Print ("No hay dinero disponible.Free Margin= ",AccountFreeMargin())。
返回。
}
//按操作选择价格
double Precio=0;
if(Tipo==OP_BUY) Precio=Ask; else Precio=Bid;
ResetLastError();
如果(OrderSend(NULL,Tipo,Lots,Precio,Slippage,0,0,NULL,MagicNumber,0,clrNONE)<1) 打印(GetLastError());// 10 es fracciones de pips...
}
void Cierre(long TicketNo)
{
double Precio=0;
如果(OrderSelect(TicketNo,SELECT_BY_TICKET,MODE_TRADES))
{
如果(OrderType()==OP_BUY)Precio=Bid; else Precio=Ask;//根据操作类型来计算销售价格。
ResetLastError();//重设错误数
如果(OrderClose(TicketNo,Lotes,Precio,Slippage,clrNONE))Print(GetLastError());//如果取消,则显示错误信息。
}
}
//======================================================================