新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 542 1...535536537538539540541542543544545546547548549...1953 新评论 PolarSeaman 2018.04.30 05:36 #5411 Artyom Trishkin:从这个时间[i]应该提取一个小时。仍然打印出10:05:00和22:10:00的时间以及其他允许时间之外的时间。 它不应该从17:00到11:00打印,但它确实在打印。 for(int i=limit-2; i>0; i--) { if(TimeHour(time[i])>=17&&TimeHour(time[i])<=11)continue; if(i%2==0) { if(open[i]<close[i] && open[i+1]>close[i+1]) { k1++; if(k1>max) {max=k1; dat_max=time[i];} if(k1>=4)Print("Num: ",k1,"dat_max ",time[i]); SetText("Obj_"+(string)time[i],(string)k1,time[i],high[i],Arr); } else k1=0; } else { if(open[i]<close[i] && open[i+1]>close[i+1]) { k2++; if(k2>max){ max=k2; dat_max=time[i];} if(k2>=4)Print("Num: ",k2,"dat_max ",time[i]); SetText("Obj_"+(string)time[i],(string)k2,time[i],high[i],Arr); } else k2=0; } } Comment("Max: ",max,"dat_max ",dat_max," rates_total ",rates_total); Taras Slobodyanik 2018.04.30 09:28 #5412 if(TimeHour(time[i])>=17 || TimeHour(time[i])<=11)continue; PolarSeaman 2018.04.30 14:30 #5413 Taras Slobodyanik: 谢谢你。 Ihor Herasko 2018.05.01 08:13 #5414 k_chens:下午好!请帮助我正试图写出大量的计数控制。如果我的账户获利+10%,那么手数就会翻倍。如果+20%,则地段*4。如果在我的账户中减少,那么分别减少手数。我不明白如何使Lots_New在每次新的交易中取得新的价值。 对于一个刚刚开始学习编程的人来说,这远远不是一项琐碎的任务。毕竟,为了解决这个问题,你必须想出一个存储下一个平衡值的机制。此外,我们需要弄清楚在哪里存储这个值。程序中的变量不适合用于这一目的。例如,你可以使用终端的全局变量 或将其写入文件。一切都取决于你打算在哪里和如何使用该程序。 最通用的解决方案(如果该程序计划在不同的计算机上使用,而不可能在程序副本之间传输数据)是扫描账户历史记录,以计算利润/亏损,作为程序工作的结果获得。但是,还有一个选择参考点的问题(从哪里获得平衡值,再往上算)。 Tigerfreerun 2018.05.02 08:18 #5415 你好,请你解释一下选择医疗机构的线路。外部 bool hand orders =true 。Extern int Magic_Number =777;//第一行((OrderMagicNumber()==Magic_Number && hand_orders==false) || (OrderMagicNumber()==0 && hand_orders==true)//第二行(OrderMagicNumber()==Magic_Number || (OrderMagicNumber()==0 && hand_orders==true))他们缺少什么样的医学价值?请写 Kirill Belousov 2018.05.02 09:20 #5416 Tigerfreerun: 你好,请解释一下选择medjic的线路。外部 bool hand orders =true 。Extern int Magic_Number =777;//第一行((OrderMagicNumber()==Magic_Number && hand_orders==false) || (OrderMagicNumber()==0 && hand_orders==true)//第二行(OrderMagicNumber()==Magic_Number || (OrderMagicNumber()==0 && hand_orders==true))他们缺少什么样的医学价值?请写在你的表达式中,将&&改为 "同时",将||改为 "或"。 你应该能够读懂,并看到它是如何工作的。 第一行将在magic =777(当hand_orders=false时)或magic = 0(当hand_orders=true时)下工作。 第二行总是在majic=777的情况下工作,如果hand_orders=true,它在majic=0的情况下还能工作。 PolarSeaman 2018.05.02 18:55 #5417 我如何在一个函数中 计算出两个工具的利润(点)? 滚动式 double Punkts_B(string Sy_1="",string Sy_2="",int _Mag=-1) { double xxx=0; bool bw; for(int t=0;t<=OrdersTotal();t++) { bw=OrderSelect(t,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Sy_1 || OrderSymbol()==Sy_2 && OrderMagicNumber()==_Mag && (OrderType()==OP_BUY || OrderType()==OP_SELL)) xxx=OrderClosePrice()-OrderOpenPrice(); RefreshRates(); } return(xxx); } Konstantin Nikitin 2018.05.02 19:15 #5418 PolarSeaman:我如何在一个函数中 计算出两个工具的利润(点)? 滚动式 int Punkts_B(string Sy_1="",string Sy_2="",int _Mag=-1) { int xxx = 0; double tickValue_1 = SymbolInfoDouble(Sy_1, SYMBOL_TRADE_TICK_VALUE), tickValue_2 = SymbolInfoDouble(Sy_2, SYMBOL_TRADE_TICK_VALUE); for(int t=0;t<OrdersTotal();t++) { if( !OrderSelect(t,SELECT_BY_POS,MODE_TRADES) ) continue; if( OrderSymbol()!=Sy_1 && OrderSymbol()!=Sy_2 ) continue; if( OrderMagicNumber()!=_Mag ) continue; if( OrderType()!=OP_BUY && OrderType()!=OP_SELL) continue; xxx+=(int)((OrderProfit()+OrderSwap()+OrderCommission())/(OrderSymbol()==Sy_1 ? tickValue_1 : tickValue_2)); } return(xxx); } Maxim Kuznetsov 2018.05.02 19:26 #5419 Konstantin Nikitin: 两个不同乐器的点不能叠加。 Konstantin Nikitin 2018.05.02 19:27 #5420 Maxim Kuznetsov: 两个不同乐器的点数不能相加。他问,在点上,他在这里点上。让他想想吧 =) 1...535536537538539540541542543544545546547548549...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
从这个时间[i]应该提取一个小时。
仍然打印出10:05:00和22:10:00的时间以及其他允许时间之外的时间。
它不应该从17:00到11:00打印,但它确实在打印。
谢谢你。
下午好!请帮助我正试图写出大量的计数控制。如果我的账户获利+10%,那么手数就会翻倍。如果+20%,则地段*4。如果在我的账户中减少,那么分别减少手数。我不明白如何使Lots_New在每次新的交易中取得新的价值。
对于一个刚刚开始学习编程的人来说,这远远不是一项琐碎的任务。毕竟,为了解决这个问题,你必须想出一个存储下一个平衡值的机制。此外,我们需要弄清楚在哪里存储这个值。程序中的变量不适合用于这一目的。例如,你可以使用终端的全局变量 或将其写入文件。一切都取决于你打算在哪里和如何使用该程序。
最通用的解决方案(如果该程序计划在不同的计算机上使用,而不可能在程序副本之间传输数据)是扫描账户历史记录,以计算利润/亏损,作为程序工作的结果获得。但是,还有一个选择参考点的问题(从哪里获得平衡值,再往上算)。
你好,请解释一下选择medjic的线路。
在你的表达式中,将&&改为 "同时",将||改为 "或"。
你应该能够读懂,并看到它是如何工作的。
第一行将在magic =777(当hand_orders=false时)或magic = 0(当hand_orders=true时)下工作。
第二行总是在majic=777的情况下工作,如果hand_orders=true,它在majic=0的情况下还能工作。
我如何在一个函数中 计算出两个工具的利润(点)?
滚动式
我如何在一个函数中 计算出两个工具的利润(点)?
滚动式
两个不同乐器的点数不能相加。
他问,在点上,他在这里点上。让他想想吧 =)