學(xué)習(xí)寫指標(biāo)(上)
作者:MC 來源:cxh99.com 發(fā)布時(shí)間:2014年07月17日
- 咨詢內(nèi)容: 原文轉(zhuǎn)載自交易醫(yī)生
開始前提醒,Multicharts 程序最重要的觀念,每根K棒結(jié)束都執(zhí)行程序一次(或是每tick一次)。。
這是專為交易而設(shè)計(jì)的系統(tǒng),所有功能的開發(fā)皆以K棒為出發(fā)點(diǎn),因此我們要養(yǎng)成習(xí)慣,以K棒來思考。我們最自然想得到的資料應(yīng)該就是,K棒之間有何不同,那就必須比對不同K棒,所以就要取得當(dāng)根K棒之前的K棒資料。這里又是Multicharts的重點(diǎn)了,但這個(gè)重點(diǎn)有點(diǎn)復(fù)雜我們要分段說明。
首先要知道 Multicharts 中的資料可以是,K棒的價(jià)格、成交量與時(shí)間,還有我們自己定義的變數(shù),我們先全部統(tǒng)稱為變數(shù),變數(shù)會(huì)以K棒為單位,每根K棒都紀(jì)錄一次所有變數(shù)的值,這樣我們就能取出任何一個(gè)變數(shù)在任何一根K棒上的值,那程序中就是以中括號[n]來取前第n根K的變數(shù)值,
如當(dāng)根K棒的開高收低分別是open、high、low、close,那前一根開與前二根收就是open[1]、close[2];想看當(dāng)根K高是否高過前根K,那就是if (high > high[1]) then “do something”;;判斷當(dāng)根K低是否低于前跟K,即為if (low < low[1]) then “do something”;。
現(xiàn)在就來動(dòng)手寫寫看,運(yùn)用這幾個(gè)重點(diǎn),我們要寫一個(gè)指標(biāo),用來指出連續(xù)過高或連續(xù)破低的K棒,那就先以寫程序的步驟來規(guī)劃。
- 寫一個(gè)指標(biāo)分別指出連續(xù)四根K過高或連續(xù)四根K破低;
- 判斷連續(xù)四根K過高那就是當(dāng)根K高大于前一根K高,且前一根K高大于前二根K高,及前二根K高大于前三根K高,成立時(shí)在當(dāng)跟K高點(diǎn)上五點(diǎn)畫一個(gè)黃點(diǎn);同理當(dāng)出現(xiàn)連續(xù)四根K棒破低我們畫一個(gè)藍(lán)點(diǎn),請大家自己試試寫出連續(xù)四根K棒破低的條件;
- 檢查連續(xù)四根K棒過高條件,條件成立畫出黃點(diǎn);檢查連續(xù)四根K棒破低條件,條件成立畫出藍(lán)點(diǎn);
- 實(shí)作小程序:
檢查連續(xù)四根K棒過高:if (High > High[1]) and (High[1] > High[2]) and (High[2] > High[3]) then…
檢查連續(xù)四根K棒破低:if (Low < Low[1]) and (Low[1] < Low[2]) and (Low[2] < Low[3]) then…
畫出高點(diǎn)黃點(diǎn):plot1(High + 5, “High", yellow);
畫出低點(diǎn)藍(lán)點(diǎn):plot2(Low – 5, “Low", blue);
結(jié)合并完成:if (High > High[1]) and (High[1] > High[2]) and (High[2] > High[3])then plot1(High + 5, “High", yellow);
if (Low < Low[1]) and (Low[1] < Low[2]) and (Low[2] < Low[3])then plot2(Low – 5, “Low", blue);
圖例: