初学者的问题 MQL4 MT4 MetaTrader 4 - 页 204 1...197198199200201202203204205206207208209210211...261 新评论 Dmitriy Prigodich 2020.06.01 11:33 #2031 大家好。 我有一个问题。我写了一个 关于马丁的EA。当我修改订单并设置TakeProfit时,它就会飞到天上。而且这只发生在真实账户上。在策略测试器中一切正常,在演示中也一切正常。我不明白这有什么诀窍。 //+------------------------------------------------------------------+ double BuyAverange=0, SellAverange=0, SellPrice=0, BuyPrice=0, BuyLot=0,SellLot=0。 for(int i = OrdersTotal()-1; i>=0; i--) 如果(OrderSelect(i,SELECT_BY_POS)) 如果(OrderSymbol()==Symbol()) 如果(OrderMagicNumber()==Magic) { 如果(OrderType()==OP_BUY) { BuyPrice+=OrderOpenPrice()*OrderLots()。 BuyLot+=OrderLots()。 } 如果(OrderType()==OP_SELL) { SellPrice+=OrderOpenPrice()*OrderLots()。 SellLot+=OrderLots()。 } } 如果(b>1&&BuyLot>0) BuyAverange=NormalizeDouble(BuyPrice/BuyLot+Profit*Point(),Digits())。 如果(s>1&&SellLot>0) SellAverange=NormalizeDouble(SellPrice/SellLot-Profit*Point(),Digits())。 //+----------------------------------------------------------- for(int i = OrdersTotal()-1; i>=0; i--) 如果(OrderSelect(i,SELECT_BY_POS)) 如果(OrderSymbol()==Symbol()) 如果(OrderMagicNumber()==Magic) { 如果(OrderType()==OP_BUY) { 如果(b==1) { 如果(OrderTakeProfit()==0) 如果(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()+TakeProfit*Point(),Digits(),0,clrGreen) ==false) Print("Errow N",GetLastError())。 如果(b>1) 如果(OrderTakeProfit()!=BuyAverange) 如果(Ask<BuyAverange) 如果(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(BuyAverange,Digits(),0,clrGreen) ==false) Print("Errow N",GetLastError())。 } 如果(OrderType()==OP_SELL) { 如果(s==1) 如果(OrderTakeProfit()==0) 如果(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()-TakeProfit*Point(),Digits(),0,clrGreen)==false) Print("Errow N",GetLastError())。 如果(s>1) 如果(OrderTakeProfit()!=SellAverange) 如果(Bid>SellAverange) 如果(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(SellAverange,Digits(),0,clrGreen) ==false) Print("Errow N",GetLastError())。 } } Questions from Beginners MQL4 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 如何编码? Roman Shiredchenko 2020.06.12 05:09 #2032 同事们--决定在这里写,因为我不知道还能去哪里。请纠正 - 在MT 4中 - 当保存一个默认的配置文件 - 默认 - 当在多个标签上运行多个机器人 - 一般来说,这个主题从下面的eurobucks,poundbucks等。- 当你重新启动终端时--它被混在一起,当加载默认配置文件时--它也被混在一起--这非常不方便,我必须手动整理顺序--什么在什么之后,等等。 它能被修复吗? presibent 2020.06.13 01:21 #2033 #property strict #property copyright "Alex Kolodin" #property link "www." #property version "1.00" #property show_inputs input color buy =clrGreen; input color sell =clrCoral; input int _width=3; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- int i,k=OrdersHistoryTotal(), r=-1; string sy=Symbol(); for(i=0; i<k; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderType()==OP_BUY) { if(OrderSymbol()==sy) { TrendCreate(0,"Trendline"+(string)OrderTicket(),0, OrderOpenTime(), OrderOpenPrice(), OrderCloseTime(), OrderClosePrice(), buy, STYLE_SOLID, _width ); } if(OrderType()==OP_SELL) { TrendCreate(0,"TrendLine"+(string)OrderTicket(),0, OrderOpenPrice(), OrderOpenTime(), OrderCloseTime(), OrderClosePrice(), sell, STYLE_SOLID, _width ); } } } } } //+------------------------------------------------------------------+ bool TrendCreate(const long chart_ID=0, const string namename="trendLine", const int sub_window=0, datetime time1=0, double price1=0, datetime time2=0, double price2=0, const color clr=clrRed, const ENUM_LINE_STYLE style=STYLE_SOLID, const int width=1, const bool back=false, const bool selection=false, const bool ray_right=false, const bool hidden=true, const long z_order=0) { ResetLastError(); if(!ObjectCreate(chart_ID,namename,OBJ_ARROW,sub_window,time1,price1,time2,price2)) { Print(__FUNCTION__, ": не удалось создать линию тренда! Код ошибки = ",GetLastError()); return(false); } ObjectSetInteger(chart_ID,namename,OBJPROP_COLOR,clr); ObjectSetInteger(chart_ID,namename,OBJPROP_STYLE,style); ObjectSetInteger(chart_ID,namename,OBJPROP_WIDTH,width); ObjectSetInteger(chart_ID,namename,OBJPROP_BACK,back); ObjectSetInteger(chart_ID,namename,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_ID,namename,OBJPROP_SELECTED,selection); ObjectSetInteger(chart_ID,namename,OBJPROP_RAY_RIGHT,ray_right); ObjectSetInteger(chart_ID,namename,OBJPROP_HIDDEN,hidden); ObjectSetInteger(chart_ID,namename,OBJPROP_ZORDER,z_order); return(true); // }Здраствуй, читающий уважаемый(АЯ), вот такой код по идее выдаст трендовую линию по двум точкам. Компилируется, а результата нет. Помогите, спасибо. BudniKova5 2020.06.13 15:42 #2034 日安! 为什么mt4中的图表与mt5中的图表不同?如果可能的话,我如何将mt5图表转移到mt4?(只是我的经纪人使用的价格数据是mt5的,但我所有喜欢的指标都是mt4的) Vitaly Muzichenko 2020.06.14 10:53 #2035 你能告诉我为什么邮政服务不工作了吗? [删除] 2020.06.14 12:06 #2036 Vitaly Muzichenko:你能告诉我,为什么寄到邮局就不能用了? 也许从谁那里,对谁来说应该是不同的? Vitaly Muzichenko 2020.06.14 12:24 #2037 Сергей Таболин:也许从谁那里,对谁来说应该是不同的? 我已经试过了,没有任何效果。 Vladimir Karputov 2020.06.14 14:05 #2038 Vitaly Muzichenko:我已经试过了,不起作用。 现在所有的邮件都要求你为第三方应用程序生成一个单独的密码。阅读你的邮件帮助- 很可能你需要生成一个单独的密码。 另外,你需要指定SMTP服务器的确切端口,像这样。 smtp.ukr.net:465 Vitaly Muzichenko 2020.06.14 14:46 #2039 Vladimir Karputov:现在所有的邮件都要求你为第三方应用程序生成一个单独的密码。阅读你的电子邮件供应商的帮助- 你可能需要生成一个单独的密码。另外,你需要指定SMTP服务器的确切端口,像这样。 德哲试图--没有去。 所规定的端口是:smtp.ukr.net:465 Vitaly Muzichenko 2020.06.14 14:47 #2040 它甚至可以与任何一个邮递员一起工作吗? 1...197198199200201202203204205206207208209210211...261 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
大家好。
我有一个问题。我写了一个 关于马丁的EA。当我修改订单并设置TakeProfit时,它就会飞到天上。而且这只发生在真实账户上。在策略测试器中一切正常,在演示中也一切正常。我不明白这有什么诀窍。
//+------------------------------------------------------------------+
double BuyAverange=0, SellAverange=0, SellPrice=0, BuyPrice=0, BuyLot=0,SellLot=0。
for(int i = OrdersTotal()-1; i>=0; i--)
如果(OrderSelect(i,SELECT_BY_POS))
如果(OrderSymbol()==Symbol())
如果(OrderMagicNumber()==Magic)
{
如果(OrderType()==OP_BUY)
{
BuyPrice+=OrderOpenPrice()*OrderLots()。
BuyLot+=OrderLots()。
}
如果(OrderType()==OP_SELL)
{
SellPrice+=OrderOpenPrice()*OrderLots()。
SellLot+=OrderLots()。
}
}
如果(b>1&&BuyLot>0)
BuyAverange=NormalizeDouble(BuyPrice/BuyLot+Profit*Point(),Digits())。
如果(s>1&&SellLot>0)
SellAverange=NormalizeDouble(SellPrice/SellLot-Profit*Point(),Digits())。
//+-----------------------------------------------------------
for(int i = OrdersTotal()-1; i>=0; i--)
如果(OrderSelect(i,SELECT_BY_POS))
如果(OrderSymbol()==Symbol())
如果(OrderMagicNumber()==Magic)
{
如果(OrderType()==OP_BUY)
{
如果(b==1)
{ 如果(OrderTakeProfit()==0)
如果(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()+TakeProfit*Point(),Digits(),0,clrGreen) ==false)
Print("Errow N",GetLastError())。
如果(b>1)
如果(OrderTakeProfit()!=BuyAverange)
如果(Ask<BuyAverange)
如果(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(BuyAverange,Digits(),0,clrGreen) ==false)
Print("Errow N",GetLastError())。
}
如果(OrderType()==OP_SELL)
{
如果(s==1)
如果(OrderTakeProfit()==0)
如果(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()-TakeProfit*Point(),Digits(),0,clrGreen)==false)
Print("Errow N",GetLastError())。
如果(s>1)
如果(OrderTakeProfit()!=SellAverange)
如果(Bid>SellAverange)
如果(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(SellAverange,Digits(),0,clrGreen) ==false)
Print("Errow N",GetLastError())。
}
}
同事们--决定在这里写,因为我不知道还能去哪里。请纠正 - 在MT 4中 - 当保存一个默认的配置文件 - 默认 - 当在多个标签上运行多个机器人 - 一般来说,这个主题从下面的eurobucks,poundbucks等。- 当你重新启动终端时--它被混在一起,当加载默认配置文件时--它也被混在一起--这非常不方便,我必须手动整理顺序--什么在什么之后,等等。
它能被修复吗?
日安!
为什么mt4中的图表与mt5中的图表不同?如果可能的话,我如何将mt5图表转移到mt4?(只是我的经纪人使用的价格数据是mt5的,但我所有喜欢的指标都是mt4的)
你能告诉我为什么邮政服务不工作了吗?
你能告诉我,为什么寄到邮局就不能用了?
也许从谁那里,对谁来说应该是不同的?
也许从谁那里,对谁来说应该是不同的?
我已经试过了,没有任何效果。
我已经试过了,不起作用。
现在所有的邮件都要求你为第三方应用程序生成一个单独的密码。阅读你的邮件帮助- 很可能你需要生成一个单独的密码。
另外,你需要指定SMTP服务器的确切端口,像这样。
smtp.ukr.net:465
现在所有的邮件都要求你为第三方应用程序生成一个单独的密码。阅读你的电子邮件供应商的帮助- 你可能需要生成一个单独的密码。
另外,你需要指定SMTP服务器的确切端口,像这样。
德哲试图--没有去。
所规定的端口是:smtp.ukr.net:465