[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 3 12345678910...1145 新评论 Олег 2009.02.09 21:25 #21 oops :-) 谢谢你 Константин Скворцов 2009.02.10 07:50 #22 鉴赏家们好!这是一个EA。它在一个分形上/下开了一个头寸。我如何使止损点从分形的顶部高5点(如果买入)和低5点(如果卖出)? P_up0=iCustom(0,0,"Ценовой канал", Chperiod,0,0); P_down0=iCustom(0,0,"Ценовой канал", Chperiod,1,0); P_up1=iCustom(0,0,"Ценовой канал", Chperiod,0,1); P_down1=iCustom(0,0,"Ценовой канал", Chperiod,1,1); Up=iCustom(0,0,"olyakish_fractals_02(для Skonti)",15,150,"Процент для отсеивания по объему",110,1,3); Down=iCustom(0,0,"olyakish_fractals_02(для Skonti)",15,150,"Процент для отсеивания по объему",110,3,3); //задали все данные total=OrdersTotal(); if( total<1) { // Проверка свободной маржи if(AccountFreeMargin()<(1000* Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } // Условие открытие позиции BUY if( Up> Down) { Lots= GetSizeLot(); ticket=OrderSend(Symbol(),OP_BUY, Lots,Ask,3,0,0,"",16384,0,Green); if( ticket>0) { if(OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } // Условие открытие позиции SELL if( Up< Down) { Lots= GetSizeLot(); ticket=OrderSend(Symbol(),OP_SELL, Lots,Bid,3,0,0,"",16384,0,Red); if( ticket>0) { if(OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()); return(0); } return(0); } for( cnt=0; cnt< total; cnt++) { OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) // длинная позиция открыта { // условие закрытие длинной позиции if( P_down1> P_down0|| Up< Down) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return(0); } if( TrailingStop>0) { if(Bid-OrderOpenPrice()>Point* TrailingStop) { if(OrderStopLoss()<Bid-Point* TrailingStop && OrderStopLoss()!=OrderOpenPrice()+ X*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+ X*Point,OrderTakeProfit(),0,Green); return(0); } } } } else { // условие закрытия короткой позиции if( P_up1< P_up0|| Up> Down) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); return(0); } if( TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point* TrailingStop)) { if(NormalizeDouble(OrderStopLoss(),Digits) != NormalizeDouble(OrderOpenPrice()- X*Point,Digits)) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()- X*Point,OrderTakeProfit(),0,Red); return(0); } } } } } } return(0); }我在这里使用了价格通道。// условие закрытия короткой позиции if( P_up1< P_up0|| Up> Down) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); return(0); } и // условие закрытие длинной позиции if( P_down1> P_down0|| Up< Down) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return(0); }我很难确定开仓时分形的L或H! 大概是这样的!!!?if (NormalizeDouble (MathAbs (High [ i]-5),Digits) < Price) Aleksandr Pak 2009.02.10 08:39 #23 哪种乐器的价格是=5?if (NormalizeDouble (MathAbs (High [ i]-5),Digits) < Price) 所以要乘以最下位数的价格 5*Point Константин Скворцов 2009.02.10 08:49 #24 这是我犯的一个错误。谢谢。 关于如何设置 分形的顶部,该位置被打开???? Aleksandr Pak 2009.02.10 09:10 #25 所有问题都是通过实验解决的--写一个脚本,运行它。 - 我们看到标准的iFractals()有以下区别 1.由分形指数组成的指标正好等于高/低点 2.不存在的分形值==0 int i; double f; for( i=0; i<50; i++) { f=iFractals(NULL,0,MODE_UPPER, i); if( f!=0) break;} Alert(f," ",High[i]," i=",i); P.S. 从这个周期的位置往回看,在开仓的那一刻,请记住 datetime timeFractalOnOpenPos=Time[i] Константин Скворцов 2009.02.10 10:06 #26 我不明白如何在EA中显示这一点。当开仓时,记住这个分形,然后如何在平仓条件下调用它? Aleksandr Pak 2009.02.10 10:38 #27 它不清楚什么是呼叫的意思。 在程序的全局变量中 -记住条形分形的时间来开仓。 利用条形的时间,我们通过iBars()知道条形的编号。 -记住分形的价格 记住分形价格--记住上涨/下跌 然后再一次做什么? Константин Скворцов 2009.02.10 11:07 #28 也许我没有这样说,我只是不知道如何编码。 Aleksandr Pak 2009.02.10 11:09 #29 有多少个订单,每一方有哪些订单? Aleksandr Pak 2009.02.10 11:25 #30 所有区块以上 double UfractalBuy,LfractalBuy; 在开立买单时写下最近的分形 int i; double f; if( ticket>0) { if(OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print("BUY order opened : ",OrderOpenPrice()); for( i=0; i<50; i++) { f=iFractals(NULL,0,MODE_UPPER, i); if( f!=0) break;} UfractalBuy=High[ i]; for( i=0; i<50; i++) { f=iFractals(NULL,0,MODE_LOWER, i); if( f!=0) break;} LfractalBuy=Low[ i]; } } 为买入订单输入另一个条件 if(P_down1>P_down0||Up<Down||Close[0]+5*Point<LfractalBuy) 12345678910...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
oops :-)
谢谢你
鉴赏家们好!
这是一个EA。它在一个分形上/下开了一个头寸。我如何使止损点从分形的顶部高5点(如果买入)和低5点(如果卖出)?
我在这里使用了价格通道。
и我很难确定开仓时分形的L或H!
大概是这样的!!!?
所以要乘以最下位数的价格
这是我犯的一个错误。谢谢。
关于如何设置 分形的顶部,该位置被打开????
- 我们看到标准的iFractals()有以下区别
1.由分形指数组成的指标正好等于高/低点
2.不存在的分形值==0
P.S. 从这个周期的位置往回看,在开仓的那一刻,请记住
在程序的全局变量中
-记住条形分形的时间来开仓。 利用条形的时间,我们通过iBars()知道条形的编号。
-记住分形的价格
记住分形价格--记住上涨/下跌
然后再一次做什么?
所有区块以上
在开立买单时写下最近的分形
为买入订单输入另一个条件