任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 371 1...364365366367368369370371372373374375376377378...1178 新评论 [删除] 2013.12.26 07:19 #3701 SpikeOne: 我似乎发现了一个错误=),在初始数据中,订单之间的步长被设置为int,而我把1.7,我把它改成了双倍,它工作得很好=) 嗯,你好)))),当你发现一个错误时,你会意识到一切都比你想象的要简单) SpikeOne91 2013.12.26 07:20 #3702 Ekburg: 那么我就没有帮助了)需要通过整个顾问。 我已经把所有的东西都改成了双倍,现在工作正常了,我需要测试一下其他的点=)如果我使EA获得了很好的利润,如果有必要,我可以把它张贴出来=) 我会忘记问题是什么,因为我不明白为什么它不能正常工作,我很高兴我没有!) [删除] 2013.12.26 07:27 #3703 SpikeOne: 我已经把所有的东西都改成了双倍,现在工作得很好,我需要测试一下其他的点=)如果我让EA正常盈利,如果有必要,我可以把它贴出来=) 否则我真想把它忘掉,我不知道为什么没能如愿以偿=)我很高兴我没有忘记它。) 你可以,为什么不呢) 不客气)。 路要走,我也是,一开始也有这样的时刻,头疼,但是当你解决问题的时候,有一种满足感,这种感觉是无价的))。 forexman77 2013.12.26 09:30 #3704 信号1之后的时间必须被记录下来,在信号2到来之前不能改变,在等待信号2的过程中,信号1会反复出现,但从第一次收到信号1开始,时间必须保持不变。 [删除] 2013.12.26 09:42 #3705 Forexman77: 信号1之后的时间必须被记录下来,在信号2到来之前不能改变,在等待信号2的过程中,信号1会反复出现,但从第一次收到信号1开始,时间必须保持不变。 int sm; datetime data; if(sm==0) if(сигнал1==true) data=TimeLocal(); sm=1; if(sm==1) if(сигнал2==true) data=TimeLocal(); SpikeOne91 2013.12.26 09:57 #3706 extern bool test=false; // откл объектов при тесте extern int prof=4; // уровень профита extern int chag=3; // шаг между ордерами extern int risk=0; //уровень риска extern double lot = 0.01; // начальный лот extern double k_lot=2; // увеличение объема extern double lot_max=100; // максимальный лот //=====================================================// int kn=20; // величина вертикальной шкалы int magic = 37649; extern double BeginHour =3; bool result; bool fail=false; double gg=0; int k,c,b_ind,s_ind,objtot,er; double buy_prs,sel_prs,buy_ind,sel_ind,or_bu,or_sl,prf_b,prf_s,b_pr,s_pr,b2_cls,s2_cls; string nh; //нннннннннннннннннннннннннннн// int init() { //---- if(Digits==2) k=1; if(Digits==3) k=10; if(Digits==4) k=1; if(Digits==5) k=10; nh=StringSubstr(Symbol(),2,2); if(!IsTesting()){ buy_prs=GlobalVariableGet(nh+"_buy_prs"); buy_ind=GlobalVariableGet(nh+"_buy_ind"); sel_prs=GlobalVariableGet(nh+"_sel_prs"); sel_ind=GlobalVariableGet(nh+"_sel_ind");} c=0; chag=chag*k; prof=prof*k; //нннннннннннннннннннннннннннн// return(0); } //============================================// int start() { //---- int i,y,tick_s,tick_b,tick_slm,tick_blm; double prov,price_b,price_s,prof_b,prof_s,lot_b,lot_s,b_cls,s_cls,abc; bool mod_b=false,mod_s=false; //=================// if(Bars-c>1) c=0; i=Bars-c; c=Bars; //==================================// if(!IsTesting()){for(y=0;y<OrdersTotal();y++) {OrderSelect(y,0,0); if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=magic||(OrderType()!=0&&OrderType()!=1)) continue; prov=prov+OrderProfit()+OrderSwap()+OrderCommission();} if(prov<0&&prov<GlobalVariableGet(nh+"_max_prov"))GlobalVariableSet(nh+"_max_prov",prov);} //=================================================// for (y=0;y<OrdersTotal();y++){OrderSelect(y,0); if(Symbol()!=OrderSymbol()||OrderMagicNumber()!=magic) continue; if (OrderType() == 0 || OrderType() == 1) abc=abc + OrderProfit() + OrderSwap() + OrderCommission(); if(OrderType()==0){if(prf_b!=OrderTakeProfit() && prf_b!=0) mod_b=true; prf_b=OrderTakeProfit();} if(OrderType()==OP_BUY && tick_b<OrderTicket()) { tick_b=OrderTicket(); price_b=OrderOpenPrice(); lot_b=OrderLots(); prof_b=OrderTakeProfit();} if(OrderType()==1){if(prf_s!=OrderTakeProfit() && prf_s!=0) mod_s=true; prf_s=OrderTakeProfit();} if(OrderType()==OP_SELL && tick_s<OrderTicket()) { tick_s=OrderTicket(); price_s=OrderOpenPrice(); lot_s=OrderLots(); prof_s=OrderTakeProfit();} if (OrderType()==OP_BUYLIMIT) tick_blm = OrderTicket(); if (OrderType()==OP_SELLLIMIT) tick_slm = OrderTicket();} //=====================================================// if(Ask>buy_prs && or_bu<=0) {buy_prs=Ask; buy_ind=Ask;} if((Ask<buy_prs && Ask<buy_ind) || buy_ind==0) buy_ind=Ask; b_cls=buy_ind+MathFloor(prof+chag/2)*Point; or_bu=MathFloor((buy_prs-buy_ind)/Point/chag); if(Bid>=b_cls && or_bu>0){buy_prs=Ask; buy_ind=Ask; or_bu=0;} if(tick_b==0 && b_ind>0){buy_prs=Ask; buy_ind=Ask; or_bu=0;} if((Bid<sel_prs||sel_prs==0) && or_sl<=0) {sel_prs=Bid; sel_ind=Bid;} if(Bid>sel_prs && Bid>sel_ind) sel_ind=Bid; s_cls=sel_ind-MathFloor(prof+chag/2)*Point; or_sl=MathFloor((sel_ind-sel_prs)/Point/chag); if(Ask<=s_cls && or_sl>0){sel_prs=Bid; sel_ind=Bid; or_sl=0;} if(tick_s==0 && s_ind>0) {sel_prs=Bid; sel_ind=Bid; or_sl=0;} if(!IsTesting()){ GlobalVariableSet(nh+"_buy_prs",buy_prs); GlobalVariableSet(nh+"_buy_ind",buy_ind); GlobalVariableSet(nh+"_sel_prs",sel_prs); GlobalVariableSet(nh+"_sel_ind",sel_ind);} //=============================== if(tick_b==0 && tick_blm!=0) OrderDelete(tick_blm); if(tick_s==0 && tick_slm!=0) OrderDelete(tick_slm); if (AccountBalance()>gg) { gg= AccountBalance(); } if(Hour() >= BeginHour ) { if ( AccountEquity()>=gg) { //if(AccountEquity()>=740) // { for(int zx=OrdersTotal(); zx+1>=0; zx--) { if(OrderSelect(zx,SELECT_BY_POS,MODE_TRADES)==true) OrderDelete(OrderTicket()); } while (OrdersTotal()>0) { if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) { if(OrderType()==OP_BUY) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE); if(OrderType()==OP_SELL) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE); if (OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket()); if(result!=TRUE) { er=GetLastError(); Print("LastError = ",er, " ",Symbol()); } else er=0; } else Print( "Error when order select ", GetLastError()); } if(OrdersTotal()==0) fail=true; } } if(fail==true) return(0); if(or_bu==risk && tick_b==0) open(0); if(or_sl==risk && tick_s==0) open(1); 这里是一般的代码,它被插入到开头和整个部分,直到我下面给出的地方,这里是专家顾问本身,你应该在其中插入开头https://www.mql5.com/ru/code。 你在晚上00:00左右开始,它一直交易到某个时间,之后它关闭交易和EA。 if(or_bu==risk && tick_b==0) open(0); if(or_sl==risk && tick_s==0) open(1); forexman77 2013.12.26 10:05 #3707 Ekburg: 它需要更复杂一点。一个变量依赖于信号1,所以只要没有信号2,信号1使用的数据就会被更新,改变这个变量,但我需要这个变量改变一次。只有在信号2之后才对变量进行后续修改。 简而言之,开关1被触发,触发一个,其他都没有变化,直到开关2被触发。 但是,由于开关1使用了某些数据来开启,它将再次处理,你只需要做一次。 [删除] 2013.12.26 10:05 #3708 SpikeOne: 这里是一般的代码,它被插入到开头和整个部分,直到我下面给出的地方,这里是专家顾问本身,你应该在其中插入开头https://www.mql5.com/ru/code。 你在晚上00:00左右开始,它一直交易到某个时间,之后它关闭交易和EA。 所以呢?"这有用吗?) [删除] 2013.12.26 10:07 #3709 Forexman77: 它需要更复杂一点。一个变量依赖于信号1,所以只要没有信号2,信号1使用的数据就会被更新,改变这个变量,但我需要这个变量改变一次。只有在信号2之后才对变量进行后续修改。 简而言之,开关1被触发,触发一个,其他都没有变化,直到开关2被触发。 但是,由于开关1使用了某些数据来开启,它将再次处理,你只需要做一次。 我已经给了你基础知识,你自己去做吧!你为什么这么懒......正如你描述的那样,所以我写了,甚至没有说谢谢;) forexman77 2013.12.26 10:12 #3710 Ekburg: 我给了你基本的东西,你自己去做吧!你为什么这么懒......我按照你的描述写的,你甚至没有说谢谢;) 谢谢!说实话,我自己也知道这些基本知识) 1...364365366367368369370371372373374375376377378...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我似乎发现了一个错误=),在初始数据中,订单之间的步长被设置为int,而我把1.7,我把它改成了双倍,它工作得很好=)
嗯,你好)))),当你发现一个错误时,你会意识到一切都比你想象的要简单)
那么我就没有帮助了)需要通过整个顾问。
我已经把所有的东西都改成了双倍,现在工作正常了,我需要测试一下其他的点=)如果我使EA获得了很好的利润,如果有必要,我可以把它张贴出来=)
我会忘记问题是什么,因为我不明白为什么它不能正常工作,我很高兴我没有!)
我已经把所有的东西都改成了双倍,现在工作得很好,我需要测试一下其他的点=)如果我让EA正常盈利,如果有必要,我可以把它贴出来=)
否则我真想把它忘掉,我不知道为什么没能如愿以偿=)我很高兴我没有忘记它。)
你可以,为什么不呢)
不客气)。
路要走,我也是,一开始也有这样的时刻,头疼,但是当你解决问题的时候,有一种满足感,这种感觉是无价的))。
信号1之后的时间必须被记录下来,在信号2到来之前不能改变,在等待信号2的过程中,信号1会反复出现,但从第一次收到信号1开始,时间必须保持不变。
这里是一般的代码,它被插入到开头和整个部分,直到我下面给出的地方,这里是专家顾问本身,你应该在其中插入开头https://www.mql5.com/ru/code。
你在晚上00:00左右开始,它一直交易到某个时间,之后它关闭交易和EA。
它需要更复杂一点。一个变量依赖于信号1,所以只要没有信号2,信号1使用的数据就会被更新,改变这个变量,但我需要这个变量改变一次。只有在信号2之后才对变量进行后续修改。 简而言之,开关1被触发,触发一个,其他都没有变化,直到开关2被触发。 但是,由于开关1使用了某些数据来开启,它将再次处理,你只需要做一次。
这里是一般的代码,它被插入到开头和整个部分,直到我下面给出的地方,这里是专家顾问本身,你应该在其中插入开头https://www.mql5.com/ru/code。
你在晚上00:00左右开始,它一直交易到某个时间,之后它关闭交易和EA。
所以呢?"这有用吗?)
它需要更复杂一点。一个变量依赖于信号1,所以只要没有信号2,信号1使用的数据就会被更新,改变这个变量,但我需要这个变量改变一次。只有在信号2之后才对变量进行后续修改。 简而言之,开关1被触发,触发一个,其他都没有变化,直到开关2被触发。 但是,由于开关1使用了某些数据来开启,它将再次处理,你只需要做一次。
我已经给了你基础知识,你自己去做吧!你为什么这么懒......正如你描述的那样,所以我写了,甚至没有说谢谢;)
我给了你基本的东西,你自己去做吧!你为什么这么懒......我按照你的描述写的,你甚至没有说谢谢;)