麻煩編一個股票軟件中WINNER,COST的函數(shù) [MC]
-
MC用戶求助:
在股票軟件中經(jīng)常用到,用MC時,有時候會用到謝謝。
?
-
MC回復討論一:
您好,您的需求可能需要一點時間,因為需要確定這兩個函數(shù)的執(zhí)行邏輯,請您繼續(xù)關注論壇!
(未被解決的帖子都會一直置頂)
?
-
MC回復討論二:
cost和winner兩個函數(shù)見如下代碼:
//winner
input: pricevalue(numericsimple);
var: var_down(0), var_total(0), max_back(0);
max_back=maxbarsback+currentbar-1;
var_total=0;
var_down=0;
for value1=0 to max_back begin
var_total=var_total+symbol_ticks[value1];
if pricevalue<=symbol_high[value1] and pricevalue>symbol_low[value1] then
var_down=var_down+symbol_ticks[value1]*(pricevalue-symbol_low[value1])/(symbol_high[value1]-symbol_low[value1])
else if pricevalue>symbol_high[value1] or (symbol_high[value1]=symbol_low[value1] and pricevalue=symbol_high[value1]) then
var_down=var_down+symbol_ticks[value1];
end;
winner=var_down/var_total;
?
//cost
input: ratio(numericsimple);
array: arr[](0), arr_p[](0);
var: max_back(0), price_ratio(0), cost_sum(0);
max_back=maxbarsback+currentbar;
array_setmaxindex(arr,max_back-1);
array_setmaxindex(arr_p,max_back-1);
if currentbar=1 then begin
for value1=max_back-1 downto 0 begin
arr[max_back-1-value1]=symbol_ticks[max_back-1-value1]*(symbol_open[max_back-1-value1]+symbol_close[max_back-1-value1])/2;
arr_p[max_back-1-value1]=(symbol_open[max_back-1-value1]+symbol_close[max_back-1-value1])/2;
end;
end
else begin
arr[max_back-1]=symbol_ticks*(symbol_open+symbol_close)/2;
arr_p[max_back-1]=(symbol_open+symbol_close)/2;
end;
?
for value4=0 to max_back-1 begin
for value5=value4+1 to max_back-1 begin
if arr_p[value4]>arr_p[value5] then begin
value6=arr_p[value5];
arr_p[value5]=arr_p[value4];
arr_p[value4]=value6;
value6=arr[value5];
arr[value5]=arr[value4];
arr[value4]=value6;
end;
end;
end;
price_ratio=0;
cost_sum=array_sum(arr,0,max_back-1);
for value1=0 to max_back-1 begin
price_ratio=price_ratio+arr[value1];
if price_ratio/cost_sum>=ratio*0.01 then begin
cost=arr_p[value1];
break;
end;
?
end;
簡要說明:
1.winner(price)函數(shù)主要是從圖表上最左邊的bar開始統(tǒng)計到當根bar,統(tǒng)計小于等于價格price的成交量與所有已經(jīng)統(tǒng)計的bar的成交量之比。
2. cost(1)函數(shù)主要是從圖表上最左邊的bar開始統(tǒng)計到當根bar,每根bar取一個價格樣本(這里取的是開盤價與收盤價的中間價作為樣本)和成交量樣本,建立兩個數(shù)組分別存儲價格樣本、成交量樣本與價格樣本的乘積;之后對價格樣本進行排序,然后通過對價格樣本for循環(huán)來查找使1%的獲利盤的價格。
3.這里使用了symbol系列關鍵字,所以無論最大bar數(shù)量設置成多少,都不會提示出現(xiàn)最大bar數(shù)量錯誤;另外,使用了動態(tài)數(shù)組,使數(shù)組能動態(tài)的調(diào)整以便存儲當根bar的樣本。
4.函數(shù)中使用了較大的數(shù)組以及多次for循環(huán),所以有一定的計算量,建議使用日線周期。
5.由于函數(shù)是從圖表上最左邊一根bar開始統(tǒng)計,所以圖表數(shù)據(jù)的初始日期有一定影響返回的值。
6.這兩個函數(shù)使用的算法和其它軟件上不太一樣,但是基本原理類似;沒有哪一個算法是準確的,只是一個對現(xiàn)實市場的建模。
7.下面的鏈接中提供了三個函數(shù),除了上面兩個函數(shù),還有一個是cost_expand,這個函數(shù)與cost相比,只是對每根bar取了三個價格樣本,使結(jié)果更精確,但是計算量也更大。
8.盡管沒有從股票上市那一天開始統(tǒng)計,但是隨著市場的進行,初始的值對這兩個函數(shù)的影響會越來越小,所以這兩個函數(shù)不用特別要求圖表的開始日期從股票的上市日開始。?
cost和winner函數(shù)代碼下載鏈接:
http://dl.icetech.com.cn/download/forums/cost%20and%20winner.rar
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯(lián)系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內(nèi)容