請教For循環(huán)語句的問題 [博易POBO]
咨詢內(nèi)容:
?
MSR:=(REF(C,1)-C);
KM:=1;
FOR II:=2 TO 4 DO
BEGIN
SR:=(REF(C,II)-C)/II;
MSR:=IF(SR>MSR,SR,MSR);
KM:=IF(SR>MSR,II,KM);
END {用循環(huán)語句比較斜率SR,得到斜率最大值MSR,同時記錄最大斜率的周期數(shù)KM}
DRAWNUMBER(1,0,KM,0);
SR1:(REF(C,1)-C)/1;
SR2:(REF(C,2)-C)/2;
SR3:(REF(C,3)-C)/3;
SR4:(REF(C,4)-C)/4;
{用暴力直接計算這四個斜率,直接畫圖。如圖所示,顯然循環(huán)方法得到的KM是不對的,請教這是哪里出了問題}

? <!-- 咨詢內(nèi)容:
因為是想在指標中必須用到循環(huán)的方法,發(fā)現(xiàn)結(jié)果總是不對,才發(fā)現(xiàn)是for語句執(zhí)行的問題。然后就特地寫以上代碼來做明顯的對比,好說明問題。請認真比較!! 來源 程序化久久網(wǎng)
請教For循環(huán)語句的問題
用for語句,想求出五周期內(nèi),到最后一個周期斜率最大的那個周期KM?
MSR:=(REF(C,1)-C);
KM:=1;
FOR II:=2 TO 4 DO
BEGIN
SR:=(REF(C,II)-C)/II;
MSR:=IF(SR>MSR,SR,MSR);
KM:=IF(SR>MSR,II,KM);
END {用循環(huán)語句比較斜率SR,得到斜率最大值MSR,同時記錄最大斜率的周期數(shù)KM}
DRAWNUMBER(1,0,KM,0);
SR1:(REF(C,1)-C)/1;
SR2:(REF(C,2)-C)/2;
SR3:(REF(C,3)-C)/3;
SR4:(REF(C,4)-C)/4;
{用暴力直接計算這四個斜率,直接畫圖。如圖所示,顯然循環(huán)方法得到的KM是不對的,請教這是哪里出了問題}

? <!-- 咨詢內(nèi)容:
附件 :
-->?
?來源:程序化99網(wǎng)( www.kzuj.com.cn )
博易技術(shù)人員: 運行是沒有問題的,但可能跟你預(yù)想的不一樣。 就是運行有問題,但程序算法沒有問題的。為了比較直觀看到是循環(huán)語句的問題,我特意寫了上下兩段程序,上段是用循環(huán)方法,下段是直接計算法,求同一結(jié)果。程序如下,運行后結(jié)果如下圖:MSR:=(REF(C,1)-C);
KM:=1;
FORII:=2TO4DO
BEGIN
SR:=(REF(C,II)-C)/II;[b]{分別計算過去第II周期到當前周期的斜率}[/b]
MSR:=IF(SR>MSR,SR,MSR);
KM:=IF(SR>MSR,II,KM);
END
[b]{以上用循環(huán)語句的方法比較斜率SR,得到五周棋內(nèi)斜率最大值MSR,同時記錄最大斜率所在周期KM}
{以下用直接法求最大斜率所在周期}[/b]
SR1:(REF(C,1)-C)/1;
SR2:(REF(C,2)-C)/2;
SR3:(REF(C,3)-C)/3;
SR4:(REF(C,4)-C)/4;
MSR2:=MAX(SR1,SR2,SR3,SR4);
KM2:=IF(MSR2=SR1,1,IF(MSR2=SR2,2,IF(MSR2=SR3,3,4)));
[b]{兩種方法的算法是等價的,比較兩種方法的結(jié)果,顯然,循環(huán)語句計算結(jié)果有問題,但程序算法沒問題的}
[/b]DRAWNUMBER(1,12,KM,0);[b]
{結(jié)果顯示全是1}[/b]
DRAWNUMBER(1,9,KM2,0);
[b][attach]5642[/attach][/b]
因為是想在指標中必須用到循環(huán)的方法,發(fā)現(xiàn)結(jié)果總是不對,才發(fā)現(xiàn)是for語句執(zhí)行的問題。然后就特地寫以上代碼來做明顯的對比,好說明問題。請認真比較!! 來源 程序化久久網(wǎng)
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容