extern int GV_CantidadBarras=3; //Cantidad de barras Extern int digits=5; //-------------------------------------------------------------------- 外部双数 Lots = 0.01; extern double StopLoss = 100; extern double TakeProfit = 100; extern int Slippage = 3;
//-------------------------------------------------------------------- bool GV_Flag_NuevaBarra=false; // flag de una nueva barra //======================================================================
int start() // Special funct.start() { double Precio; // 记录最低和最高价格的变量 //-------------------------------------------------------------------- Fun_NuevaBarra(); // 功能调用 if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra... return; // ...return //=========================================================================
//int IndMax =ArrayMaximum(High,GV_CantidadBarras,1);//Indice de la barra del prepaid maximo IndMin =ArrayMinimum(Low, GV_CantidadBarras,1);//最低价格指数。
Precio=Low[IndMin];
int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,StopLoss,TakeProfit, "My orderrr",16384,0,Blue)。
void Fun_NuevaBarra() // 检测的功能描述。 { // ... 一个新的酒吧 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并激活标志,显示出... //存在一个新的酒吧 } }
亲爱的各位......我希望你们都很好......
我学会了编程,并做了一个简单的EA,以确定在最后3个酒吧的低值,并打开一个购买订单...但我有一个问题,没有把订单...有谁能帮助我吗?程序得到了低价并显示了警报,但没有下买单......
谢谢你的帮助...
//--------------------------------------------------------------------
// NewBar_jeaa_Rev 2.mq4
//--------------------------------------------------------------------
#财产版权 "Jeaa"
extern int GV_CantidadBarras=3; //Cantidad de barras
Extern int digits=5;
//--------------------------------------------------------------------
外部双数 Lots = 0.01;
extern double StopLoss = 100;
extern double TakeProfit = 100;
extern int Slippage = 3;
//--------------------------------------------------------------------
bool GV_Flag_NuevaBarra=false; // flag de una nueva barra
//======================================================================
int start() // Special funct.start()
{
double Precio; // 记录最低和最高价格的变量
//--------------------------------------------------------------------
Fun_NuevaBarra(); // 功能调用
if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra...
return; // ...return
//=========================================================================
//int IndMax =ArrayMaximum(High,GV_CantidadBarras,1);//Indice de la barra del prepaid maximo
IndMin =ArrayMinimum(Low, GV_CantidadBarras,1);//最低价格指数。
Precio=Low[IndMin];
int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,StopLoss,TakeProfit, "My orderrr",16384,0,Blue)。
Alert(Symbol(),":Barras=",GV_CantidadBarras, // 显示最大和最小价格的信息
", Min= ",DoubleToString(Precio,digits))。
返回。
}
void Fun_NuevaBarra() // 检测的功能描述。
{ // ... 一个新的酒吧
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并激活标志,显示出...
//存在一个新的酒吧
}
}
你在专家或终端的日志标签中得到什么错误?
嗨,mladen...谢谢你的回答...
2016.09.06 11:42:06.700 NewBar_jeaa_Rev 2 USDJPY,M1:提醒:USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1:提醒:USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: 设置不允许的交易操作
2016.09.06 11:41:36.396 NewBar_jeaa_Rev 2 USDJPY,M1: 已初始化
2016.09.06 11:41:36.385 NewBar_jeaa_Rev 2 USDJPY,M1输入。GV_CantidadBarras=3; digits=5; Lots=0.01; StopLoss=100.0; TakeProfit=100.0; Slippage=3;
2016.09.06 11:41:35.080 Expert NewBar_jeaa_Rev 2 USDJPY,M1: 载入成功
2016.09.06 12:57:08.587 '502630': 订单买入0.01 USDJPY在市场开盘sl: 50.000 tp: 50.000失败 [无效的S/L或T/P]
2016.09.06 12:57:08.268 '502630': 订单买入市场 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:07.224 '502630': 订单买入0.01 USDJPY开盘价 sl: 50.000 tp: 50.000 失败 [无效S/L或T/P]
2016.09.06 12:56:06.921 '502630': 订单买入市场 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:04.221 启用自动交易
嗨,mladen...谢谢你的回答...
2016.09.06 11:42:06.700 NewBar_jeaa_Rev 2 USDJPY,M1:Alert: USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1:Alert: USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: 设定不允许的交易操作
2016.09.06 11:41:36.396 NewBar_jeaa_Rev 2 USDJPY,M1: Initialized
2016.09.06 11:41:36.385 NewBar_jeaa_Rev 2 USDJPY,M1 inputs:GV_CantidadBarras=3; digits=5; Lots=0.01; StopLoss=100.0; TakeProfit=100.0; Slippage=3;
2016.09.06 11:41:35.080 Expert NewBar_jeaa_Rev 2 USDJPY,M1:加载成功
2016.09.06 12:57:08.587 '502630': order buy 0.01 USDJPY opening at market sl: 50.000 tp: 50.000 failed [Invalid S/L or T/P]
2016.09.06 12:57:08.268 '502630': order buy market 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:07.224 '502630': order buy 0.01 USDJPY opening at market sl: 50.000 tp: 50.000 failed [Invalid S/L or T/P]
2016.09.06 12:56:06.921 '502630': order buy market 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:04.221 自动交易启用
正如你所看到的,你的止损和止盈 是错误的
你的计算方法是错误的:止损和止盈的计算方法是订单开盘价+-止损和/或止盈(+或-取决于订单的类型),但不是50(像你的情况),而是订单开盘价+-50*_Point(对于点)或50*_Point*MathPow(10,MathMod(_Digits,2))(对于与订单开盘价的点距离
正如你所看到的,你的止损和止盈是错误的。
你的计算方法是错误的:止损和止盈的计算方法是订单开盘价+-止损和/或止盈(+或-取决于订单的类型),但不是50(像你的例子),而是订单开盘价+-50*_Point(对于点)或50*_Point*MathPow(10,MathMod(_Digits,2)),对于离订单开盘价的点数距离。
亲爱的mladen...
谢谢你的帮助...我改变了。
double SL=NormalizeDouble(Precio - StopLoss*Point, Digits);
double TP=NormalizeDouble(Precio + TakeProfit*Point,Digits);
int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,SL,TP, "Jeaa",0,0,Blue) 。
并且工作正常。
最好的问候。
杰西
亲爱的mladen...
谢谢你的帮助...我改变了。
double SL=NormalizeDouble(Precio - StopLoss*Point,Digits);
double TP=NormalizeDouble(Precio + TakeProfit*Point,Digits)。
int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,SL,TP, "Jeaa",0,0,Blue) 。
并且工作正常。
最好的问候。
杰西
嗨,伙计们。
你可以在附件中的警报信息中添加时间框架吗?
非常感谢您 :)
亲爱的Mladen,
很抱歉把这个请求贴在这里,因为我不知道该在什么地方。
是否可以在所附指标中增加一个 "仅当前符号 "的选项。
如果可以的话,这将会有很大的帮助:)
谢谢。
萨米尔
嗨,伙计们。
你可以在附件中的警报信息中添加时间框架吗?
非常感谢您 :)
以下是添加了时间的版本
亲爱的Mladen,
很抱歉把这个请求贴在这里,因为我不知道该在什么地方。
是否可以在所附指标中增加一个 "仅当前符号 "的选项。
如果可以的话,这将会有很大的帮助:)
谢谢。
萨米尔
你有一个非常简单的解决方案。添加这一行。
在第64行之前,然后在符号列表中的任何地方输入 "current"(不带""),它就会被替换成当前的符号。或者使用附件:)(同样的规则适用于当前符号:如果只显示当前符号,在符号列表中只输入 "current"。)
你有一个非常简单的解决方案。在第64行之前添加这一行:
在第64行之前,然后在符号列表中的任何地方输入 "current"(不带""),它就会被替换成当前的符号。或者使用附件:)(同样的规则适用于当前符号:如果只显示当前符号,在符号列表中只输入 "current"。)