*當(dāng)RSI往上突破20--->當(dāng)RSI往下跌破80=取區(qū)間的最高點(diǎn)(顯示高點(diǎn)文字)
*當(dāng)RSI往下跌破80--->當(dāng)RSI往上突破20=取區(qū)間的最低點(diǎn)(顯示高點(diǎn)文字)
您的條件并沒(méi)有寫的很清楚,有些地方要用猜的。
譬如,如果RSI>20,但又跌回20以下,這樣算不算在「突破20後但未跌落80下」的條件內(nèi)呢?
下面是我剛才隨手試試寫了一下,也許程式碼不是很精簡(jiǎn),您參考看看。
1) RSI突破20,且未跌落80以下,為紅色線。但未到80又跌落20以下,又回到綠色線。反之亦然。
2)高低點(diǎn)顯示只在最後一次的最高點(diǎn)及最低點(diǎn)顯示出來(lái),并不會(huì)紀(jì)錄歷史高低點(diǎn)。同時(shí),高點(diǎn)為紅色,低點(diǎn)為綠色。
Input: Len1(14);
Var: RSI1(0),value_RSI(0),value_RSI_rec(0),Position(0);
value_RSI=RSI(close,Len1);
if currentbar=1 then begin
value_RSI_rec=value_RSI;
end;
if (value_RSI cross above 20) or (value_RSI cross above 80) then Position=1;
if (value_RSI cross below 20) or (value_RSI cross below 80) then position=-1;
if (Position=1 and value_RSI>value_RSI_rec) then begin
value_RSI_rec=value_RSI;
text_delete(value99);
value99=text_new_self(date,time,value_RSI+3,numtostr(value_RSI_rec,0));
text_setcolor(value99,red);
end;
if (Position=-1 and value_RSI<value_RSI_rec) then begin
value_RSI_rec=value_RSI;
text_delete(value98);
value98=text_new_self(date,time,value_RSI-3,numtostr(value_RSI_rec,0));
text_setcolor(value98,green);
end;
plot1(value_RSI,"RSI");
if position=1 then setplotcolor(1,red);
if position=-1 then setplotcolor(1,green);
感謝Soromance大
原來(lái)是我沒(méi)有說(shuō)明清楚
再度麻煩Soromance大
正確應(yīng)該說(shuō)~
當(dāng)RSI往上突破80時(shí)確認(rèn)前區(qū)間的低點(diǎn)(畫延伸線),并從突破點(diǎn)開(kāi)始等他跌落到20以下時(shí)確認(rèn)區(qū)間內(nèi)的高點(diǎn)(并畫延伸線)
并將高點(diǎn)與高點(diǎn)作成連結(jié)的延伸線,低點(diǎn)與低點(diǎn)做成連結(jié)的延伸線
謝謝!!麻煩了^^
編輯文章 by shuanbin 2012-03-03 11:50:02
感謝Soromance大
原來(lái)是我沒(méi)有說(shuō)明清楚
再度麻煩Soromance大
正確應(yīng)該說(shuō)~
當(dāng)RSI往上突破80時(shí)確認(rèn)前區(qū)間的低點(diǎn)(畫延伸線),并從突破點(diǎn)開(kāi)始等他跌落到20以下時(shí)確認(rèn)區(qū)間內(nèi)的高點(diǎn)(并畫延伸線)
并將高點(diǎn)與高點(diǎn)作成連結(jié)的延伸線,低點(diǎn)與低點(diǎn)做成連結(jié)的延伸線
謝謝!!麻煩了^^
編輯文章 by shuanbin 2012-03-03 11:50:02
提示:
IF RSI第一次站上80 或跌破20時(shí)
先把 BARNUMBER - 上次存的BARNUMBER 就是區(qū)間,用來(lái)找高低點(diǎn)
算完就可以再把 BARNUMBER 存起來(lái)給下次進(jìn)來(lái)這個(gè) IF時(shí)用
另一種方式
IF RSI第一次站上80 或跌破20時(shí),清除動(dòng)態(tài)高低值
else 動(dòng)態(tài)移動(dòng)高低點(diǎn)記錄值
感謝客服一號(hào)~
我先踹踹看~
3Q
=_=
亂寫一通~編譯不出來(lái)~
有請(qǐng)善心人士幫忙
我的寫法是使用客服一號(hào)大的第二種方式。
其實(shí)不難的,只要把原來(lái)value_RSI_rec的值從紀(jì)錄value_RSI,改成紀(jì)錄K棒的high or low就好了。
但這種方式有個(gè)缺點(diǎn),就是無(wú)法紀(jì)錄歷史的高低值,只能顯示最後一次的高低價(jià)格。
Input: Len1(14);
Var: RSI1(0),value_RSI(0),value_RSI_rec(0),Position(0);
value_RSI=RSI(close,Len1);
if (value_RSI cross above 20) or (value_RSI cross above 80) then position=1;
if (value_RSI cross below 20) or (value_RSI cross below 80) then position=-1;
if (Position=1 and High>value_RSI_rec) then begin
value_RSI_rec=high;
text_delete(value99);
value99=text_new(date,time,high+10,numtostr(value_RSI_rec,0));
text_setcolor(value99,red);
end;
if (Position=-1 and low<value_RSI_rec) then begin
value_RSI_rec=low;
text_delete(value98);
value98=text_new(date,time,low-10,numtostr(value_RSI_rec,0));
text_setcolor(value98,green);
end;
plot1(value_RSI,"RSI");
if position=1 then setplotcolor(1,red);
if position=-1 then setplotcolor(1,green);
再來(lái),至於畫線的部份,由於最後一個(gè)RSI>80 or RSI<20的高低點(diǎn)是動(dòng)態(tài)的,且無(wú)法紀(jì)錄歷史值,所以用這種方式來(lái)寫就畫不出來(lái)。
可能要用客服一號(hào)大的第一種方式來(lái)寫:
每一根新成立的K棒畫線,都要依據(jù)當(dāng)時(shí)的高低點(diǎn),從最後一次RSI>80 or RSI<20的K棒開(kāi)始畫。
您要不要先試試看?
最後,請(qǐng)教客服一號(hào)大,
若我已在副圖畫了RSI的plot,同時(shí)又想在主圖畫另一個(gè)plot,要用什麼指令呢?
謝謝您!
編輯文章 by Soromance 2012-03-05 17:57:06
感謝客服一號(hào)~
我先踹踹看~
3Q
=_=
亂寫一通~編譯不出來(lái)~
有請(qǐng)善心人士幫忙
我的寫法是使用客服一號(hào)大的第二種方式。
其實(shí)不難的,只要把原來(lái)value_RSI_rec的值從紀(jì)錄value_RSI,改成紀(jì)錄K棒的high or low就好了。
但這種方式有個(gè)缺點(diǎn),就是無(wú)法紀(jì)錄歷史的高低值,只能顯示最後一次的高低價(jià)格。
Input: Len1(14);
Var: RSI1(0),value_RSI(0),value_RSI_rec(0),Position(0);
value_RSI=RSI(close,Len1);
if (value_RSI cross above 20) or (value_RSI cross above 80) then position=1;
if (value_RSI cross below 20) or (value_RSI cross below 80) then position=-1;
if (Position=1 and High>value_RSI_rec) then begin
value_RSI_rec=high;
text_delete(value99);
value99=text_new(date,time,high+10,numtostr(value_RSI_rec,0));
text_setcolor(value99,red);
end;
if (Position=-1 and low<value_RSI_rec) then begin
value_RSI_rec=low;
text_delete(value98);
value98=text_new(date,time,low-10,numtostr(value_RSI_rec,0));
text_setcolor(value98,green);
end;
plot1(value_RSI,"RSI");
if position=1 then setplotcolor(1,red);
if position=-1 then setplotcolor(1,green);
再來(lái),至於畫線的部份,由於最後一個(gè)RSI>80 or RSI<20的高低點(diǎn)是動(dòng)態(tài)的,且無(wú)法紀(jì)錄歷史值,所以用這種方式來(lái)寫就畫不出來(lái)。
可能要用客服一號(hào)大的第一種方式來(lái)寫:
每一根新成立的K棒畫線,都要依據(jù)當(dāng)時(shí)的高低點(diǎn),從最後一次RSI>80 or RSI<20的K棒開(kāi)始畫。
您要不要先試試看?
最後,請(qǐng)教客服一號(hào)大,
若我已在副圖畫了RSI的plot,同時(shí)又想在主圖畫另一個(gè)plot,要用什麼指令呢?
謝謝您!
編輯文章 by Soromance 2012-03-05 17:57:06