如何獲得MT5指定時間周期的開盤價、收盤價、最高價、最低價? [MT4]
作者:
MT4 來源:
cxh99.com 發布時間:2012年05月25日 點擊數:
【
收藏到本網的會員中心】
- 這個問題要是在MT4里,簡直是基礎的不能再基礎的東西了,但是到了MT5里,卻是異常的復雜。
要分兩種情況:
1 在編寫指標里:
是作為OnCalculate的參數帶來的如下代碼:
復制代碼-
- int OnCalculate (const int rates_total,
- const int prev_calculated,
- const datetime& time[], // Time
- const double& open[], // Open
- const double& high[], // High
- const double& low[], // Low
- const double& close[], // Close
- const long& tick_volume[], // Tick Volume
- const long& volume[], // Real Volume
- const int& spread[] // Spread
- );
2 在EA里確實異常的復雜:
首先我做了如下測試:
復制代碼-
- void OnTick()
- {
- double open,close,low,high;
- int Spread;
- open=SymbolInfoDouble(Symbol(),SYMBOL_ASK);//得到當前的ask價格
- close=SymbolInfoDouble(Symbol(),SYMBOL_BID);//得到當前的bid價格
- low=SymbolInfoDouble(Symbol(),SYMBOL_BIDLOW);//注意這里沒有時間段參數,這里得到的是一天的最低價。
- high=SymbolInfoDouble(Symbol(),SYMBOL_BIDHIGH);//注意這里沒有時間段參數,這里得到的是一天的最高價。
- }
找了半天SymbolInfoDouble這個函數根本不能實現得到指定時間周期的open close low high 價格。
后來我終于找到了解決方法,如下:
如果系統沒有提供如何獲得指定周期的開盤,最低價,最低價,那么我只能自己寫一個函數來獲得了。
iOpen(string symbol,ENUM_TIMEFRAMES timeframe,int index)//此函數是我構造的,和MT4中系統自帶的iOpen 一樣用法。
iOpen(Symbol(),PERIOD_MN1,0);//表示獲得最近一根月線的開盤價。
iLow(string symbol,ENUM_TIMEFRAMES timeframe,int index)//此函數是我構造的,和MT4中系統自帶的iLow 一樣用法。
iLow(Symbol(),PERIOD_MN1,0);//表示獲得最近一根月線的最低價。
iHigh(string symbol,ENUM_TIMEFRAMES timeframe,int index)//此函數是我構造的,和MT4中系統自帶的iHigh 一樣用法。
iHigh(Symbol(),PERIOD_MN1,0);//表示獲得最近一根月線的最高價。
至于收盤價其實,和bid價格是一樣的所以完全就可以用系統自帶的SymbolInfoDouble(Symbol(),SYMBOL_BID)獲得。
下面是完整的代碼:
復制代碼-
- #property copyright "2009, MetaQuotes Software Corp."
- #property link "http://www.mt5.net.cn"
- #property version "1.00"
- double Open[],High[],Low[];
- int OnInit()
- {
- return(0);
- }
- void OnDeinit(const int reason)
- {
- }
- void OnTick()
- {
- double open,close,low,high;
- open=iOpen(Symbol(),PERIOD_MN1,0); //表示獲得最近一根月線的開盤價。
- close=SymbolInfoDouble(Symbol(),SYMBOL_BID); //表示獲得最近一根月線的收盤價。
- low=iLow(Symbol(),PERIOD_MN1,0); //表示獲得最近一根月線的最低價。
- high=iHigh(Symbol(),PERIOD_MN1,0); //表示獲得最近一根月線的最高價。
- }
- double iOpen(string symbol,ENUM_TIMEFRAMES timeframe,int index)
- {
- double open=0;
- ArraySetAsSeries(Open,true);
- int copied=CopyOpen(symbol,timeframe,0,Bars(symbol,timeframe),Open); //將指定時間周期的開盤價格復制到指定數組。
- if(copied>0 && index<copied) open=Open[index];
- return(open);
- }
- double iLow(string symbol,ENUM_TIMEFRAMES timeframe,int index)
- {
- double low=0;
- ArraySetAsSeries(Low,true);
- int copied=CopyLow(symbol,timeframe,0,Bars(symbol,timeframe),Low);
- if(copied>0 && index<copied) low=Low[index];
- return(low);
- }
- double iHigh(string symbol,ENUM_TIMEFRAMES timeframe,int index)
- {
- double high=0;
- ArraySetAsSeries(High,true);
- int copied=CopyHigh(symbol,timeframe,0,Bars(symbol,timeframe),High);
- if(copied>0 && index<copied) high=High[index];
- return(high);
- }
- //+------------------------------------------------------------------+
open,close,low,high.rar (1 K) 下载次数:75
主站蜘蛛池模板:
99国产成+人+综合+亚洲欧美|
久久精品国产99久久99久久久|
老司机午夜视频在线观看|
国产精品爽爽va在线观看无码|
两性高清性色生活片性高清←片
|
99视频在线精品免费|
无码囯产精品一区二区免费|
亚洲中文字幕无码久久综合网|
电车上强制波多野结衣|
国产丰满麻豆videossexhd|
亚洲AV无码专区国产乱码电影|
野花社区视频www|
国产高中生粉嫩无套第一次|
亚洲av无码久久忘忧草|
男生和女生一起差差差很痛视频
|
波多野结衣伦理片bd高清在线|
国产真实乱16部种子|
久久久老熟女一区二区三区|
欧美特黄录像播放|
八戒久久精品一区二区三区|
阿v免费在线观看|
国产真实伦偷精品|
不卡无码人妻一区三区音频
|
樱花草在线社区www韩国|
亚洲综合在线视频|
紧缚调教波多野结衣在线观看|
国产大片51精品免费观看|
18禁止看的免费污网站|
天堂俺去俺来也WWW色官网|
中文字幕一区二区三区乱码|
日韩欧美一区二区三区四区|
免费精品99久久国产综合精品
|
香蕉视频在线观看男女|
好男人网官网在线观看|
久久天天躁狠狠躁夜夜免费观看|
精品一区二区三区免费视频|
国产精品久久久久免费a∨|
中文字幕一区二区三区精彩视频
|
精品无码久久久久久久久|
国产精品第5页|
japan高清日本乱xxxxx|