初学者的问题 MQL4 MT4 MetaTrader 4 - 页 49

 
Alexander Antoshkin:

为了一个蛋糕和一杯咖啡,应该调整一个警告(来自mt4的新版本)。

)

嗯,派可以邮寄...你在哪里买的咖啡?

附加的文件:
 
Alexey Viktorov:

嗯,你可以邮寄一个馅饼...你在哪里买的咖啡?

谢谢你))))。

更正后的代码返回到文章中的线程.................................................

 
我试图从原始安装文件mt4setup.exe中安装MetaTrader4,但MT5却明目张胆地安装给我。Windows7 x64系统。开发商就是这样试图让我喜欢上新的平台吗?我怎样才能安装我想要的东西(MT4),而不是被强迫安装的东西?
 
Andrej Akimov:
我试图从原始安装文件mt4setup.exe中安装MetaTrader4,但MT5却明目张胆地安装给我。Windows7 x64系统。开发商就是这样试图让我喜欢上新的平台吗?我怎样才能安装我想要的东西(MT4)而不是强加给我的东西?
论坛上已经有一堆关于这个问题的解决方案的主题。为什么不使用搜索引擎呢?
 
举例说明如何将一个字符串写入文件 并读取它。该文件必须存储在C盘根部。这必须是一个专家。
 

我正试图以这种方式实现止损和止盈

价差=要价-出价。

double StopLoss_B = NormalizeDouble(Low[1]- spread,Digits);//NormalizeDouble(Low[1]- spread,Digits)

double TakeProfit_B = NormalizeDouble(Ask+((Ask-StopLoss_B)* RiskRewart),Digits) ;

double StopLoss_S = NormalizeDouble(High[1]+ spread,Digits);//NormalizeDouble(High[1]+ spread,Digits)

double TakeProfit_S = NormalizeDouble(Bid-((StopLoss_S-Bid)* RiskRewart),Digits) ;

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss_B,TakeProfit_B, "PBar",Magik,0,Blue)。

....

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss_S,TakeProfit_S, "PBar",Magik,0,Red)。

测试仪显示错误130 - TP和SL有问题。我无法理解到底是什么,尤其是有时运行正常,有时却出现错误。

一般来说,请帮助。

 
RichLux:

我正试图以这种方式实现止损和止盈

价差=要价-出价。

double StopLoss_B = NormalizeDouble(Low[1]- spread,Digits);//NormalizeDouble(Low[1]- spread,Digits)

double TakeProfit_B = NormalizeDouble(Ask+((Ask-StopLoss_B)* RiskRewart),Digits) ;

double StopLoss_S = NormalizeDouble(High[1]+ spread,Digits);//NormalizeDouble(High[1]+ spread,Digits)

double TakeProfit_S = NormalizeDouble(Bid-((StopLoss_S-Bid)* RiskRewart),Digits) ;

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss_B,TakeProfit_B, "PBar",Magik,0,Blue)。

....

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss_S,TakeProfit_S, "PBar",Magik,0,Red)。

测试仪显示错误130 - TP和SL有问题。我无法理解到底是什么,尤其是有时运行正常,有时却出现错误。

一般来说,请帮助。

也许有时你的设置太接近当前的价格,看看函数的返回值是多少

double stop_level=(double)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

...

 

关于交易、自动交易系统和策略测试的论坛

初学者的问题 MQL4 MT4 MetaTrader 4

Sergey Gritsay, 2017.01.07 18:48

也许有时你的赌注太接近当前的价格,看看这个函数给你的回报是什么。

double stop_level=(double)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

...


谢谢你的参与。没有弄清楚如何使用建议的功能。但你鼓励我更多地了解图表上的那些错误,并了解到原因是当触发了止损,但蜡烛还没有关闭,EA试图下一个新的订单,这就是错误发生的地方。我必须考虑如何解释每根蜡烛只需要一个订单的EA。

 
RichLux:

谢谢你的参与。我还没有弄清楚如何使用建议的功能。但你鼓励我更多地了解图表上的那些错误,并了解到原因是,当止损被触发但蜡烛尚未关闭时,EA试图下一个新的订单,这就是错误发生的地方我必须考虑如何解释每根蜡烛只需要一个订单的EA。

如果EA在该符号已经有一个订单,看一下差值(关闭 订单的时间)-(打开 蜡烛的时间),如果差值小于PeriodSeconds()- 不要打开一个新订单。
 

关于交易、自动交易系统和策略测试的论坛

来自初学者的问题 MQL4 MT4 MetaTrader 4

Vitalie Postolache, 2017.01.07 21:23

在已关闭的订单中观察,如果专家顾问在给定的符号上有一个订单,观察 订单关闭的时间)- 蜡烛打开的时间)的差异,如果差异小于PeriodSeconds()-不要打开一个新订单。

做事的方式有点不同。

新的酒吧功能。

bool NewBar()

{

静态数据时间lastbar = 0;

datetime curbar = Time[0];

如果(lastbar != curbar)

{

Lastbar = curbar。

返回(真)。

}

否则返回(false)。

}

我写了只有在有新条目的情况下才打开的条件