本組函數用于設計和編寫(xiě)自定義指標。
這些函數不能用在智能交易和腳本中。
IndicatorBuffers() – 指標數據緩沖區
IndicatorCounted() – 指標計數
IndicatorDigits() – 設置指標精度
IndicatorShortName() – 設置指標簡(jiǎn)稱(chēng)
SetIndexArrow() – 設置指標箭頭符號
SetIndexBuffer() – 設置指標緩沖區位置
SetIndexDrawBegin() – 設置指標線(xiàn)起始位置
SetIndexEmptyValue() – 設置圖表畫(huà)線(xiàn)空值
SetIndexLabel() – 設置指標線(xiàn)標簽
SetIndexShift() – 設置指標線(xiàn)偏移值
SetIndexStyle() – 設置指標線(xiàn)樣式
SetLevelStyle() – 設置水平線(xiàn)樣式
SetLevelValue() – 設置水平線(xiàn)值
void SetIndexDrawBegin(int index, int begin)
設置開(kāi)始繪制指標線(xiàn)的柱體(指標線(xiàn)從什么位置開(kāi)始繪制)。指標線(xiàn)從左邊繪制到右邊,已給出的柱子左邊的數組值不會(huì )顯示在圖表或數據窗口中。設置0作為默認值,所有數據將被繪出。
參數:
index - 指標線(xiàn)。必須在0至7之間。 begin - 開(kāi)始繪制指標線(xiàn)的柱體編號。
示例:
int init() {//----使用2個(gè)額外的緩沖區用于計算。 IndicatorBuffers(3);//----畫(huà)線(xiàn)設置 SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,3); SetIndexDrawBegin(0,SignalSMA); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);//---- 設置 3 個(gè)指標緩沖區位置 SetIndexBuffer(0,ind_buffer1); SetIndexBuffer(1,ind_buffer2); SetIndexBuffer(2,ind_buffer3);//---- DataWindow 和自定義子窗口標簽名稱(chēng) IndicatorShortName("OsMA("+FastEMA+","+SlowEMA+","+SignalSMA+")");//---- 初始化完成 return(0); }void SetIndexEmptyValue(int index, double value)
設置圖表畫(huà)線(xiàn)空值。設置的值不繪出或不顯示在數據窗口。默認值為 EMPTY VALUE。
參數:
index - 指標線(xiàn)。必須在0至7之間。 value - 設置的"空值"。
示例:
int init() {//----設置 2 個(gè)指標緩沖區位置 SetIndexBuffer(0,ExtUppperBuffer); SetIndexBuffer(1,ExtLowerBuffer);//---- 畫(huà)出參數設置 SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,217); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,218);//---- 值為 0 不顯示 SetIndexEmptyValue(0,0.0); SetIndexEmptyValue(1,0.0);//---- SetIndexLabel(0,"Fractal Up"); SetIndexLabel(1,"Fractal Down");//---- 初始化完成 return(0); }void SetIndexLabel(int index, string text)
設置在數據窗口和快速提示中顯示的指標線(xiàn)說(shuō)明。
參數:
index - 指標線(xiàn)。必須在0至7之間。 text - 標簽文本。NULL表示指標值在數據窗口中不顯示。
示例:
//+------------------------------------------------------------------+//| Ichimoku Kinko Hyo initialization function |//+------------------------------------------------------------------+int init() {//---- SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Tenkan_Buffer); SetIndexDrawBegin(0,Tenkan-1); SetIndexLabel(0,"Tenkan Sen");//---- SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Kijun_Buffer); SetIndexDrawBegin(1,Kijun-1); SetIndexLabel(1,"Kijun Sen");//---- a_begin=Kijun; if(a_begin<Tenkan) a_begin=Tenkan; SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_DOT); SetIndexBuffer(2,SpanA_Buffer); SetIndexDrawBegin(2,Kijun+a_begin-1); SetIndexShift(2,Kijun);//---- 在DataWindow窗口 Up Kumo 線(xiàn)不顯示 SetIndexLabel(2,NULL); SetIndexStyle(5,DRAW_LINE,STYLE_DOT); SetIndexBuffer(5,SpanA2_Buffer); SetIndexDrawBegin(5,Kijun+a_begin-1); SetIndexShift(5,Kijun); SetIndexLabel(5,"Senkou Span A");//---- SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_DOT); SetIndexBuffer(3,SpanB_Buffer); SetIndexDrawBegin(3,Kijun+Senkou-1); SetIndexShift(3,Kijun);//---- 在DataWindow窗口上 Down Kumo 線(xiàn)不顯示 SetIndexLabel(3,NULL);//---- SetIndexStyle(6,DRAW_LINE,STYLE_DOT); SetIndexBuffer(6,SpanB2_Buffer); SetIndexDrawBegin(6,Kijun+Senkou-1); SetIndexShift(6,Kijun); SetIndexLabel(6,"Senkou Span B");//---- SetIndexStyle(4,DRAW_LINE); SetIndexBuffer(4,Chinkou_Buffer); SetIndexShift(4,-Kijun); SetIndexLabel(4,"Chinkou Span");//---- return(0); }void SetIndexShift(int index, int shift)
設置在數據窗口和快速提示中顯示的指標線(xiàn)說(shuō)明。
參數:
index - 指標線(xiàn)。必須在0至7之間。 shift - 柱體(K線(xiàn))偏移值。
示例:
//+------------------------------------------------------------------+//| Alligator initialization function |//+------------------------------------------------------------------+int init() {//----當畫(huà)線(xiàn)時(shí)指標線(xiàn)的偏移 SetIndexShift(0,JawsShift); SetIndexShift(1,TeethShift); SetIndexShift(2,LipsShift);//---- 當畫(huà)線(xiàn)時(shí)指標線(xiàn)跳過(guò)的位置 SetIndexDrawBegin(0,JawsShift+JawsPeriod); SetIndexDrawBegin(1,TeethShift+TeethPeriod); SetIndexDrawBegin(2,LipsShift+LipsPeriod);//---- 設置 3 個(gè)指標緩沖區位置 SetIndexBuffer(0,ExtBlueBuffer); SetIndexBuffer(1,ExtRedBuffer); SetIndexBuffer(2,ExtLimeBuffer);//---- 畫(huà)出設置 SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); SetIndexStyle(2,DRAW_LINE);//---- 指標線(xiàn)標簽文本 SetIndexLabel(0,"Gator Jaws"); SetIndexLabel(1,"Gator Teeth"); SetIndexLabel(2,"Gator Lips");//---- 初始化完成 return(0); }void SetIndexStyle(int index, int type, void style, void width, void clr)
為指定的指標線(xiàn)設置新類(lèi)型、樣式、寬度和顏色。
參數:
index - 指標線(xiàn)。必須在0至7之間。 type - 形狀樣式,可以是 劃線(xiàn)形狀樣式列表 中任意一個(gè)。 style - 線(xiàn)型??梢詰靡粋€(gè)像素的粗線(xiàn),可以是 劃線(xiàn)形狀樣式列表 其中一個(gè)。EMPTY值表示線(xiàn)型不變。width - 線(xiàn)寬。有效值是1,2,3,4,5。EMPTY值表示線(xiàn)寬不變。clr - 線(xiàn)的顏色。省略本參數表示顏色將保持不變
示例:
SetIndexStyle(3, DRAW_LINE, EMPTY, 2, Red);
void SetLevelStyle(int draw_style, int line_width, void clr)
本函數設置輸出到獨立窗口的指標水平線(xiàn)的樣式、寬度和顏色。
參數:
draw_style - 形狀樣式,可以是 劃線(xiàn)形狀樣式列表 中任意一個(gè)。 line_width - 線(xiàn)寬。有效值是1,2,3,4,5。EMPTY值表示線(xiàn)寬不變。clr - 線(xiàn)的顏色??罩礐LR_NONE表示顏色不變。
示例:
//---- 紅色單線(xiàn)顯示水平 SetLevelStyle(STYLE_SOLID,2,Red)
void SetLevelValue(int level, double value)
本函數設置在獨立窗口輸出的水平指標線(xiàn)的值。
參數:
level - 水平線(xiàn)編號,0到31。 value - 給出的水平線(xiàn)值。clr - 線(xiàn)的顏色??罩礐LR_NONE表示顏色不變。
示例:
SetLevelValue(1,3.14);
聯(lián)系客服