![]() |
在這個頁面顯示本主題全部的 7 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題]畫水平線後,條件消除後怎麼讓它消失 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=24163)
[問題]畫水平線後,條件消除後怎麼讓它消失
假設我有一個變數TT,可能是1或-1
我現在是看下一根的值畫水平紅線或綠線
要等到K棒退出畫面,線才會不見
有沒有可能改成,在若干K棒後,若TT值變了,就讓已經畫出的線消失?
謝謝
S1:=REFX(TT,1)=1;
S2:=REFX(TT,1)=-1;
DRAWSL(S1,C,0,0,0) colorred;
DRAWSL(S2,C,0,0,0) colorgreen;
回覆: [問題]畫水平線後,條件消除後怎麼讓它消失
引用:
最初由 Koogi 發表
假設我有一個變數TT,可能是1或-1
我現在是看下一根的值畫水平紅線或綠線
要等到K棒退出畫面,線才會不見
有沒有可能改成,在若干K棒後,若TT值變了,就讓已經畫出的線消失?
謝謝
S1:=REFX(TT,1)=1;
S2:=REFX(TT,1)=-1;
DRAWSL(S1,C,0,0,0) colorred;
DRAWSL(S2,C,0,0,0) colorgreen;
回覆: 回覆: [問題]畫水平線後,條件消除後怎麼讓它消失
引用:
最初由 cgjj 發表
DRAWSL 的 S1 和 S2 是條件
依據的是當前計算的這根,您所指定的條件有無成立來畫線,成立位置為畫線起點
後續K棒TT值改變
但劃線起點TT值沒變(條件仍成立),是不會讓它的畫線消失的
因為畫不畫線,是依據當前計算的那根之結果
故重點在於條件
例如將條件設為 "只在近期最後一個 S1 和 S2 成立之處畫線"
那麼過去的線就不會被畫出
所以您要去思考,什麼樣的條件才能做到合乎您要觀看的效果
回覆: 回覆: [問題]畫水平線後,條件消除後怎麼讓它消失
引用:
最初由 cgjj 發表
DRAWSL 的 S1 和 S2 是條件
依據的是當前計算的這根,您所指定的條件有無成立來畫線,成立位置為畫線起點
後續K棒TT值改變
但劃線起點TT值沒變(條件仍成立),是不會讓它的畫線消失的
因為畫不畫線,是依據當前計算的那根之結果
故重點在於條件
例如將條件設為 "只在近期最後一個 S1 和 S2 成立之處畫線"
那麼過去的線就不會被畫出
所以您要去思考,什麼樣的條件才能做到合乎您要觀看的效果
回覆: 回覆: 回覆: [問題]畫水平線後,條件消除後怎麼讓它消失
引用:
最初由 Koogi 發表
謝謝解釋
另外再請教一下
如果我想改成用DRAWLINE畫水平線段
達成TT條件開始,TT改變停止,要怎麼寫price2來抓當初達成條件的收盤價以劃出水平線呢?
DRAWLINE(TT=1,C,TT-REF(TT,1)<>0,PRICE2,0)
回覆: 回覆: 回覆: [問題]畫水平線後,條件消除後怎麼讓它消失
引用:
最初由 Koogi 發表
我原本的想法是用FOR迴圈,讓他一直往後抓,直到數值改變
FOR i=1 to 100 DO BEGIN
S1:=REFX(TT,i)=1;
DRAWSL(S1,C,0,0,0) colorred;
IF REFX(TT,i)-REFX(TT,i-1)<>0 THEN BREAK;
但他說語法錯誤,不知道該怎麼修改
還有這樣BREAK後,i似乎會停留在中斷時的數值?下次不會再從1開始?
回覆: 回覆: 回覆: 回覆: [問題]畫水平線後,條件消除後怎麼讓它消失
引用:
最初由 cgjj 發表
BREAK 後就跳出迴圈了,不會再重新開始!
奇狐有兩種IF,請參考一下這篇的說明
http://www.chiefox.com.tw/bbs/showt...93788#post93788
全部時間均為台灣時間, 現在時間為13:27 | 在這個頁面顯示本主題全部的 7 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.