[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 201 1...194195196197198199200201202203204205206207208...652 新评论 --- 2011.09.21 21:06 #2001 isaev-av: 谢谢你。根据直流电,数字是否需要改为4或5? 你不必改变它,你只需要根据货币的不同而采取。市场信息 [删除] 2011.09.21 21:09 #2002 isaev-av: 谢谢你。是否需要将数字改为4或5,取决于DC? 只要留下数字,它就会自己适应。 [Deleted] 2011.09.22 10:53 #2003 同志们,考虑到一个非常简单的系统...如果MACD在该区域内不超过5分钟,那么我就开仓。由于某些原因,交易没有打开....请告知...//+------------------------------------------------------------------+ //| MACD ^^^.mq4 | //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern int TP = 100; extern int TS = 100; extern int TF = 1; extern double lots = 0.1; int fast_ema = 5; int slow_ema = 34; int signal_period = 5; int slip = 3; int Magic = 1; int total; int ticket; //объявил тотал и тикет //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- bool signal = signal_MACD(); AnalyzeSignal(signal); //---- return(0); } //+------------------------------------------------------------------+ bool signal_MACD() { bool signal_MACD = false; double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); for(int i=1;i<=5;i++) { if(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp,4)<0.0) { signal_MACD = true; break; } } } void AnalyzeSignal(bool signal) { total = OrdersTotal(); double MACD = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); if(total < 1) { if(signal == true) { if(MACD > 0) { ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-TS*Point,Bid+TP*Point,"Покупаем",Magic,0,Green); if(ticket>0) { OrderSelect(ticket,SELECT_BY_TICKET); Print("открылись на покупку по цене:", OrderOpenPrice()); } else { Print("открыться не удалось по причине:", GetLastError()); return(0); } } if(MACD < 0) { ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,slip,Ask+TS*Point,Ask-TP*Point,"Продаем",Magic,0,Red); if(ticket>0) { OrderSelect(ticket,SELECT_BY_TICKET); Print("открылись на продажу по цене:", OrderOpenPrice()); } else { Print("открыться не удалось по причине:", GetLastError()); return(0); } } else return(0); } } } noobys 2011.09.22 10:55 #2004 帮助!每个人都有一个MACD样本EA,我正试图将手数计算加入其中。在我的修改之后,它没有被编译 :( 帮助!double Lots() { double Lots; Lots=AccountFreeMargin()/10000*5; Lots=MathMin(15,MathMax(0.1,Lots)); if(Lots<0.1) Lots=NormalizeDouble(Lots,2); else { if(Lots<1) Lots=NormalizeDouble(Lots,1); else Lots=NormalizeDouble(Lots,0); } return(Lots); } Artem Gulturyan 2011.09.22 11:15 #2005 尊敬的先生,您好 EA给出了一个错误,如果((Bid-OrderOpenPrice(),Digits)>=-60)代码130,给出了每一个新的tick并真正加载服务器... 如果我把它改为如果((pBid-NormalizeDouble(OrderOpenPrice(),Digits))==-60)--它不会工作... 我需要的正是>=,该怎么做? 请帮助我解决这个问题。 提前感谢!!。 Vitaliy Andreischev 2011.09.22 11:15 #2006 我如何以编程方式计算一笔交易中涉及多少个货币对? 我试着搜索开放的订单。我在3个货币对上运行专家顾问。我在每个人身上得到了不同的结果。 在一个 - 3(正确),在第二个 - 2,在第三个 - 1。 我在2个货币对上试了一下。 在一个 - 2(正确),在第二个 - 1。如果不是因为下降的模式,我会认为我犯了一个错误 int val() { int kp=1; string x1="0",x2="0", x3="0", x4="0", x5="0", x6="0", x7="0", x8="0", x9="0", x10="0", x11="0", x12="0", x13="0", x14="0", x15="0", x16="0", x17="0", x18="0", x19="0", x20="0", x21="0", x22="0", x23="0", x24="0"; for (int i=OrdersTotal()-1; i>=0; i--) { if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break; if(OrderSymbol()==Symbol()) break; if(x9!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6!=OrderSymbol() && x7!=OrderSymbol() && x8!=OrderSymbol() && x9!=OrderSymbol() && x10=="0") {x10=OrderSymbol(); kp=11;} if(x8!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6!=OrderSymbol() && x7!=OrderSymbol() && x8!=OrderSymbol() && x9=="0") {x9=OrderSymbol(); kp=10;} if(x7!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6!=OrderSymbol() && x7!=OrderSymbol() && x8=="0") {x8=OrderSymbol(); kp=9;} if(x6!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6!=OrderSymbol() && x7=="0") {x7=OrderSymbol(); kp=8;} if(x5!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6=="0") {x6=OrderSymbol(); kp=7;} if(x4!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5=="0") {x5=OrderSymbol(); kp=6;} if(x3!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4=="0") {x4=OrderSymbol(); kp=5;} if(x2!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3=="0") {x3=OrderSymbol(); kp=4;} if(x1!="0" && x1!=OrderSymbol() && x2=="0") {x2=OrderSymbol(); kp=3;} if(x1=="0") {x1=OrderSymbol(); kp=2;} } return(kp); } [删除] 2011.09.22 11:16 #2007 skyjet: 在我的修改之后,它无法编译 :( 它说的是什么? noobys 2011.09.22 11:25 #2008 Figar0: 那么,它是怎么说的呢? 12个错误,12个警告。我一定是输入了错误的地段计算? Victor Nikolaev 2011.09.22 11:29 #2009 forexnew: 我如何以编程方式计算一笔交易中涉及多少个货币对? 我试着搜索开放的订单。我在3个货币对上运行专家顾问。我在每个人身上得到了不同的结果。 在一个 - 3(正确),在第二个 - 2,在第三个 - 1。 我在2个货币对上试了一下。 在一个 - 2(正确),在第二个 - 1。如果不是因为下降的模式,我会认为我犯了一个错误 或者,也许只是在EA的帮助下制定一个活跃工具的清单。这个方法有点复杂。有更简单的方法来做事情,不是吗? [删除] 2011.09.22 11:37 #2010 skyjet: 12个错误,12个警告。我一定是输入了错误的地段计算? 函数本身没有错误,可能是在试图使用它时发生了错误,但你没有向我们展示这一点。请发表一些不直接在文件中编译的东西,你就不需要猜了。 1...194195196197198199200201202203204205206207208...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你。根据直流电,数字是否需要改为4或5?
你不必改变它,你只需要根据货币的不同而采取。市场信息
谢谢你。是否需要将数字改为4或5,取决于DC?
只要留下数字,它就会自己适应。
尊敬的先生,您好
EA给出了一个错误,如果((Bid-OrderOpenPrice(),Digits)>=-60)代码130,给出了每一个新的tick并真正加载服务器...
如果我把它改为如果((pBid-NormalizeDouble(OrderOpenPrice(),Digits))==-60)--它不会工作...
我需要的正是>=,该怎么做?
请帮助我解决这个问题。
提前感谢!!。
我如何以编程方式计算一笔交易中涉及多少个货币对?
我试着搜索开放的订单。我在3个货币对上运行专家顾问。我在每个人身上得到了不同的结果。
在一个 - 3(正确),在第二个 - 2,在第三个 - 1。
我在2个货币对上试了一下。
在一个 - 2(正确),在第二个 - 1。如果不是因为下降的模式,我会认为我犯了一个错误
在我的修改之后,它无法编译 :(
它说的是什么?
那么,它是怎么说的呢?
我如何以编程方式计算一笔交易中涉及多少个货币对?
我试着搜索开放的订单。我在3个货币对上运行专家顾问。我在每个人身上得到了不同的结果。
在一个 - 3(正确),在第二个 - 2,在第三个 - 1。
我在2个货币对上试了一下。
在一个 - 2(正确),在第二个 - 1。如果不是因为下降的模式,我会认为我犯了一个错误
或者,也许只是在EA的帮助下制定一个活跃工具的清单。这个方法有点复杂。有更简单的方法来做事情,不是吗?
12个错误,12个警告。我一定是输入了错误的地段计算?
函数本身没有错误,可能是在试图使用它时发生了错误,但你没有向我们展示这一点。请发表一些不直接在文件中编译的东西,你就不需要猜了。