[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 17 1...101112131415161718192021222324...432 新评论 Vladimir Pastushak 2012.12.17 15:34 #161 嗨!问题是,如果我们只知道对象的描述,我们如何知道对象是否被手动删除。即对象有一个未知的名称,获利 被附加到对象上,如果对象被删除,删除获利,我们不知道对象的名称....。有什么办法可以改变对象的名称吗 ???? Konstantin Drozdov 2012.12.17 15:54 #162 请帮助我完善该EA!我希望它在信号出现时打开一个订单,在下一个订单出现时打开,以此类推,不管是否有未结订单。请告诉我什么是错的! m0=iMA(NULL,0,PeriodMA,0,MODE_SMA,PRICE_CLOSE,0); m1=iMA(NULL,0,PeriodMA,0,MODE_SMA,PRICE_CLOSE,1); lwma=iMA(NULL,0,PeriodLWMA,0,MODE_LWMA,PRICE_CLOSE,0); lwma1=iMA(NULL,0,PeriodLWMA,0,MODE_LWMA,PRICE_CLOSE,1); sar=iSAR(NULL,0,step,maximum,0); sar1=iSAR(NULL,0,step,maximum,1); //+------------------------------------------------------------------+ Lots=NormalizeDouble(AccountFreeMargin(),0)*MaxRisk/1000; if(Lots<0.01) return(Lot); //-------------------------------------------------------------------- balans=NormalizeDouble(AccountFreeMargin(),2); //-------------------------------------------------------------------- total=OrdersTotal(); if(OrdersTotal()>=0) { x=1; x++; //==========================Медленный================================== if( m1>lwma1 && m0<lwma && balans>0 && total<x) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+sl*Point,Ask-tp*Point,"0",Magik,0,Red); } if(ticket>0) { Alert("Продажа №",ticket,"\n",Symbol()); return(0); } //-------------------------------------------------------------------- if ( m1<lwma1 && m0>lwma && balans>0 && total<x) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-sl*Point,Bid+tp*Point,"0",Magik,0,Blue); } if(ticket>0) { Alert("Покупка № ",ticket,"\n",Symbol()); return(0); } //========================Быстрый===================================== if(sar1<Bid && sar>Ask && balans>0 && total<x) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+sl1*Point,Ask-tp1*Point,"0",Magik1,0,Red); return; } if(ticket>0) { Alert("Продажа №",ticket,"\n",Symbol()); return(0); } //--------------------------------------------------------------------- if(sar1>Ask && sar<Bid && balans>0 && total<x) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-sl1*Point,Bid+tp1*Point,"0",Magik1,0,Blue); } if(ticket>0) { Alert("Покупка №",ticket,"\n",Symbol()); return(0); } } elllfix 2012.12.17 16:53 #163 deadlock..... if(Ma_1>Ma_2 && flagg==0) {PlaySound("news.wav"); flagg=1; flag=0; }如果(Ma_1<Ma_2 && flag==0) {PlaySound("ok.wav"); flag=1; flagg=0; }打印(flag,flagg)。Ma_1 - 短 Ma_2 - 长当Ma_1>Ma_2不停地发出news.wav提示音,并打印出0 1(即flag=0 flagg=1)。但怎么可能当flagg=1时,条件(Ma_1>Ma_2 && flagg==0)被满足,{PlaySound("news.wav")通过? [删除] 2012.12.17 17:46 #164 大家好,我需要重新制作EA,使其在初始金额的某一百分比后关闭所有头寸,例如,如果没有开出订单,例如,requitty为1000,而requitty的%被设置为5%,所以它关闭所有requitty为1050的头寸,我使EA记录了一个全局变量,并且他有这个值来计算和关闭头寸,但是EA并不想关闭。我是这样做的,余额增加,我必须以5%的 "资产 "关闭一些头寸,但它不是1050,有时我必须再等一段时间,或者价格改变方向,我得到的是损失而不是利润,请知道和面临过全球变化的人提供帮助!"。!!非常感谢你的答复。 附加的文件: profitzvcdeoteecviti.mq4 3 kb Dimka-novitsek 2012.12.17 17:47 #165 晚上好!我是否正确理解,在 iStochastic 模式 我指的是K线还是D线?此外,0是K,1是D? Dimka-novitsek 2012.12.17 17:52 #166 再看看这样的一个变体,没有全局变量。if(Profit>AccountEquity( )*koefitsientudaleniya){ int Total=OrdersTotal(); for( i=OrdersTotal()-1;i>=0;i--){ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol() != Symbol()) continue; if (OrderMagicNumber() != 450) continue; if(OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,6,Red);Print(" i " , i," GetLastError()CloseOP_SELL ", GetLastError() );} if(OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,6,Red);Print(" i " , i," GetLastError()CloseOP_BUY ", GetLastError() );}}} и виличины, закрываем все ордера! //---- Dimka-novitsek 2012.12.17 17:59 #167 是的,在你改变泥浆之前,不应该有任何信号!!。算是吧...可能是看了整个代码!我不知道,它似乎没有显示... [删除] 2012.12.17 17:59 #168 我需要顾问在没有未结订单时记住eQuity值,例如1000,正如我写的%-5,当所有头寸关闭时,eQuity值是1050,我得到了它,所以一些订单被关闭,余额增加,但所有订单的利润是负的,顾问等待直到利润是+,然后关闭所有头寸。 [Deleted] 2012.12.17 18:05 #169 lottamer:deadlock..... if(Ma_1>Ma_2 && flagg==0) {PlaySound("news.wav"); flagg=1; flag=0; }如果(Ma_1<Ma_2 && flag==0) {PlaySound("ok.wav"); flag=1; flagg=0; }打印(flag,flagg)。Ma_1 - 短 Ma_2 - 长当Ma_1>Ma_2不停地发出news.wav提示音,并打印出0 1(即flag=0 flagg=1)。但是,当flagg=1时,条件(Ma_1>Ma_2 && flagg==0)被满足,{PlaySound("news.wav")通过,这怎么可能? 为每个条件分别打印标志的状态。你这样做是因为第二个旗子的状态在条件中没有被考虑进去。P.S.而且,打印出Print("flag=",flag, "flagg=",flagg) 更方便,以避免混淆。 Dimka-novitsek 2012.12.17 18:05 #170 这就是我在演示中的机器人的情况。我不太记得我是怎么想到要写这个的。如果(Profit>AccountBalance()*koefitsientudaleniya){ int Total=OrdersTotal(); for( i=OrdersTotal()-1;i>=0;i--){ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol( ) != Symbol()) 继续; if(OrderMagicNumber() != 450) continue; if(OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,6,Red) ;Print(" i ", i,"GetLastError()CloseOP_SELL", GetLastError());};}。 如果(OrderType()==OP_BUY){ OrderClose(OrderTicket(),OrderLots(),Bid,6,Red);Print(" i " ), i," GetLastError()CloseOP_BUY ", GetLastError());}}//如果利润超过我们指定的某个值,我们将关闭所有的订单!//---- 或者让我们的长者朋友建议我们......。 [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 编码帮助 [ARCHIVE]Any rookie question, so 1...101112131415161718192021222324...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
嗨!问题是,如果我们只知道对象的描述,我们如何知道对象是否被手动删除。即对象有一个未知的名称,获利 被附加到对象上,如果对象被删除,删除获利,我们不知道对象的名称....。
有什么办法可以改变对象的名称吗 ????
请帮助我完善该EA!我希望它在信号出现时打开一个订单,在下一个订单出现时打开,以此类推,不管是否有未结订单。
请告诉我什么是错的!
deadlock.....
if(Ma_1>Ma_2 && flagg==0) {PlaySound("news.wav"); flagg=1; flag=0; }
如果(Ma_1<Ma_2 && flag==0) {PlaySound("ok.wav"); flag=1; flagg=0; }
打印(flag,flagg)。
Ma_1 - 短
Ma_2 - 长
当Ma_1>Ma_2不停地发出news.wav提示音,并打印出0 1(即flag=0 flagg=1)。
但怎么可能当flagg=1时,条件(Ma_1>Ma_2 && flagg==0)被满足,{PlaySound("news.wav")通过?
再看看这样的一个变体,没有全局变量。
deadlock.....
if(Ma_1>Ma_2 && flagg==0) {PlaySound("news.wav"); flagg=1; flag=0; }
如果(Ma_1<Ma_2 && flag==0) {PlaySound("ok.wav"); flag=1; flagg=0; }
打印(flag,flagg)。
Ma_1 - 短
Ma_2 - 长
当Ma_1>Ma_2不停地发出news.wav提示音,并打印出0 1(即flag=0 flagg=1)。
但是,当flagg=1时,条件(Ma_1>Ma_2 && flagg==0)被满足,{PlaySound("news.wav")通过,这怎么可能?
为每个条件分别打印标志的状态。你这样做是因为第二个旗子的状态在条件中没有被考虑进去。
P.S.而且,打印出Print("flag=",flag, "flagg=",flagg) 更方便,以避免混淆。
这就是我在演示中的机器人的情况。我不太记得我是怎么想到要写这个的。
如果(Profit>AccountBalance()*koefitsientudaleniya){
int Total=OrdersTotal();
for( i=OrdersTotal()-1;i>=0;i--){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol( ) != Symbol()) 继续;
if(OrderMagicNumber() != 450) continue;
if(OrderType()==OP_SELL) {
OrderClose(OrderTicket(),OrderLots(),Ask,6,Red) ;Print(" i ", i,"GetLastError()CloseOP_SELL", GetLastError());};}。
如果(OrderType()==OP_BUY){
OrderClose(OrderTicket(),OrderLots(),Bid,6,Red);Print(" i " ), i," GetLastError()CloseOP_BUY ", GetLastError());}}//如果利润超过我们指定的某个值,我们将关闭所有的订单!
//----
或者让我们的长者朋友建议我们......。