编码帮助 - 页 706

 
lea26:

嗨,Mladen,我已经下载了你的

stepma_pdf_4_4.ex4以及histgram。

将它们复制到MT4中。把它们钻到图表窗口中

我得到以下信息,请看图片。

你能告诉我如何使用你的指标吗?


李亚


ps. 同样的情况发生在: averages_-_mtf__alerts_7_4.ex4和直方图上。

使用这些:

附加的文件:
 
mladen:

使用这些:

再次感谢您!当你有一些空闲时间......希望你喜欢鱼。


李亚

 
lea26:

当你有一些空闲时间......希望你喜欢鱼。


李亚

哪一种鱼,在附近躺着的?
 

你好,Mladen先生。

请更新它

注意

附加的文件:
 
bilbao:

你好,Mladen先生。

请更新它

注意

现在就试试。

附加的文件:
 
mntiwana:

现在就去试试。

认可
 
mntiwana:
哪条鱼在附近躺着?
美人鱼
 
mladen:

你在同一时间只开了一个订单(我指的是同一个魔术,符号)吗?

如果是的话,那就可以了。

嗨,Mladen。

谢谢您的建议。是的,该EA将只交易一个头寸。

我将执行该代码并进行一些测试。

祝您有一个愉快的一周。

 

嗨---



祝大家好运

 
tfi_markets:

尊敬的专业编码人员。

我想在我的EA中实现 "每天四次交易 "的功能。如果达到最大交易限额

达到最大交易限额,EA应该等到第二天再继续交易。

我想知道是否有人能审查我的代码,我在这里有点 "脑震荡"...;-)

请先谢谢您!

extern int    MaxShortTrades   = 2;
extern int    MaxLongTrades    = 2;

// Count Trades per Day.

   int y;
   int totalOrders = 4;
   datetime toT; // Time of Trade
   datetime doT; // Day of Trade
   datetime now = TimeCurrent();
   datetime boD=now-now%86400; // Beginning of day

   for(y=0;y<totalOrders; y++)
     {

      if(OrderSelect(y,SELECT_BY_POS,MODE_HISTORY))
        {
         toT=OrderOpenTime(); // Time of Trade
         doT=toT-toT%86400; // Day of Trade.
         if(doT==boD)
           { // Time of Trade within Current Day.

            for(j=OrdersTotal()-1;j>=0; j--)
              {
               if(OrderType()==OP_BUY)  totalOrders++;  // Check # of long trades.
               if(OrderType()==OP_SELL) totalOrders++; // Check # of short trades
              }

           }
        }
     }

   if(totalOrders<MaxLongTrades  &&  Indicator_LONG_signal) Order=SIGNAL_BUY;
   if(totalOrders<MaxShortTrades && Indicator_SHORT_signal) Order=SIGNAL_SELL;

为了检查 历史记录(在当前日期关闭的订单)和已开立的订单,请尝试这样做。

   datetime today = StringToTime(TimeToString(TimeCurrent(),TIME_DATE));
   int totalOrdersLong  = 0, totalOrdersShort = 0;  
      for(int y=OrdersHistoryTotal()-1;y>=0; y--)
      {
         if (OrderSelect(y,SELECT_BY_POS,MODE_HISTORY))
         if (OrderCloseTime()>=today)
         {
            if (OrderType()==OP_BUY)   totalOrdersLong++;
            if (OrderType()==OP_SELL)  totalOrdersShort++;
         }        
      }
      for(int y=OrdersTotal()-1;y>=0; y--)
      {
         if (OrderSelect(y,SELECT_BY_POS,MODE_TRADES))
         if (OrderOpenTime()>=today)
         {
            if (OrderType()==OP_BUY)   totalOrdersLong++;
            if (OrderType()==OP_SELL)  totalOrdersShort++;
         }        
      }

   if(totalOrdersLong <MaxLongTrades  && Indicator_LONG_signal) Order=SIGNAL_BUY;
   if(totalOrdersShort<MaxShortTrades && Indicator_SHORT_signal) Order=SIGNAL_SELL;