[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 1079 1...107210731074107510761077107810791080108110821083108410851086...1145 新评论 dzhini 2010.12.28 15:12 #10781 有些东西似乎没有发挥作用。请帮助。 这个想法是这样的:如果烛光大于某个值,那么就禁止进一步交易。 bool Trade=true。 //---------- start() {....... 如果(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1) CheckForOpen(); //--------open order if (no order is open) AND (candlestick is not bigger than) if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==-1) Trade=false; //--------- 设置Trade为 false,前提是(没有未结订单)和(蜡烛图大于)。 ......} //------- 贸易在CheckForOpen()函数中使用。 void CheckForOpen() //------------------- 检查条件和打开订单 {pos(191; if( Trade && A()==-1 && B()==-1) //------- 检查开放条件 { res=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,Ask+SL*Point,Bid-TP*Point,"",MAGICMA,0,Red); //--------- 如果条件得到满足,订单被打开。 trade=false; }//--------Trade被分配了一个贸易禁令值。而在这里,它是有效的。如果订单在接单时关闭,那么它就会等待新的确定条件的到来,尽管旧的条件仍然有效(之前,顾问连续打开订单)。 .........} //-------------------------- 检查蜡烛的高度 int CheckVolume() { double volume=High[1]-Low[1]; //-------measuring candlestick height. if (volume <= CandleVolume*Point) return (1); //---------- if candle is lower than if (volume > CandleVolume*Point) return (-1);//------------ if the candle is more than return(0);} 也试过版本,但没有效果。 空白启动()。 { ..... 如果(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1) CheckForOpen(); .....} ..... int CheckVolume() { double volume=High[1]-Low[1]; //-------,测量蜡烛的高度。 if (volume <= CandleVolume*Point) return (1); //---------- if candle is lower than if (volume > CandleVolume*Point) {Trade=false; return (-1);}//------------ if candle is higher than return(0);} [WARNING CLOSED!] Any newbie [ARCHIVE!] Any rookie question, Any rookie question, so Victor Nikolaev 2010.12.28 15:18 #10782 dzhini: 这是不可能的事。 也许我们应该先做一个指标 dzhini 2010.12.28 15:56 #10783 Vinin: 也许我们应该先做一个指标 而没有办法做到这一点? [删除] 2010.12.28 16:19 #10784 帮帮我吧!我怎样才能使打印出现一次,但在每一次打勾 时都有打印下降。 while(OrdersTotal() != 0 && OrderSelect(index, SELECT_BY_POS, MODE_TRADES)){ if(OrderType() == OP_BUY) { Print ("------- ",OrderSymbol()," "," BUY ",OrderLots()," trade was opened at ", OrderOpenPrice(),"; Stop loss:", OrderStopLoss(), "; Take profit:", OrderTakeProfit(), "; Ticket:", OrderTicket(),"; Open time:", OrderOpenTime()); return(0); } if(OrderType() == OP_SELL) { Print ("------- ",OrderSymbol()," "," SELL ",OrderLots()," trade was opened at ", OrderOpenPrice(),"; Stop loss:", OrderStopLoss(), "; Take profit:", OrderTakeProfit(), "; Ticket:", OrderTicket(),"; Open time:", OrderOpenTime()); } index++; --- 2010.12.28 16:22 #10785 itum: 帮帮我吧!我怎样才能使打印出现一次,但每次打勾时都会有打印掉落。 在开单的时候输出这个打印。 [删除] 2010.12.28 16:25 #10786 sergeev: 当订单被打开时,输出此打印。 我需要输出 已经被手动或其他EA打开的订单信息。 --- 2010.12.28 16:59 #10787 itum:我需要显示已经被手动或其他EA打开的现有订单的信息。 然后在屏幕上的评论中显示它们。评论 [删除] 2010.12.28 17:27 #10788 这个错误是什么?如果我从终端发送一个测试邮件,我得到一个错误 - 2010.12.28 18:23:55 邮件:530 5.7.0 必须先发出STARTTLS命令。 y1sm3265289fak.15 Victor Nikolaev 2010.12.28 17:35 #10789 dzhini: 而没有办法做到这一点? 当然,你可以,但该指标使你很容易直观地检查该算法 Владимир Тезис 2010.12.28 17:42 #10790 itum: 我需要显示已经被手动或其他EA打开的现有订单的信息。 另外,我们也可以做一个印刷品的计数器。我们声明一个整数变量。然后我们检查是否没有订单,我们将其设置为零。然后我们检查该变量是否等于零,市场上是否有订单,然后我们打印订单数据,并将该变量增加1。一旦订单被关闭,该变量将再次被设置为零。这意味着代码将等待至少一个订单的出现,并在日志中显示有关信息。 1...107210731074107510761077107810791080108110821083108410851086...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
有些东西似乎没有发挥作用。请帮助。
这个想法是这样的:如果烛光大于某个值,那么就禁止进一步交易。
bool Trade=true。
//---------- start()
{.......
如果(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1) CheckForOpen(); //--------open order if (no order is open) AND (candlestick is not bigger than)
if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==-1) Trade=false; //--------- 设置Trade为 false,前提是(没有未结订单)和(蜡烛图大于)。
......}
//------- 贸易在CheckForOpen()函数中使用。
void CheckForOpen() //------------------- 检查条件和打开订单
{pos(191;
if( Trade && A()==-1 && B()==-1) //------- 检查开放条件
{ res=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,Ask+SL*Point,Bid-TP*Point,"",MAGICMA,0,Red); //--------- 如果条件得到满足,订单被打开。
trade=false; }//--------Trade被分配了一个贸易禁令值。而在这里,它是有效的。如果订单在接单时关闭,那么它就会等待新的确定条件的到来,尽管旧的条件仍然有效(之前,顾问连续打开订单)。
.........}
//-------------------------- 检查蜡烛的高度
int CheckVolume()
{ double volume=High[1]-Low[1]; //-------measuring candlestick height.
if (volume <= CandleVolume*Point) return (1); //---------- if candle is lower than
if (volume > CandleVolume*Point) return (-1);//------------ if the candle is more than
return(0);}
也试过版本,但没有效果。
空白启动()。
{ .....
如果(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1) CheckForOpen();
.....}
.....
int CheckVolume()
{ double volume=High[1]-Low[1]; //-------,测量蜡烛的高度。
if (volume <= CandleVolume*Point) return (1); //---------- if candle is lower than
if (volume > CandleVolume*Point) {Trade=false; return (-1);}//------------ if candle is higher than
return(0);}
这是不可能的事。
也许我们应该先做一个指标
也许我们应该先做一个指标
帮帮我吧!我怎样才能使打印出现一次,但在每一次打勾 时都有打印下降。
帮帮我吧!我怎样才能使打印出现一次,但每次打勾时都会有打印掉落。
当订单被打开时,输出此打印。
我需要输出 已经被手动或其他EA打开的订单信息。
我需要显示已经被手动或其他EA打开的现有订单的信息。
这个错误是什么?如果我从终端发送一个测试邮件,我得到一个错误
- 2010.12.28 18:23:55 邮件:530 5.7.0 必须先发出STARTTLS命令。 y1sm3265289fak.15
而没有办法做到这一点?
当然,你可以,但该指标使你很容易直观地检查该算法
我需要显示已经被手动或其他EA打开的现有订单的信息。
另外,我们也可以做一个印刷品的计数器。我们声明一个整数变量。然后我们检查是否没有订单,我们将其设置为零。然后我们检查该变量是否等于零,市场上是否有订单,然后我们打印订单数据,并将该变量增加1。一旦订单被关闭,该变量将再次被设置为零。这意味着代码将等待至少一个订单的出现,并在日志中显示有关信息。