[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 417 1...410411412413414415416417418419420421422423424...652 新评论 [删除] 2011.12.09 05:06 #4161 你能做一个机器人,用小的止损点开 两边的手,并选择一个胜利的位置吗? 还是说这是一个幻想? DOCTORGAD 2011.12.09 05:21 #4162 颜色没问题... 问题是--我想从DC中 "隐藏SL",也就是说,不是用开放操作符来设置它,而是将它分配给专家内部的变量。 外来的双倍TrailingStop=25.0。 外来的双倍Lots=0.1。 .... 双重StopB。 ..... 如果(输入条件) { ticket=OrderSend(Symbol(,OP_BUY,Lots,Ask,3,0,0, "Buy EA",123,0,Green); StopB=Ask-TrailingStop*Lots; //hidestop < - 我的做法对吗? } ..... if(盈利退出条件|| Ask > StopB) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // 平仓 return(0); //退出 } 那我们在哪里写SL的退出条件呢?与利润结算条件一起使用"||"还是单独使用? [ARCHIVE] Any rookie question, [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 原始想法 [删除] 2011.12.09 05:47 #4163 日安!请告知如何正确使用iCustom功能,我想通过指标的颜色为交易创造条件,这是在一个单独的直方图窗口中绘制的。 color Oct_1=iCustom(NULL,0, "octava_1")。 If ( Oct_1==Green)....等。 当编译程序时,出现了一个错误,说"'绿'--变量未定义,这是什么原因? 如果能得到答复,我将非常感激)))。 [删除] 2011.12.09 05:56 #4164 问题删除,大写字母有一个含义)))) elmucon 2011.12.09 06:31 #4165 DOCTORS: 颜色没问题... 问题是--我想从经纪公司那里 "隐藏SL",也就是说,我不想用开盘操作符设置它们,而是将它们分配给专家内部的变量。 外来的双倍TrailingStop=25.0。 外来的双倍Lots=0.1。 .... double StopB; ..... 如果(输入条件) { ticket=OrderSend(Symbol(,OP_BUY,Lots,Ask,3,0,0, "Buy EA",123,0,Green); StopB=Ask-TrailingStop*Lots; //hidestop < - 我的做法对吗? } ..... if(盈利退出条件|| Ask > StopB){ OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // 平仓 return(0); //退出} 那我们在哪里写SL的退出条件呢?与利润结算条件一起使用"||"还是单独使用? 我不是专家,但我也在想同样的事情。我个人是这样写的(专业人员来了会纠正我)。 这一部分捡起一个未平仓的订单,并将止损和止盈值分配给变量 // +----------------------------------------------------------------------+ //------- : функция поиска открытых ордеров по символу графика, подхват и установки уровней стопа и профита double TradeSymbol() { int TotalTradeSymbol = 0; int SendGo = 0; total=OrdersTotal(); for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { if(OrderType()== OP_BUY) { if(StopLoss > 0 && Bid < OrderOpenPrice()) {sl = NormalizeDouble(OrderOpenPrice() - StopLoss*Point, Digits);} if(TakeProfit > 0) {tp = NormalizeDouble(OrderOpenPrice() + TakeProfit*Point, Digits);} } if(OrderType()== OP_SELL) { if(StopLoss > 0 && Ask > OrderOpenPrice()) {sl = NormalizeDouble(OrderOpenPrice() + StopLoss*Point, Digits);} if(TakeProfit > 0) {tp = NormalizeDouble(OrderOpenPrice() - TakeProfit*Point, Digits);} } if(OrderStopLoss() != sl){SendGo++;} if(OrderTakeProfit() != tp){SendGo++;} if(!UseVirtualTradeLevel && SendGo != 0) {OrderModify(OrderTicket(),OrderOpenPrice(),sl,tp,0,CLR_NONE);} TotalTradeSymbol++; } } return(TotalTradeSymbol); } // +----------------------------------------------------------------------+ 这一部分检查和关闭在采取 // +----------------------------------------------------------------------+ //------- : функция проверки тейкпрофита void CheckTakeProfit() { if(tp == 0)return(0); total=OrdersTotal(); for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { if(OrderType()== OP_BUY) { if(Bid > tp) { OrderClose(OrderTicket(), OrderLots(), Bid, SleepPage, Lime); if(UseSound)PlaySound("ok.wav"); } } if(OrderType()== OP_SELL) { if(Ask < tp) { OrderClose(OrderTicket(), OrderLots(), Ask, SleepPage, Lime); if(UseSound)PlaySound("ok.wav"); } } } } } // +----------------------------------------------------------------------+ 该部分在停止时检查并关闭 // +----------------------------------------------------------------------+ //------- : функция проверки стоплоса void CheckStopLoss() { if(sl == 0)return(0); total=OrdersTotal(); for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { if(OrderType()== OP_BUY) { if(Bid < sl) { OrderClose(OrderTicket(), OrderLots(), Bid, SleepPage, Blue); if(UseSound)PlaySound("ok.wav"); } } if(OrderType()== OP_SELL) { if(Ask > sl) { OrderClose(OrderTicket(), OrderLots(), Ask, SleepPage, Blue); if(UseSound)PlaySound("ok.wav"); } } } } } // +----------------------------------------------------------------------+ P.S.专业人士--不要嘲笑自学成才的人,也许可以有所不同,但对我来说是可行的....。 DOCTORGAD 2011.12.09 07:41 #4166 elmucon: 我不是专家,但我也在想同样的事情。我个人是这样写的(如果你是专家--纠正我)。 这一部分捡起一个未平仓的订单,并将止损和止盈值分配给变量 这一部分检查和关闭在采取 该部分在停止时检查并关闭 P.S.专业人士--不要嘲笑自学成才的人,也许可以有所不同,但对我来说是可行的....。 一切实际上都很好!唯一的一点是,在进入/离开时有几个奇怪的地方。嗯,而且这样的策略并不能避免滑坡。但是,非常感谢! asasusa 2011.12.09 08:00 #4167 我如何确定当前EA的时间框架? 如果时间框架是M1,我需要满足一个条件,如果时间框架是M5,我需要满足另一个条件。 PapaYozh 2011.12.09 08:02 #4168 sss2019:你能告诉我如何确定EA的当前时间框架吗?如果时间框架是M1,我需要满足一个条件,如果时间框架是M5,我需要满足另一个条件。 使用Period()函数 Всеволод 2011.12.09 08:06 #4169 sss2019: 我如何确定当前EA的时间框架? 如果时间框架是M1,我需要满足一个条件,如果时间框架是M5,我需要满足另一个条件。 if (Period()==1) return; //Условие минуток if (Period()==5) bool working=true; //Условие пятиминуток asasusa 2011.12.09 08:13 #4170 splxgf: 谢谢你。所以M1期对应的是数值1,M5期对应的是数值5,所以原来H1期对应的是60,H4期是240,对吗? 我需要这样的结构:当选择M1期时,情况是1,当选择M15期时,情况是15。这能行吗?还是必须按顺序进行案例1、案例2、案例3? switch(Period()) { case 1 : Ba = 60; case 5 : Ba = 12; case 15 : Ba = 4; case 30 : Ba = 2; case 60 : Ba = 1; } 1...410411412413414415416417418419420421422423424...652 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你能做一个机器人,用小的止损点开 两边的手,并选择一个胜利的位置吗? 还是说这是一个幻想?
颜色没问题...
问题是--我想从DC中 "隐藏SL",也就是说,不是用开放操作符来设置它,而是将它分配给专家内部的变量。
外来的双倍TrailingStop=25.0。
外来的双倍Lots=0.1。
....
双重StopB。
.....
如果(输入条件) {
ticket=OrderSend(Symbol(,OP_BUY,Lots,Ask,3,0,0, "Buy EA",123,0,Green);
StopB=Ask-TrailingStop*Lots; //hidestop < - 我的做法对吗?
}
.....
if(盈利退出条件|| Ask > StopB)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // 平仓
return(0); //退出
}
那我们在哪里写SL的退出条件呢?与利润结算条件一起使用"||"还是单独使用?
日安!请告知如何正确使用iCustom功能,我想通过指标的颜色为交易创造条件,这是在一个单独的直方图窗口中绘制的。
color Oct_1=iCustom(NULL,0, "octava_1")。
If ( Oct_1==Green)....等。
当编译程序时,出现了一个错误,说"'绿'--变量未定义,这是什么原因?
如果能得到答复,我将非常感激)))。
问题删除,大写字母有一个含义))))
颜色没问题...
问题是--我想从经纪公司那里 "隐藏SL",也就是说,我不想用开盘操作符设置它们,而是将它们分配给专家内部的变量。
外来的双倍TrailingStop=25.0。
外来的双倍Lots=0.1。
....
double StopB;
.....
如果(输入条件) {
ticket=OrderSend(Symbol(,OP_BUY,Lots,Ask,3,0,0, "Buy EA",123,0,Green);
StopB=Ask-TrailingStop*Lots; //hidestop < - 我的做法对吗?
}
.....
if(盈利退出条件|| Ask > StopB)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // 平仓
return(0); //退出
}
那我们在哪里写SL的退出条件呢?与利润结算条件一起使用"||"还是单独使用?
我不是专家,但我也在想同样的事情。我个人是这样写的(专业人员来了会纠正我)。
这一部分捡起一个未平仓的订单,并将止损和止盈值分配给变量
这一部分检查和关闭在采取
该部分在停止时检查并关闭
P.S.专业人士--不要嘲笑自学成才的人,也许可以有所不同,但对我来说是可行的....。
我不是专家,但我也在想同样的事情。我个人是这样写的(如果你是专家--纠正我)。
这一部分捡起一个未平仓的订单,并将止损和止盈值分配给变量
这一部分检查和关闭在采取
该部分在停止时检查并关闭
P.S.专业人士--不要嘲笑自学成才的人,也许可以有所不同,但对我来说是可行的....。
我如何确定当前EA的时间框架?
如果时间框架是M1,我需要满足一个条件,如果时间框架是M5,我需要满足另一个条件。
你能告诉我如何确定EA的当前时间框架吗?
如果时间框架是M1,我需要满足一个条件,如果时间框架是M5,我需要满足另一个条件。
使用Period()函数
我如何确定当前EA的时间框架?
如果时间框架是M1,我需要满足一个条件,如果时间框架是M5,我需要满足另一个条件。
谢谢你。所以M1期对应的是数值1,M5期对应的是数值5,所以原来H1期对应的是60,H4期是240,对吗?
我需要这样的结构:当选择M1期时,情况是1,当选择M15期时,情况是15。这能行吗?还是必须按顺序进行案例1、案例2、案例3?