價(jià)格數(shù)據(jù)相關(guān)函數(shù)
用于獲取貨幣對(duì)/時(shí)段內(nèi)價(jià)格數(shù)據(jù)的一組函數(shù)。
如果請(qǐng)求數(shù)據(jù)(貨幣對(duì)名稱/時(shí)段不同于當(dāng)前圖表)來自其他圖表,這種情況可能是相應(yīng)的圖表沒有在客戶端內(nèi)打開,并且需要從服務(wù)器端下載數(shù)據(jù)。這種情況下,錯(cuò)誤信息ERR_HISTORY_WILL_UPDATED(4066-請(qǐng)求的歷史數(shù)據(jù)正在更新中)將被放置到last_error變量中,并且不得不重新請(qǐng)求更新(參看ArrayCopySeries()范例)。
在測(cè)試中,同貨幣對(duì)價(jià)格數(shù)據(jù)或不同時(shí)段的價(jià)格數(shù)據(jù)被精確地模擬(除成交量外)。其他時(shí)段的成交量不模擬,其它貨幣對(duì)的價(jià)格數(shù)據(jù)同樣也不模擬。無論何種情況,一個(gè)時(shí)段內(nèi)柱子總數(shù)會(huì)被精確地模擬。
double iBars(string 幣, int 框)
指定時(shí)框圖表上的K線數(shù)量。
如果對(duì)于當(dāng)前圖表,柱子數(shù)量的信息保存在預(yù)定義的變量Bars中。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
示例:
int iBarShift(string 幣, int 框, datetime 指定時(shí)間, void 返回方式=false )
搜索并返回前期指定時(shí)間K線點(diǎn)到當(dāng)前的時(shí)間跨距。
如果帶指定開盤時(shí)間的K線不存在,函數(shù)值將返回-1或該幣在指定時(shí)框的最近的K線數(shù),這取決護(hù)返回方式參數(shù)的設(shè)置。
參數(shù):
symbol - 指定的貨幣對(duì)名。 (NULL表示當(dāng)前貨幣對(duì)。)
timeframe - 時(shí)間框。 (0表示當(dāng)前圖表的時(shí)間框。)
time - 指定K線時(shí)間點(diǎn),(以K線開盤為準(zhǔn))。
exact - 如果沒有發(fā)現(xiàn)K線的返回方式。
false:默認(rèn)返回指定時(shí)框最近的K線,
true:返回-1。
示例:
跨周期引用指標(biāo)值(在當(dāng)前的分鐘圖表上看小時(shí)框上的的該指標(biāo)):
//--返回該幣在小時(shí)框中
引用指標(biāo)1線值[i]= iCustom(NULL, PERIOD_H1, "MY指標(biāo)", 參數(shù)1, 參數(shù)2, 參數(shù)3, 0, iBarShift(NULL, PERIOD_H1, iTime(NULL, 0, i)));
引用指標(biāo)2線值[i]= iCustom(NULL, PERIOD_H1, "MY指標(biāo)", 參數(shù)1, 參數(shù)2, 參數(shù)3, 1, iBarShift(NULL, PERIOD_H1, iTime(NULL, 0, i)));
double iClose(string 指定幣, int 指定框, int shift)
返回帶有時(shí)段和偏移量的指定貨幣對(duì)K線的收盤價(jià)。
如果本地歷史表為空(歷史數(shù)據(jù)未加載),函數(shù)返回0。
對(duì)于當(dāng)前圖表,收盤價(jià)的信息保存在 預(yù)定義數(shù)組Close[] 中。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
shift - 從指標(biāo)緩沖區(qū)中獲取值的索引 (相對(duì)當(dāng)前K線向左移動(dòng)一定周期數(shù)的偏移量)。
示例:
Print("對(duì)于 USDCHF H1當(dāng)前柱: ",
iTime("USDCHF", PERIOD_H1, i), ", ",
iOpen("USDCHF", PERIOD_H1, i), ", ",
iHigh("USDCHF", PERIOD_H1, i), ", ",
iLow("USDCHF", PERIOD_H1, i), ", ",
iClose("USDCHF", PERIOD_H1, i), ", ",
iVolume("USDCHF", PERIOD_H1, i));
double iHigh(string 指定幣, int 指定框, int shift)
求指定貨幣對(duì)的指定時(shí)段指定偏移量的K線最高價(jià)。
如果本地歷史表為空(歷史數(shù)據(jù)未加載),函數(shù)返回0。
對(duì)于當(dāng)前圖表,最盤價(jià)的信息保存在 預(yù)定義數(shù)組High[]中。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
shift - 從指標(biāo)緩沖區(qū)中獲取值的索引(相對(duì)當(dāng)前K線向前移動(dòng)一定周期數(shù)的偏移量)。
示例:
Print("對(duì)于 USDCHF H1當(dāng)前柱: ",
iTime("USDCHF", PERIOD_H1, i), ", ",
iOpen("USDCHF", PERIOD_H1, i), ", ",
iHigh("USDCHF", PERIOD_H1, i), ", ",
iLow("USDCHF", PERIOD_H1, i), ", ",
iClose("USDCHF", PERIOD_H1, i), ", ",
iVolume("USDCHF", PERIOD_H1, i));
int iHighest(string 指定幣, int 指定框, int 價(jià)類, void 跨期, void 始shift)
求在一個(gè)指定時(shí)間框內(nèi)最大值的偏移量。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
type - 序列數(shù)組的識(shí)別符。它可以是 序列數(shù)據(jù)識(shí)別符枚舉 的任意值。
count - 要計(jì)算出的周期數(shù)(沿著開頭K線到后而K線的方向)。
start - 開始K線,相對(duì)于當(dāng)前K線,開始采集數(shù)據(jù)的K線。
示例:
double 極高值;
//--計(jì)算在當(dāng)前圖表上從左數(shù)第4個(gè)至第23個(gè)(共20根連續(xù)K線)范圍內(nèi)的最大值
極高值= High[iHighest(NULL, 0, MODE_HIGH, 20, 4)];
//------------獲得指定時(shí)段內(nèi)的最高價(jià)和最低價(jià)----------------+
double 查找區(qū)間極值子(string 查找類型, datetime 始時(shí)= D'2010.04.21 12:00', datetime 終時(shí)= D'2010.03.21 12:00')
{
//--先找到區(qū)間跨期數(shù)
int 始Shift= iBarShift(NULL, 0, 始時(shí), True);
int 終Shift= iBarShift(NULL, 0, 終時(shí), True);
int 跨期= 始時(shí)棒-終時(shí)棒; // 開始時(shí)間和結(jié)束時(shí)間之間的k線數(shù)
//--區(qū)間極高時(shí)
int 區(qū)域高棒時(shí)= iHighest(NULL, 1, 2, 跨期, 始Shift);
//--區(qū)間極低時(shí)
int 區(qū)域低棒時(shí)= iLowest (NULL, 1, 1, 跨期, 始Shift);
if(查找類型=="極高值")
return(High[區(qū)域高棒時(shí)]);
else
if(查找類型=="極低值")
return(Low [區(qū)域低棒時(shí)]);
}
double iLow(string 指定幣, int 指定框, int shift)
求指定貨幣對(duì)的指定時(shí)段指定偏移量的K線最低價(jià)。
如果本地歷史表為空(歷史數(shù)據(jù)未加載),函數(shù)返回0。
對(duì)于當(dāng)前圖表,最盤價(jià)的信息保存在 預(yù)定義數(shù)組Low[] 中。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
shift - 從指標(biāo)緩沖區(qū)中獲取值的索引(相對(duì)當(dāng)前K線向前移動(dòng)一定數(shù)量周期的偏移量)。
示例:
Print("對(duì)于 USDCHF H1當(dāng)前柱: ",
iTime("USDCHF", PERIOD_H1, i), ", ",
iOpen("USDCHF", PERIOD_H1, i), ", ",
iHigh("USDCHF", PERIOD_H1, i), ", ",
iLow("USDCHF", PERIOD_H1, i), ", ",
iClose("USDCHF", PERIOD_H1, i), ", ",
iVolume("USDCHF", PERIOD_H1, i));
int iLowest(string 指定幣, int 指定框, int 價(jià)類, void 跨期, void 始shift)
求在一個(gè)指定時(shí)間框內(nèi)最低值的偏移量。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
type - 序列數(shù)組的識(shí)別符。它可以是 序列數(shù)據(jù)識(shí)別符枚舉 的任意值。
count - 要計(jì)算出的周期數(shù)(沿著開頭K線到后而K線的方向)。
start - 開始K線,相對(duì)于當(dāng)前K線,開始采集數(shù)據(jù)的K線。
示例:
double 極低值;
//--計(jì)算在當(dāng)前圖表上從左數(shù)第4個(gè)至第23個(gè)(共20根連續(xù)K線)范圍內(nèi)的最小值
極低值= Low[iLowest(NULL, 0, MODE_LOW, 20, 4)];
double iOpen(string 指定幣, int 指定框, int shift)
求指定貨幣對(duì)的指定時(shí)段指定偏移量的K線開盤價(jià)。
如果本地歷史表為空(歷史數(shù)據(jù)未加載),函數(shù)返回0。
對(duì)于當(dāng)前圖表,最盤價(jià)的信息保存在 預(yù)定義數(shù)組Open[] 中。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
shift - 從指標(biāo)緩沖區(qū)中獲取值的索引(相對(duì)當(dāng)前K線向前移動(dòng)一定數(shù)量周期的偏移量)。
示例:
Print("對(duì)于 USDCHF H1當(dāng)前柱: ",
iTime("USDCHF", PERIOD_H1, i), ", ",
iOpen("USDCHF", PERIOD_H1, i), ", ",
iHigh("USDCHF", PERIOD_H1, i), ", ",
iLow("USDCHF", PERIOD_H1, i), ", ",
iClose("USDCHF", PERIOD_H1, i), ", ",
iVolume("USDCHF", PERIOD_H1, i));
datetime iTime(string 指定幣, int 指定框, int shift)
求指定貨幣對(duì)的指定時(shí)段指定偏移量的K線開盤時(shí)間。
返回帶有時(shí)段和偏移量的指定貨幣對(duì)K線的開盤時(shí)間。
如果本地歷史表為空(歷史數(shù)據(jù)未加載),函數(shù)返回0。
對(duì)于當(dāng)前圖表,最盤價(jià)的信息保存在 預(yù)定義數(shù)組Time[] 中。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
shift - 從指標(biāo)緩沖區(qū)中獲取值的索引(相對(duì)當(dāng)前K線向前移動(dòng)一定數(shù)量周期的偏移量)。
示例:
Print("對(duì)于 USDCHF H1當(dāng)前柱: ",
iTime("USDCHF", PERIOD_H1, i), ", ",
iOpen("USDCHF", PERIOD_H1, i), ", ",
iHigh("USDCHF", PERIOD_H1, i), ", ",
iLow("USDCHF", PERIOD_H1, i), ", ",
iClose("USDCHF", PERIOD_H1, i), ", ",
iVolume("USDCHF", PERIOD_H1, i));
long iVolume(string 指定幣, int 指定框, int shift)
返回帶有時(shí)段和偏移量的指定貨幣對(duì)K線的成交量。
如果本地歷史表為空(歷史數(shù)據(jù)未加載),函數(shù)返回0。
對(duì)于當(dāng)前圖表,最盤價(jià)的信息保存在 預(yù)定義數(shù)組Volume[] 中。
注:該成交量并非真正意義上的成交量,這是一個(gè)估計(jì)值,其值為該K線下tick價(jià)格變動(dòng)的數(shù)量,其背后的意義為如果tick價(jià)格變動(dòng)很快,表示成交量越大;tick價(jià)格變動(dòng)越慢,表示成交量越小。
參數(shù):
symbol - 要計(jì)算指標(biāo)數(shù)據(jù)的貨幣對(duì)名稱。 NULL表示當(dāng)前貨幣對(duì)。
timeframe - 時(shí)間框。 可以 時(shí)間周期列舉 任意值。 0表示當(dāng)前圖表的時(shí)間框。
shift - 從指標(biāo)緩沖區(qū)中獲取值的索引(相對(duì)當(dāng)前K線向前移動(dòng)一定數(shù)量周期的偏移量)。
示例:
Print("對(duì)于 USDCHF H1當(dāng)前柱: ",
iTime("USDCHF", PERIOD_H1, i), ", ",
iOpen("USDCHF", PERIOD_H1, i), ", ",
iHigh("USDCHF", PERIOD_H1, i), ", ",
iLow("USDCHF", PERIOD_H1, i), ", ",
iClose("USDCHF", PERIOD_H1, i), ", ",
iVolume("USDCHF", PERIOD_H1, i));