同花順公式編寫程序及規(guī)則

同花順公式編寫程序及規(guī)則

ID:25897173

大?。?18.03 KB

頁(yè)數(shù):35頁(yè)

時(shí)間:2018-11-23

同花順公式編寫程序及規(guī)則_第1頁(yè)
同花順公式編寫程序及規(guī)則_第2頁(yè)
同花順公式編寫程序及規(guī)則_第3頁(yè)
同花順公式編寫程序及規(guī)則_第4頁(yè)
同花順公式編寫程序及規(guī)則_第5頁(yè)
資源描述:

《同花順公式編寫程序及規(guī)則》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、同花順公式編寫+現(xiàn)有公式公式編寫規(guī)則語(yǔ)言規(guī)范:在自定義公式里面的各種符號(hào)(如,“;”)只能用半角不能用全角。關(guān)鍵字ifelsewhilebreakcontinuereturn(無(wú)大小寫之分)常數(shù)浮點(diǎn)數(shù)、整數(shù)、字符串分隔符“”‘'();{}注釋/**/標(biāo)識(shí)符由字母和數(shù)字組成,由字母開(kāi)頭,不分大小寫運(yùn)算符(優(yōu)先級(jí)從高到低排列,同級(jí)同行)*/+-==!=><>=<=AndOr語(yǔ)句賦值a=b條件IF(a==b)c=d;循環(huán)whilea==bc=d;函數(shù)調(diào)用func(a,b)直接訪問(wèn)數(shù)據(jù)項(xiàng)的函數(shù)例如:OPEN[t]為t周期之前的開(kāi)盤價(jià)所有

2、行情數(shù)據(jù)項(xiàng)(CLOSE等)都與此相同。標(biāo)識(shí)符:標(biāo)識(shí)符在表達(dá)式中只存名稱,值保留在符號(hào)表。標(biāo)識(shí)符包括函數(shù)名、參數(shù)名和變量名。函數(shù)名用來(lái)傳遞函數(shù)返回值;參數(shù)名用于函數(shù)調(diào)用時(shí)的參數(shù)傳遞;變量名在計(jì)算中存儲(chǔ)中間計(jì)算結(jié)果。分隔符:符號(hào)含義“”引用字符串‘'引用字符()控制運(yùn)算的優(yōu)先級(jí);每行語(yǔ)句的結(jié)束標(biāo)志{}將多個(gè)語(yǔ)句組合成一個(gè)語(yǔ)句體/**/注釋,無(wú)任何實(shí)際功能賦值語(yǔ)句:其一般形式為:a=b;含義為將b的值付給a。幾個(gè)運(yùn)算符“=”“:=”“:”“:>”。其含義分別為“賦值”、“賦值”、“賦值并輸出數(shù)值或字符串”、“賦值并輸出圖形”。注意:“

3、=”和“:=”兩個(gè)運(yùn)算符的意義、用法完全相同。這樣做主要是為了更好地兼容市場(chǎng)上目前的各種帶有公式編輯功能的分析軟件。條件語(yǔ)句:其一般形式為:IF(邏輯表達(dá)式)語(yǔ)句1;ELSE語(yǔ)句2;上述結(jié)構(gòu)表示:如果邏輯表達(dá)式的值為非0(TURE)即真,則執(zhí)行語(yǔ)句1,執(zhí)行完語(yǔ)句1從語(yǔ)句2后開(kāi)始繼續(xù)向下執(zhí)行;如果表達(dá)式的值為0(FALSE)即假,則跳過(guò)語(yǔ)句1而執(zhí)行語(yǔ)句2。注意:1、條件執(zhí)行語(yǔ)句中"ELSE語(yǔ)句2;"部分是選擇項(xiàng),可以缺省,此時(shí)條件語(yǔ)句變成:IF(邏輯表達(dá)式)語(yǔ)句1;表示若邏輯表達(dá)式的值為非0則執(zhí)行語(yǔ)句1,否則跳過(guò)語(yǔ)句1繼續(xù)執(zhí)行。2

