初学者的问题 MQL4 MT4 MetaTrader 4 - 页 3

 
mila.com:

如何在一个循环中做这个检查?

你可以这样做

   for(BarCount=3; BarCount>0; BarCount--)
     {
      if(BufferPointUp[i+BarCount]!= EMPTY_VALUE)
         break;
     }
   if(BarCount==0) BufferPointUp[i]=high[i];
 
Taras Slobodyanik:

你可以这样做

谢谢你。

 
下午好!!!。你能告诉我如何在一个给定的范围内随机选择一个数字吗?有什么功能吗?
 
bobrush:
下午好!!!。你能告诉我如何在一个给定的范围内随机选择一个数字吗?有什么功能吗?
标准的是MathRand(),或者直接叫rand()。
 

这简直是胡扯,我已经把代码弄到这个状态了。

{
   Ticket=OrderSend(NULL,OP_BUY,Lot,Ask,slippage,0,0,NULL,magic,0,Blue);
   if(OrdersTotal()!=0)
   {
    for (int i = 0; i < OrdersTotal(); i++)
    {
     if(OrderSelect(i,SELECT_BY_POS)==true)
     {
      TP=NormalizeDouble(Bid+TakeProfit*Point,Digits);
      bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),TP,0,0);
     }
    }
     return;
   }

仍然没有TA。

 
Nickolay72:

TA仍未落实到位。

...当修改一个不正确的止损 时--日志应该写上 "禁用止损 "的错误。
 
Nickolay72:

这简直是胡扯,我已经把代码弄到这个状态了。

仍然没有TA。

既然有票,为何如此复杂?

Ticket=OrderSend(NULL,OP_BUY,Lot,Ask,slippage,0,0,NULL,magic,0,Blue);
//не забываем проверить код ошибки
if(Ticket<0Print("Ой, ошибочка: "_LastError);
TP=NormalizeDouble(Bid+TakeProfit*Point,Digits);

bool modify=OrderModify(Ticket,OrderOpenPrice(),OrderStopLoss(),TP,0);

//не забываем проверить код ошибки

if(!modify) Print("OOPS! Modify error: "_LastError);

 

你好,建议如何使用15分钟的时间框架制作一个EA,每20分钟检查一次数值,比如在9-20,9-40,然后是交叉RSI,如果在20分钟内越过该水平,检查价格数值。这就是我需要解决的问题。

if (Hour()==9 && (Minute() == 20) && (RSI<50))
Price2==Bid;
     {
      if (Hour()==9 && (Minute() == 40) && (Bid<Price2))
  
         {
          ticket=OrderSend(Symbol(),OP_SELL, Lts, Bid, SP,0,0, NULL, Magic, 0, Blue);
          return(0);
         }
    
     }    
 
strongflex:

你好,我怎样才能让我的EA使用15分钟的时间框架每20分钟 检查一次数值?

...你可以检查除法的余数,如果分钟除以20没有余数,那么就是下一个20分钟。

if (Minute()%20==0)
 
Taras Slobodyanik:

...你可以检查除法的余数,如果分钟被20除以没有余数,那么就是下一个20分钟。

if (Minute()%20==0)
我如何让EA记住执行条件时的价格,即在9-20 RSI越过水平,20分钟后检查价格。而我需要比较20分钟前和现在的价格
原因: