您现在的位置: 比特财富网 >> 财经 >  >> 外匯
EA編程教程大全之常用函數
外_匯_邦 WaiHuiBang.com

對於每個執行的MQL4程序,一定數量的變量設定可以輕松應對圖表中的價格狀態:

智能交易,腳本或者是客戶指標。www.emoneybtc.com.
 
資料應用到可變量的模型中來。
 
可以由預定義的變量分開處理。 

這些數據會在開啟後應用 RefreshRates()函數更新。  
 
Ask 
Bars 
Bid 
Close 
Digits 
High 
Low 
Open 
Point 
Time 
Volume 


Ask
double Ask

對於當前貨幣對的最新賣價格。使用RefreshRates()函數更新。

參見 MarketInfo(). 

示例:

  if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25)
    {
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,
              "My order #2",3,D'2005.10.10 12:30',Red);
    return;
    }
 
 
Bars
int Bars

返回圖表中的柱數。

參見 iBars(). 

示例:

  int counter=1;
  for(int i=1; i<=Bars; i++)
    {
    Print(關閉[i-1]);
    }
 
Bid
double Bid

對於當前貨幣對的最新買價格。使用RefreshRates()函數更新。

參見 MarketInfo(). 

示例:

  if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
    {
    OrderSend("EURUSD",OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,
              "My Order #2",3,D'2005.10.10 12:30',Red);
    return(0);
    }
  
Close
double Close[]

系列數組包含當前圖表每個柱的收盤價格。
 
系列數組元素被索引入倒序的定單,即從最後一個到第一個。. 當前最後一個柱在數組中的索引為0。圖表中的第一個柱的索引為Bars-1.
 
參見 iClose(). 

示例:

  int handle = FileOpen("file.csv", FILE_CSV|FILE_WRITE, ";");
  if(handle>0)
    {
    // 表格欄標題記錄
    FileWrite(handle, "Time;Open;High;Low;Close;Volume");
    // 數據記錄
    for(int i=0; i<Bars; i++)
      FileWrite(handle, Time, Open, High, Low, Close, Volume);
    FileClose(handle);
    }
 
 
Digits
int Digits

返回當前貨幣對的匯率小數位

參見 MarketInfo(). 

示例:

Print(DoubleToStr(Close[0], 小數位));
 
 
High
double High[]

系列數組包含當前圖表每個柱的最高價格。
 
系列數組元素被索引入倒序的定單,即從最後一個到第一個。. 當前最後一個柱在數組中的索引為0。圖表中的第一個柱的索引為 Bars-1.
 
參見 iHigh(). 

示例:

//---- 最大值
  i=Bars-KPeriod;
  if(counted_bars>KPeriod) i=Bars-counted_bars-1;
  while(i>=0)
    {
      double max=-1000000;
      k = i + KPeriod-1;
      while(k>=i)
        {
        price=High[k];
        if(max<price) max=price;
        k--;
        }
      HighesBuffer=max;
      i--;
    }
//----

Low
double Low[]

系列數組包含當前圖表每個柱的最低價格。
 
系列數組元素被索引入倒序的定單,即從最後一個到第一個。. 當前最後一個柱在數組中的索引為0。圖表中的第一個柱的索引為 Bars-1.
 
參見 iLow(). 

示例:

//---- 最小值
  i=Bars-KPeriod;
  if(counted_bars>KPeriod) i=Bars-counted_bars-1;
  while(i>=0)
    {
      double min=1000000;
      k = i + KPeriod-1;
      while(k>=i)
        {
        price=Low[k];
        if(min>price) min=price;
        k--;
        }
      LowesBuffer=min;
      i--;
    }
//----
  
Open
double Open[]

系列數組包含當前圖表每個柱的開盤價格。
 
系列數組元素被索引入倒序的定單,即從最後一個到第一個。. 當前最後一個柱在數組中的索引為0。圖表中的第一個柱的索引為Bars-1.
 
參見 iOpen(). 

示例:

  i = Bars - counted_bars - 1;
  while(i>=0)
    {
      double high  = High;
      double low  = Low;
      double open  = Open;
      double close = Close;
      AccumulationBuffer = (close-low) - (high-close);
      if(AccumulationBuffer != 0)
        {
        double diff = high - low;
        if(0==diff)
            AccumulationBuffer = 0;
        else
          {
            AccumulationBuffer /= diff;
            AccumulationBuffer *= Volume;
          }
        }
      if(i<Bars-1) AccumulationBuffer += AccumulationBuffer[i+1];
      i--;
    }
 
double Point

返回當前圖表的點值

參見 MarketInfo(). 

示例:

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point);
 
 
datetime Time
datetime Time[]

系列數組包含當前圖表的每個柱開盤時間。數據像日期時間一樣呈現時間,從1979年1月1日零點開始以秒計算。 
 
系列數組元素被索引入倒序的定單,即從最後一個到第一個。當前最後一個柱在數組中的索引為0。圖表中的第一個柱的索引為 Bars-1.
 
參見 iTime(). 

示例:

  for(i=Bars-2; i>=0; i--)
    {
      if(High[i+1] > LastHigh) LastHigh = High[i+1];
      if(Low[i+1] < LastLow)  LastLow  = Low[i+1];
      //----
      if(TimeDay(Time) != TimeDay(Time[i+1]))
        {
        P = (LastHigh + LastLow + Close[i+1])/3;
        R1 = P*2 - LastLow;
        S1 = P*2 - LastHigh;
        R2 = P + LastHigh - LastLow;
        S2 = P - (LastHigh - LastLow);
        R3 = P*2 + LastHigh - LastLow*2;
        S3 = P*2 - (LastHigh*2 - LastLow);
        LastLow  = Open;
        LastHigh = Open;
        }
      //----
      PBuffer  = P;
      S1Buffer = S1;
      R1Buffer = R1;
      S2Buffer = S2;
      R2Buffer = R2;
      S3Buffer = S3;
      R3Buffer = R3;
    }
 
Volume
double Volume[]

系列數組包含當前圖表每個柱替克成交量。
 
系列數組元素被索引入倒序的定單,即從最後一個到第一個。. 當前最後一個柱在數組中的索引為0。圖表中的第一個柱的索引為 Bars-1.
 
參見 iVolume(). 

示例:

      if(i==0 && time0<i_time+periodseconds)
        {
        d_volume += Volume[0];
        if(Low[0]<d_low)  d_low = Low[0];
        if(High[0]>d_high) d_high = High[0];
        d_close = Close[0];
        }
      last_fpos = FileTell(ExtHandle);
      last_volume = Volume;
      FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
      FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
      FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
      FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
      FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
      FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);

外_匯_邦 WaiHuiBang.com
  • 上一个财经:
    • 炒股經驗12要點

         (一)心態    一個要炒好股的人必須要有良好的心態,要有賺而不喜,虧而不憂的正確態度,不管你

    • 股票回調到位怎麼看?低點確認信號之一

      在股票市場中,股票如果處於下跌過程,那麼投資者最關注的就是股票價格有沒有完全回調到位了。觀察股票回調是否到位需要通過幾個方面來看,

    • 兩萬黃金期貨多少資金

        目前的市價來說,最少得2-3萬,一般正常投入都在10萬以上。     目前來說國內做期貨的很很少很少,主要還是因為存在現貨黃

    • 三美股份什麼時候上市?

      最佳答案: 三美股份4月2號上市,股票代碼603379,發行價32.43元,中簽率0.05%。已經中

    • 酒精消毒液可以帶上高鐵嗎?

      最佳答案: 不可以的,酒精消毒液濃度在70%~75%,屬於易燃易爆物品,是不可以帶上高鐵的,飛機和地

      風險提示:比特財富網的各種信息資料僅供參考,不構成任何投資建議,不對任何交易提供任何擔保,亦不構成任何邀約,不作為任何法律文件,投資人據此進行投資交易而產生的後果請自行承擔,本網站不承擔任何責任,理財有風險,投資需謹慎。
    比特財富網 版權所有 © www.emoneybtc.com