4、、如果語(yǔ)句1或語(yǔ)句2有多于一條語(yǔ)句要執(zhí)行時(shí),必須使用"{"和"}"把這些語(yǔ)句包括在其中,此時(shí)條件語(yǔ)句形式為:IF(邏輯表達(dá)式){語(yǔ)句體1;}ELSE{語(yǔ)句體2;}這里語(yǔ)句體指多個(gè)語(yǔ)句,每個(gè)語(yǔ)句都必須以“;”結(jié)尾。3.條件語(yǔ)句可以嵌套,這種情況經(jīng)常碰到,但條件嵌套語(yǔ)句容易出錯(cuò),其原因主要是不知道哪個(gè)IF對(duì)應(yīng)哪個(gè)ELSE。例如:IF(x>20ORx<-10)IF(y<=100ANDy>x)A="Good";ELSEB="Bad";對(duì)于上述情況,規(guī)定:ELSE語(yǔ)句與最近的一個(gè)IF語(yǔ)句匹配,上例中的ELSE與IF(y<=100ANDy>

5、x)相匹配。為了使ELSE與IF(x>20ORx<-10)相匹配,必須用花括號(hào)。如下所示:IF(x>20ORx<-10){IF(y<=100ANDy>x)A="Good";}ELSEB="Bad";4.可用階梯式IF-ELSE-IF結(jié)構(gòu)。階梯式結(jié)構(gòu)的一般形式為:IF(邏輯表達(dá)式1)語(yǔ)句1;ELSEIF(邏輯表達(dá)式2)語(yǔ)句2;ELSEIF(邏輯表達(dá)式3)語(yǔ)句3;循環(huán)語(yǔ)句:while循環(huán)的一般形式為:while(條件)語(yǔ)句;while循環(huán)表示當(dāng)條件為真時(shí),便執(zhí)行語(yǔ)句。直到條件為假才結(jié)束循環(huán)。并繼續(xù)執(zhí)行循環(huán)程序外的后續(xù)語(yǔ)句。注意:1、

6、可以有多層循環(huán)嵌套。2、語(yǔ)句可以是語(yǔ)句體,此時(shí)必須用"{"和"}"括起來(lái)。break語(yǔ)句break語(yǔ)句通常用在循環(huán)語(yǔ)句中。當(dāng)break語(yǔ)句用while循環(huán)語(yǔ)句中時(shí),可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句,通常break語(yǔ)句總是與if語(yǔ)句聯(lián)在一起。即滿足條件時(shí)便跳出循環(huán)。注意:1、break語(yǔ)句對(duì)if-else的條件語(yǔ)句不起作用。2、在多層循環(huán)中,一個(gè)break語(yǔ)句只向外跳一層。continue語(yǔ)句continue語(yǔ)句的作用是跳過(guò)循環(huán)本中剩余的語(yǔ)句而強(qiáng)行執(zhí)行下一次循環(huán)。continue語(yǔ)句只用在while循環(huán)體中,常與if條件語(yǔ)句一

7、起使用,用來(lái)加速循環(huán)。函數(shù)調(diào)用:調(diào)用函數(shù)的基本方式為:函數(shù)名(參數(shù),參數(shù),…)其返回值為函數(shù)里面的return語(yǔ)句規(guī)定的返回值。若無(wú)return語(yǔ)句,則返回被調(diào)用函數(shù)里,以函數(shù)名命名的變量的值。若無(wú)以函數(shù)名命名的變量,則返回最后一個(gè)輸出的值。若無(wú)輸出的值,則返回最后一個(gè)被調(diào)用的語(yǔ)句的值。例如:調(diào)用KDJ指標(biāo)。KDJ函數(shù)的名稱為kdj,其參數(shù)和內(nèi)容如下:參數(shù)名最小值最大值默認(rèn)值N111009M12403M22403函數(shù)內(nèi)容為:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

8、K:SMA(RSV,M1,1);D:SMA(K,M2,1);J:3*K-2*D則當(dāng)您在其它函數(shù)里輸入a=KDJ(8,6,6)的時(shí)候,相當(dāng)于計(jì)算N1=8,M1=6,M2=6時(shí)的J值,并把這個(gè)值賦給a。注意:1、當(dāng)傳遞的參數(shù)數(shù)目不等于被調(diào)用函數(shù)設(shè)置的參數(shù)數(shù)目時(shí)。a、

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。