![]() |
總頁數 (2): [1] 2 » 在這個頁面顯示本主題全部的 17 個文章 |
奇狐社區論壇 (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=24093)
[問題]另開規則簡單的新主題
FK:=BARPOS=1 or ref(time,1)<084500 and time>=084500;
DBCK:=if(datatype=0 or datatype=12,FK,IF(datatype=1 or datatype=11 or datatype=2,TradeDate<>REF(TradeDate,1) or IsRegularFBar,BARPOS=1));
CKSP:=BARSLAST(DBCK)+1,LINETHICK;
CKMM4:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=4,CKSP,4),4),LINETHICK;
CKMM15:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=15,CKSP,15),15),LINETHICK;
當日高:=HHV(H,CKSP); 當日低:=LLV(L,CKSP),COLORRED;
IF DATATYPE=12 OR DATATYPE=1 OR DATATYPE=2 THEN RG:當日高-當日低,COLOR000000,LINETHICK;
CKMM15RG:MA(IF(DBCK,REFX(H-L,1),H-L),CKMM15),LINETHICK,NOAXIS;
出場RG參數1:MAX(IF(RG<=150,30.1,IF(RG>150 AND RG<=250,40.1,50.1)),CKMM15RG*2);
/////(部分省略)
上下XDS:=上下UP-上下DN;
上下XDSS:=REF(上下XDS,BARSLAST(上下XDS<>0));
上下XD:if(barpos<lbound(上下XDSS) or lbound(上下XDSS)=0,0,上下XDSS),COLOR000000,LINETHICK,NOAXIS;//從首根K棒就有數值
首訊多:=SUM(上下XD<>0,CKSP)=1 AND 上下XD=1; 首訊空:=SUM(上下XD<>0,CKSP)=1 AND 上下XD=-1; 首訊:IF(首訊多,1,IF(首訊空,-1,0)),COLOR000000;
VERTLINE(首訊<>0 AND 首訊多),COLORRED;
VERTLINE(首訊<>0 AND 首訊空),COLORBLUE,LINEDOT;
空守:LLV(L,BARSLAST(首訊空))+出場RG參數1,COLORBLUE;
多守:HHV(H,BARSLAST(首訊多))-出場RG參數1,COLORRED;
首訊只會出現一次!
以附圖中首訊空成立為例說明規則==
1,首訊空成立-->防守:空守;
2,收盤價>防守-->防守:=多守;
如此多空交替下,畫出防守這條折線!
(因為要將後面的數值,丟回前面運算,超出能力範圍了)
謝謝!
回覆: [問題]另開規則簡單的新主題
引用:
最初由 Markchu7 發表
FK:=BARPOS=1 or ref(time,1)<084500 and time>=084500;
DBCK:=if(datatype=0 or datatype=12,FK,IF(datatype=1 or datatype=11 or datatype=2,TradeDate<>REF(TradeDate,1) or IsRegularFBar,BARPOS=1));
CKSP:=BARSLAST(DBCK)+1,LINETHICK;
CKMM4:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=4,CKSP,4),4),LINETHICK;
CKMM15:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=15,CKSP,15),15),LINETHICK;
當日高:=HHV(H,CKSP); 當日低:=LLV(L,CKSP),COLORRED;
IF DATATYPE=12 OR DATATYPE=1 OR DATATYPE=2 THEN RG:當日高-當日低,COLOR000000,LINETHICK;
CKMM15RG:MA(IF(DBCK,REFX(H-L,1),H-L),CKMM15),LINETHICK,NOAXIS;
出場RG參數1:MAX(IF(RG<=150,30.1,IF(RG>150 AND RG<=250,40.1,50.1)),CKMM15RG*2);
/////(部分省略)
上下XDS:=上下UP-上下DN;
上下XDSS:=REF(上下XDS,BARSLAST(上下XDS<>0));
上下XD:if(barpos<lbound(上下XDSS) or lbound(上下XDSS)=0,0,上下XDSS),COLOR000000,LINETHICK,NOAXIS;//從首根K棒就有數值
首訊多:=SUM(上下XD<>0,CKSP)=1 AND 上下XD=1; 首訊空:=SUM(上下XD<>0,CKSP)=1 AND 上下XD=-1; 首訊:IF(首訊多,1,IF(首訊空,-1,0)),COLOR000000;
VERTLINE(首訊<>0 AND 首訊多),COLORRED;
VERTLINE(首訊<>0 AND 首訊空),COLORBLUE,LINEDOT;
空守:LLV(L,BARSLAST(首訊空))+出場RG參數1,COLORBLUE;
多守:HHV(H,BARSLAST(首訊多))-出場RG參數1,COLORRED;
首訊只會出現一次!
以附圖中首訊空成立為例說明規則==
1,首訊空成立-->防守:空守;
2,收盤價>防守-->防守:=多守;
如此多空交替下,畫出防守這條折線!
(因為要將後面的數值,丟回前面運算,超出能力範圍了)
謝謝!
重貼完整公式請協助,謝謝!
FK:=BARPOS=1 or ref(time,1)<084500 and time>=084500;
DBCK:=if(datatype=0 or datatype=12,FK,IF(datatype=1 or datatype=11 or datatype=2,TradeDate<>REF(TradeDate,1) or IsRegularFBar,BARPOS=1));
CKSP:=BARSLAST(DBCK)+1,LINETHICK;
CKMM4:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=4,CKSP,4),4),LINETHICK;
CKMM15:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=15,CKSP,15),15),LINETHICK;
當日高:=HHV(H,CKSP); 當日低:=LLV(L,CKSP),COLORRED;
IF DATATYPE=12 OR DATATYPE=1 OR DATATYPE=2 THEN RG:當日高-當日低,COLOR000000,LINETHICK;
CKMM15RG:MA(IF(DBCK,REFX(H-L,1),H-L),CKMM15),LINETHICK,NOAXIS;
出場RG參數1:MAX(IF(RG<=150,30.1,IF(RG>150 AND RG<=250,40.1,50.1)),CKMM15RG*2);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
上:=LLV(H,CKMM4),COLORBLUE,LINETHICK;
下:=HHV(L,CKMM4),COLORRED,LINETHICK;
上R1S:=REF(REF(上,1),BARSLAST(上<>REF(上,1)));
下R1S:=REF(REF(下,1),BARSLAST(下<>REF(下,1)));
上R1:=if(barpos<lbound(上R1S) or lbound(上R1S)=0,上,上R1S);
下R1:=if(barpos<lbound(下R1S) or lbound(下R1S)=0,下,下R1S);
上升:=CROSS(IF(DBCK,0,上>上R1),0.8); 上降:=CROSS(IF(DBCK,0,上<上R1),0.8); 下升:=CROSS(IF(DBCK,0,下>下R1),0.8); 下降:=CROSS(IF(DBCK,0,下<下R1),0.8);
上XDS:=上升-上降; 上XD:=IF(DBCK,0,IF(SUM(上升 OR 上降,CKSP)=0,0,REF(上XDS,BARSLAST(DBCK OR 上XDS<>0)))),COLOR000000,LINETHICK,NOAXIS;
下XDS:=下升-下降; 下XD:=IF(DBCK,0,IF(SUM(下升 OR 下降,CKSP)=0,0,REF(下XDS,BARSLAST(DBCK OR 下XDS<>0)))),COLOR000000,LINETHICK,NOAXIS;
上下UP:=CROSS(上XD=1 AND 下XD=1,0.8) OR (CROSS(上<下,0.8) AND 下>REF(下,1)); 上下DN:=CROSS(上XD=-1 AND 下XD=-1,0.8) OR (CROSS(上<下,0.8) AND 上<REF(上,1));
上下XDS:=上下UP-上下DN;
上下XDSS:=REF(上下XDS,BARSLAST(上下XDS<>0));
上下XD:if(barpos<lbound(上下XDSS) or lbound(上下XDSS)=0,0,上下XDSS),COLOR000000,LINETHICK,NOAXIS;//從首根K棒就有數值
首訊多:=SUM(上下XD<>0,CKSP)=1 AND 上下XD=1; 首訊空:=SUM(上下XD<>0,CKSP)=1 AND 上下XD=-1; 首訊:IF(首訊多,1,IF(首訊空,-1,0)),COLOR000000;
VERTLINE(首訊<>0 AND 首訊多),COLORRED;
VERTLINE(首訊<>0 AND 首訊空),COLORBLUE,LINEDOT;
空守:LLV(L,BARSLAST(首訊空)+1)+出場RG參數1,COLORBLUE;
多守:HHV(H,BARSLAST(首訊多)+1)-出場RG參數1,COLORRED;
KLINE(O,H,L,C,0);
引用:
最初由 Markchu7 發表
重貼完整公式請協助,謝謝!
FK:=BARPOS=1 or ref(time,1)<084500 and time>=084500;
DBCK:=if(datatype=0 or datatype=12,FK,IF(datatype=1 or datatype=11 or datatype=2,TradeDate<>REF(TradeDate,1) or IsRegularFBar,BARPOS=1));
CKSP:=BARSLAST(DBCK)+1,LINETHICK;
CKMM4:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=4,CKSP,4),4),LINETHICK;
CKMM15:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=15,CKSP,15),15),LINETHICK;
當日高:=HHV(H,CKSP); 當日低:=LLV(L,CKSP),COLORRED;
IF DATATYPE=12 OR DATATYPE=1 OR DATATYPE=2 THEN RG:當日高-當日低,COLOR000000,LINETHICK;
CKMM15RG:MA(IF(DBCK,REFX(H-L,1),H-L),CKMM15),LINETHICK,NOAXIS;
出場RG參數1:MAX(IF(RG<=150,30.1,IF(RG>150 AND RG<=250,40.1,50.1)),CKMM15RG*2);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
上:=LLV(H,CKMM4),COLORBLUE,LINETHICK;
下:=HHV(L,CKMM4),COLORRED,LINETHICK;
上R1S:=REF(REF(上,1),BARSLAST(上<>REF(上,1)));
下R1S:=REF(REF(下,1),BARSLAST(下<>REF(下,1)));
上R1:=if(barpos<lbound(上R1S) or lbound(上R1S)=0,上,上R1S);
下R1:=if(barpos<lbound(下R1S) or lbound(下R1S)=0,下,下R1S);
上升:=CROSS(IF(DBCK,0,上>上R1),0.8); 上降:=CROSS(IF(DBCK,0,上<上R1),0.8); 下升:=CROSS(IF(DBCK,0,下>下R1),0.8); 下降:=CROSS(IF(DBCK,0,下<下R1),0.8);
上XDS:=上升-上降; 上XD:=IF(DBCK,0,IF(SUM(上升 OR 上降,CKSP)=0,0,REF(上XDS,BARSLAST(DBCK OR 上XDS<>0)))),COLOR000000,LINETHICK,NOAXIS;
下XDS:=下升-下降; 下XD:=IF(DBCK,0,IF(SUM(下升 OR 下降,CKSP)=0,0,REF(下XDS,BARSLAST(DBCK OR 下XDS<>0)))),COLOR000000,LINETHICK,NOAXIS;
上下UP:=CROSS(上XD=1 AND 下XD=1,0.8) OR (CROSS(上<下,0.8) AND 下>REF(下,1)); 上下DN:=CROSS(上XD=-1 AND 下XD=-1,0.8) OR (CROSS(上<下,0.8) AND 上<REF(上,1));
上下XDS:=上下UP-上下DN;
上下XDSS:=REF(上下XDS,BARSLAST(上下XDS<>0));
上下XD:if(barpos<lbound(上下XDSS) or lbound(上下XDSS)=0,0,上下XDSS),COLOR000000,LINETHICK,NOAXIS;//從首根K棒就有數值
首訊多:=SUM(上下XD<>0,CKSP)=1 AND 上下XD=1; 首訊空:=SUM(上下XD<>0,CKSP)=1 AND 上下XD=-1; 首訊:IF(首訊多,1,IF(首訊空,-1,0)),COLOR000000;
VERTLINE(首訊<>0 AND 首訊多),COLORRED;
VERTLINE(首訊<>0 AND 首訊空),COLORBLUE,LINEDOT;
空守:LLV(L,BARSLAST(首訊空)+1)+出場RG參數1,COLORBLUE;
多守:HHV(H,BARSLAST(首訊多)+1)-出場RG參數1,COLORRED;
KLINE(O,H,L,C,0);
果然是程式小白!不僅詞不達意,兼且多此一舉!
報告總版主,根本沒有多守,空守這兩條線!只有一條線'防守',且讓我以今日盤勢之時間順序做一說明!
1,TIME=084620,首訊條件成立且=1,此時在下方畫防守:=HHV(H,BARSLAST(首訊)+1)-出場RG參數1!
2,TIME=085900,跌破防守成立,此時在上方畫防守:=LLV(L,BARSLAST(跌破防守)+1)+出場RG參數1!
3,TIME=090200,突破防守成立,此時在下方畫防守:=HHV(H,BARSLAST(突破防守)+1)-出場RG參數1!
如此依序的畫防守!
如果首訊=-1,就相反是一上一下的防守畫法!
就像附圖一般!
感謝協助!
引用:
最初由 Markchu7 發表
果然是程式小白!不僅詞不達意,兼且多此一舉!
報告總版主,根本沒有多守,空守這兩條線!只有一條線'防守',且讓我以今日盤勢之時間順序做一說明!
1,TIME=084620,首訊條件成立且=1,此時在下方畫防守:=HHV(H,BARSLAST(首訊)+1)-出場RG參數1!
2,TIME=085900,跌破防守成立,此時在上方畫防守:=LLV(L,BARSLAST(跌破防守)+1)+出場RG參數1!
3,TIME=090200,突破防守成立,此時在下方畫防守:=HHV(H,BARSLAST(突破防守)+1)-出場RG參數1!
如此依序的畫防守!
如果首訊=-1,就相反是一上一下的防守畫法!
就像附圖一般!
感謝協助!
原碼:
FK:=BARPOS=1 or ref(time,1)<084500 and time>=084500; DBCK:=if(datatype=0 or datatype=12,FK,IF(datatype=1 or datatype=11 or datatype=2,TradeDate<>REF(TradeDate,1) or IsRegularFBar,BARPOS=1)); CKSP:=BARSLAST(DBCK)+1,LINETHICK; CKMM4:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=4,CKSP,4),4),LINETHICK; CKMM15:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=15,CKSP,15),15),LINETHICK; 當日高:=HHV(H,CKSP); 當日低:=LLV(L,CKSP),COLORRED; IF DATATYPE=12 OR DATATYPE=1 OR DATATYPE=2 THEN RG:當日高-當日低,COLOR000000,LINETHICK; CKMM15RG:MA(IF(DBCK,REFX(H-L,1),H-L),CKMM15),LINETHICK,NOAXIS; 出場RG參數1:MAX(IF(RG<=150,30.1,IF(RG>150 AND RG<=250,40.1,50.1)),CKMM15RG*2) linethick; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 上:=LLV(H,CKMM4),COLORBLUE,LINETHICK; 下:=HHV(L,CKMM4),COLORRED,LINETHICK; 上R1S:=REF(REF(上,1),BARSLAST(上<>REF(上,1))); 下R1S:=REF(REF(下,1),BARSLAST(下<>REF(下,1))); 上R1:=if(barpos<lbound(上R1S) or lbound(上R1S)=0,上,上R1S); 下R1:=if(barpos<lbound(下R1S) or lbound(下R1S)=0,下,下R1S); 上升:=CROSS(IF(DBCK,0,上>上R1),0.8); 上降:=CROSS(IF(DBCK,0,上<上R1),0.8); 下升:=CROSS(IF(DBCK,0,下>下R1),0.8); 下降:=CROSS(IF(DBCK,0,下<下R1),0.8); 上XDS:=上升-上降; 上XD:=IF(DBCK,0,IF(SUM(上升 OR 上降,CKSP)=0,0,REF(上XDS,BARSLAST(DBCK OR 上XDS<>0)))),COLOR000000,LINETHICK,NOAXIS; 下XDS:=下升-下降; 下XD:=IF(DBCK,0,IF(SUM(下升 OR 下降,CKSP)=0,0,REF(下XDS,BARSLAST(DBCK OR 下XDS<>0)))),COLOR000000,LINETHICK,NOAXIS; 上下UP:=CROSS(上XD=1 AND 下XD=1,0.8) OR (CROSS(上<下,0.8) AND 下>REF(下,1)); 上下DN:=CROSS(上XD=-1 AND 下XD=-1,0.8) OR (CROSS(上<下,0.8) AND 上<REF(上,1)); 上下XDS:=上下UP-上下DN; 防守:BARSSINCE(上下XDS<>0)*0 linethick0; 多空:C*0 linethick; HH:=H; LL:=L; CC:=C; Dir:=0; for i=lbound(DBCK) to datacount do begin 多空[i]:=Dir; if DBCK[i] then Dir:=0; if Dir=0 then begin Dir:=上下XDS[i]; if Dir=1 then begin MHL:=HH[i]; 防守[i]:=MHL-出場RG參數1[i]; end else if Dir=-1 then begin MHL:=LL[i]; 防守[i]:=MHL+出場RG參數1[i]; end; end else if Dir=1 then begin if HH[i]>MHL then MHL:=HH[i]; 防守[i]:=MHL-出場RG參數1[i]; if CC[i]<防守[i] then begin Dir:=-1; MHL:=LL[i]; end; end else if Dir=-1 then begin if LL[i]<MHL then MHL:=LL[i]; 防守[i]:=MHL+出場RG參數1[i]; if CC[i]>防守[i] then begin Dir:=1; MHL:=HH[i]; end; end; end; PARTLINE(sum(多空,2)=2,防守) colorred; PARTLINE(sum(多空,2)=-2,防守) colorblue;
謝謝總版主鼎力相助!這兩天好好體會學習!
十分感激!
感謝總版主鼎力相助!這兩天好好體會觀察!
十分感激!
感謝總版主的協助!使用後發現3個疑問,還請指導!
1,附圖中垂直虛線位置為上下XDS第一個不為0成立之K棒為何第一個多空<>0成立不是在此根K棒?是否與2的原因有關?
2,上下XDS第一個不為0成立之K棒的次一根K棒上下XDS=0有關此狀況是否加一句REF(上下XDS,BARSLAST(上下XDS<>0));可以解決?
3,在多空=1的狀態下,防守應該是只高不低,但圖中A,B兩處卻呈現下降情形!
以上問題,有勞總版主指導!謝謝!
補圖!
引用:
最初由 Markchu7 發表
感謝總版主的協助!使用後發現3個疑問,還請指導!
1,附圖中垂直虛線位置為上下XDS第一個不為0成立之K棒為何第一個多空<>0成立不是在此根K棒?是否與2的原因有關?
2,上下XDS第一個不為0成立之K棒的次一根K棒上下XDS=0有關此狀況是否加一句REF(上下XDS,BARSLAST(上下XDS<>0));可以解決?
3,在多空=1的狀態下,防守應該是只高不低,但圖中A,B兩處卻呈現下降情形!
以上問題,有勞總版主指導!謝謝!
感謝總版主的解說!
因為防守關係到多空數值的變化!請問可以設定成
HHV(MHL-出場RG參數1[i],XXX)之類只升不降或只降不升的形式嗎?
程式小白的提問,勿見怪!
引用:
最初由 Markchu7 發表
感謝總版主的解說!
因為防守關係到多空數值的變化!請問可以設定成
HHV(MHL-出場RG參數1[i],XXX)之類只升不降或只降不升的形式嗎?
程式小白的提問,勿見怪!
所以改為
出場RG參數1:IF(RG<=150,30.1,IF(RG>150 AND RG<=250,40.1,50.1)) linethick;
就可以式嗎?
引用:
最初由 Markchu7 發表
所以改為
出場RG參數1:IF(RG<=150,30.1,IF(RG>150 AND RG<=250,40.1,50.1)) linethick;
就可以式嗎?
全部時間均為台灣時間, 現在時間為23:23 | 總頁數 (2): [1] 2 » 在這個頁面顯示本主題全部的 17 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.