初学者的问题 MQL5 MT5 MetaTrader 5 - 页 898

 
Sile Si:

好吧,这就是我所做的。

然后我将交易ID与头寸代码进行比较,我想我已经选择了交易。

但它返回的是仓位的价格。为什么?

我脑海中的问题:你是否用

PositionGetDouble(POSITION_PRICE_OPEN)

你能得到交易的价格吗?还是说,仍然是仓位的价格?

 
Alexey Kozitsyn:

对你的询问的问题:借助于

你能得到交易价格吗?还是说,仍然是仓位的价格?

好吧,如果我已经预选了一个交易,那么它就是交易的价格。我在文件中找不到开盘价

 
Sile Si:

好吧,如果我预先选择了一个交易,那么这就是交易的价格。我在文件中找不到该交易的开盘价

你如何选择交易?什么功能?

毕竟,在MT5中没有琐碎的方法来确定交易(不是头寸)的开盘价。在特殊情况下,这是可能的(当一个由参数组成的交易与一个位置相吻合时),但没有普遍的方法。

 
Ihor Herasko:

你如何选择交易?什么功能?

毕竟,在MT5中没有琐碎的方法来确定交易(而不是头寸)的开盘价。在特殊情况下,这是可能的(当交易的参数与位置相吻合时),但没有普遍的方法。

按身份选择交易

交易_职位_ID

参与该交易的开仓、修改或平仓的头寸的标识符。每个头寸都有一个独特的标识符,它被分配给头寸有效期内在该符号上进行的所有交易。

 
Sile Si:

按身份选择的交易

交易_职位_ID

参与该交易的开仓、修改或平仓的头寸的标识符。每个头寸都有一个唯一的标识符,它被分配给在头寸有效期内对该工具进行的所有交易。


在测试器中,平均价格被认为是正确的。在真实账户中,它在评论中显示了别人的价格。

在净值化等账户上,头寸和交易是不同的概念。你刚刚向我们展示了位置选择。

 
我如何在mql5中找到 N条的最大值?与iHighest 相似
 
lil_lil:
在mql5中如何找到 N条的最大值?与iHighest相似

iHighest 有什么问题?

 
lil_lil:
在mql5中如何找到 N条的最大值?与iHighest相似

CopyHigh进入一个数组,ArrayMaximum 进入这个数组。

这将是最大的值,与iHighest 不同,iHighest 返回具有最大值的条形索引。

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyHigh
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyHigh
  • www.mql5.com
Функция получает в массив high_array исторические данные максимальных цен баров для указанной пары символ-период в указанном количестве. Необходимо отметить, что отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества...
 
lil_lil:
我如何在mql5中找到 N条的最大值?与iHighest相似
//+------------------------------------------------------------------+
//| Возвращает индекс максимального значения таймсерии High          |
//+------------------------------------------------------------------+
int Highest(const int count,const int start)
  {
   double array[];
   ArraySetAsSeries(array,true);
   return(CopyHigh(Symbol(),PERIOD_CURRENT,start,count,array)==count ? ArrayMaximum(array)+start : WRONG_VALUE);
  }
//+------------------------------------------------------------------+
//| Возвращает индекс минимального значения таймсерии Low            |
//+------------------------------------------------------------------+
int Lowest(const int count,const int start)
  {
   double array[];
   ArraySetAsSeries(array,true);
   return(CopyLow(Symbol(),PERIOD_CURRENT,start,count,array)==count ? ArrayMinimum(array)+start : WRONG_VALUE);
   return WRONG_VALUE;
  }
//+------------------------------------------------------------------+
 
谢谢你。