新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 266 1...259260261262263264265266267268269270271272273...1953 新评论 [删除] 2017.08.10 06:36 #2651 danil77783:Artyom 下午好。我的名字是丹尼尔。我的问题是以下问题。我已经用MQL4写了我的专家顾问,更准确地说,是根据视频教程改写的。 显然,其中有一些错误,但它不会很好地编译。编译器将显示错误,指定行和行中的位置。请参考它们使用SRC按钮在你的信息文本上方插入程序的文本--看,它更好了!//+------------------------------------------------------------------+ //| test7.mq4 | //| Copyright 2017, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2017, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict你也可以附加一个文件--那么它就会立即在MetaEditor中显示。 danil77783 2017.08.10 07:16 #2652 LRA:编译器将产生错误,指出该行和该行的位置。参照他们使用你的信息文本上方的SRC按钮插入程序的文本--看,它更好了!!!。你也可以附上一个文件--那么在MetaEditor中就会立即看到。对不起,我的行为不正确,我接受纠正,我向你保证:)我已经筋疲力尽了,绝对....。//+------------------------------------------------------------------+ //| test7.mq4 | //| Copyright 2017, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2017, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict //------------------------------------------------------------------- extern double lots = 0.1; extern int TakeProfit = 300; extern int StopLoss = 50; extern int Magic = 777; extern int Slippage = 3; //------------------------------------------------------------------- extern string TMA = "Параметры индикатора TMA"; extern string TimeFrame = "current time frame"; extern int HalfLength = 56; extern int Price = PRICE_CLOSE; extern double ATRMultiplier = 2.0; extern int ATRPeriod = 100; extern bool Interpolate = true; //------------------------------------------------------------------- double PriceHigh, PriceLow, SL ,TP; int ticet; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if (Digits == 3 || Digits == 5); { TakeProfit *=10; StopLoss *=10; Slippage *=10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0); PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0); if (CountSell() == 0 && Bid >= PriceHigh) { tik et = OrderSend(Symbol(), OP_SELL, lots, Bid, Slippage, 0, 0, "TMA robot", Magic, 0, Red); if (tiket > 0) { SL = NormalizeDouble(Bid + StopLoss*Point, Digits); TP = NormalizeDouble(Bid - TakeProfit*Point, Digits); if (OrderSelect(ticet, SELECT_BY_TICKET)) OrderModify(tiket, OrderOpenPrice(), SL, TP, 0); } } } //-------------------------------------------------------------------------------------------- if (CountBuy() == 0 && Ask <= PriceLow) { tiket = OrderSend(Symbol(), OP_BUY, lots, Ask, Slippage, 0, 0, "TMA robot", Magic, 0, Blue); if (tiket > 0) { TP = NormalizeDouble(Ask + TakeProfit*Point, Digits); SL = NormalizeDouble(Ask - StopLoss*Point, Digits); if (OrderSelect(ticet, SELECT_BY_TICKET)) OrderModify(tiket, OrderOpenPrice(), SL, TP, 0); } } //+------------------------------------------------------------------+ int CountSell() { int count = 0; for (int trade = OrdersTotal()-1; trade>=0; trade--) { if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber) == Magic && OrderType() == OP_SELL) count++; } } return(count); } //----------------------------------------------------------------------------------------------- int CountBuy() { int count = 0; for (int trade = OrdersTotal()-1; trade>=0; trade--) { if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber) == Magic && OrderType() == OP_BUY) count++; } } return(count); }我已经标记了有错误的行,文件.....,请看一下,提前谢谢你! danil77783 2017.08.10 07:19 #2653 Alexey Viktorov 2017.08.10 07:33 #2654 danil77783: 我为不正确的行为道歉,我会改正的,我向你保证:)我已经完全累了....。我已经标出了有错误的行数,我附上了文件.....,请大家查一查,提前感谢!看到ticet和tiket是不同的变量就这么难吗?没有开放的小括号,你就不能看到封闭的小括号? danil77783 2017.08.10 10:19 #2655 非常感谢你的帮助!!!....修正了所有的错误,其中有一个我搞不清楚。我请求你的帮助。我哪里又搞砸了? Alekseu Fedotov 2017.08.10 10:39 #2656 danil77783: 非常感谢你的帮助!!!....修正了所有的错误,其中有一个我搞不清楚。我请求你的帮助。我哪里又搞砸了? 你把这个块从OnTick函数的 主体中拿出来,去掉一个大括号。 Alexey Viktorov 2017.08.10 10:48 #2657 Alekseu Fedotov: 你把这个块从OnTick函数的 主体中拿出来,去掉一个括号。然后会少了一个括号。所选行上方的括号必须下移,在减号之前。} //+------------------------------------------------------------------+ Alekseu Fedotov 2017.08.10 11:00 #2658 Alexey Viktorov:然后会少了一个括号。高亮线上方的括号必须在减号前下移。 哦,是的,你应该。 danil77783 2017.08.10 11:18 #2659 一切都是!!!....非常感谢你。编纂了它。它是有效的! Konstantin Erin 2017.08.10 11:30 #2660 danil77783: 一切都是!!!....非常感谢你。编纂了它。它是有效的!有什么好处?另外,这里的这块空的功能也可以舍弃了。试试吧...//+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } 1...259260261262263264265266267268269270271272273...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Artyom 下午好。我的名字是丹尼尔。我的问题是以下问题。我已经用MQL4写了我的专家顾问,更准确地说,是根据视频教程改写的。 显然,其中有一些错误,但它不会很好地编译。
编译器将显示错误,指定行和行中的位置。请参考它们
使用SRC按钮在你的信息文本上方插入程序的文本--看,它更好了!
你也可以附加一个文件--那么它就会立即在MetaEditor中显示。
编译器将产生错误,指出该行和该行的位置。参照他们
使用你的信息文本上方的SRC按钮插入程序的文本--看,它更好了!!!。
你也可以附上一个文件--那么在MetaEditor中就会立即看到。
对不起,我的行为不正确,我接受纠正,我向你保证:)我已经筋疲力尽了,绝对....。
我已经标记了有错误的行,文件.....,请看一下,提前谢谢你!
我为不正确的行为道歉,我会改正的,我向你保证:)我已经完全累了....。
我已经标出了有错误的行数,我附上了文件.....,请大家查一查,提前感谢!
看到ticet和tiket是不同的变量就这么难吗?
没有开放的小括号,你就不能看到封闭的小括号?
非常感谢你的帮助!!!....修正了所有的错误,其中有一个我搞不清楚。我请求你的帮助。我哪里又搞砸了?
你把这个块从OnTick函数的 主体中拿出来,去掉一个括号。
然后会少了一个括号。
所选行上方的括号必须下移,在减号之前。
} //+------------------------------------------------------------------+
然后会少了一个括号。
高亮线上方的括号必须在减号前下移。
一切都是!!!....非常感谢你。编纂了它。它是有效的!
有什么好处?另外,这里的这块空的功能也可以舍弃了。试试吧...