close

struct MqlRates 結構

此結構存儲有關歷史價格,數量和價差的信息

struct MqlRates

datetime time; 周期開始時間

double   open; 開盤價

double   high; 周期最高價

double   low; 周期最低價

double   close; 收盤價

long     tick_volume; 訂單交易量

int      spread; 點差

long     real_volume; 交易量

 

以下範例,將使用AUD/USD來演譯,例如:
 

AUD/USD在6/3的開盤價為0.74397,6/2為0.73862,6/2為0.74368。

欲取得商品之歷史資料,及計算三日開盤價之平均價(0.74209),可透過CopyRates 函數來完成。

 

CopyRates函數說明如下

獲得指定交易商品周期的特定MqlRates結構到rates_array陣列中。

MqlRates01.jpg

 

範列程式碼

MqlRates.jpg

void OnTick()
  {
//---
  CalcAvg();
  
  }
//+------------------------------------------------------------------+

void CalcAvg (void)
 {
  
  MqlRates rates[]; 
  
  double Avg=0;
  
  int copied = CopyRates(Symbol(),0,1,3,rates);//獲取指定數量的指定符號周期的MqlRates結構的歷史數據到rates_array數組
  
  //商品名稱,期間,開始位置,要復制的數據計數,要復制的目標數組 
  
  int totalk = fmin (copied,10);//獲取數量若超過10,則僅計算10
  
  for (int i = 0; i <totalk; i ++)//計算總數之開盤價並計算平均值
  {
    Avg += rates[i].open;//將開盤價累加至Avg變數中   
  }
    Print(Avg/totalk);//印出平均值    
 }

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 興小弟讀書筆記 的頭像
    興小弟讀書筆記

    興小弟讀書筆記

    興小弟讀書筆記 發表在 痞客邦 留言(0) 人氣()