[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 803

 
Andrei01:
有没有办法知道图表垂直刻度上的价格限制来计算刻度(而不是仪器的价格,通过F8找到)?

doubleWindowPriceMin( int index=0)
doubleWindowPriceMax( int index=0)
 
Top2n:
你好,我正在策略测试器中运行专家顾问,但它没有开仓。在杂志上写着EURUSD,M5:OrderSend错误131。我不知道有多少次看到这个EA开仓,它没有再开一个仓。如果有人遇到过这样的问题,请告知。提前感谢


也许你没有正常化的地段,尝试通过使用:
将其恢复到正常。
doublenormalizeDouble( double value, int digits)
 
zhuki:
你可能没有一个正常化的地段,用正常化的方式。
doublenormalizeDouble( double value, int digits)
实际上,如果我没记错的话,他有一个准备好的地段正常化的功能...
考虑到所有可能的DT限制...
除非他不使用它...然后--哎哟...:)
 
zhuki:

doubleWindowPriceMin( int index=0)
doubleWindowPriceMax( int index=0)
谢谢你。有什么办法可以通过程序改变这一点吗?
 

论坛的人们,你们好。

我的祖父母告诉我这是蜜月日。祝大家节日快乐。

而我和我的...Drknn说有可能处理指标读数

是否有可能将某一时期的A/D和相同金额的OBV相加,然后将它们相除(分子中的OBV)。

分母是A/D+系数,输出到设置。

中间是零,边界是浮动的。

总和--没有总和。每个运动都按绝对值计算。

而我将给你一个关于犹太人的反转

 
祝大家好运!我如何使我的EA在买入或卖出的情况下,以不同的接管方式开出三个订单,并且只在一个蜡烛图上开一次。预先感谢!
 
Maniac:
祝大家好运!我如何使我的EA在买入或卖出的情况下,以不同的接管方式开出三个订单,并且只在一个蜡烛图上开一次。预先感谢!
我如何用不同的接收点做3个发送指令,或者将这个函数循环到3个(for或while),在每个迭代中使用不同的接收点。
 
sanyooooook:
用不同的目标进行3次发送,或将此函数循环到3次(for或while),每次迭代都有不同的目标。


用不同的点数做3个发送订单--将第一个订单打开三次:()

循环这个函数到3(for或while),每次迭代都有不同的取舍--打开一堆第一订单:(

如果不难显示如何做?

 
Maniac:


用不同的目标进行3个订单的发送--第一个订单开了三次:(

循环这个函数到3(for或while),每次迭代都有不同的取舍--打开一堆第一订单:(

如果不是太复杂,你能告诉我怎么做吗?

你是否统计过未完成的订单?
 
sanyooooook:
未结订单是否被计算在内?
extern double TakeProfit = 35;
extern double StopLoss   = 25;
extern double Lots       = 0.1;

int NumberOfBarOpenLastPos(string sym="", int tf=0, int op=-1, int mn=-1) {
  datetime oot;
  int      i, k=OrdersTotal();
 
  if (sym=="") sym=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sym) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (oot<OrderOpenTime()) oot=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sym, tf, oot, True));
}
int NumberOfBarCloseLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) {
  datetime t;
  int      i, k=OrdersHistoryTotal();

  if (sy=="" || sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) t=OrderCloseTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sy, tf, t, True));
}
int start()
  {
   
   int ticket;
   if(Bars<100)
     {
      Print("bars less than 100");
      return(0);  
     }
   if(TakeProfit<10)
     {
      Print("TakeProfit less than 10");
      return(0);
     }
   if ((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
     {
      
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }
      
      if(Bid>High[1])
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"test",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); 
        }
     
      if(Bid<Low[1])
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"test",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);
     }

  }


下面是一个EA的代码。你需要这样做。

1)他不是一次,而是一次开出三笔交易,止损25,接盘15、35、50。

2)在第二笔订单在取数(35)处被关闭后,最后一个位置(取数50)被传递到盈亏平衡水平