求老師指點下畫線函數
作者:文華財經 來源:cxh99.com 發布時間:2024年06月12日
-
咨詢內容:
?//——————————區間連線——————————//思路:金叉區間取高點,死叉區間取低點,高低點連線。DRAWLINE3(金叉點,HHV(H,SUMBARS(金叉點,2)),HHVBARS(H,SUMBARS(金叉點,2)),金叉點,LLV(L,SUMBARS(死叉點,1)),LLVBARS(L,SUMBARS(死叉點,1)),0),LINETHICK2,COLORGREEN;//下跌線DRAWLINE3(死叉點,LLV(L,SUMBARS(死叉點,2)),LLVBARS(L,SUMBARS(死叉點,2)),死叉點,HHV(H,SUMBARS(金叉點,1)),HHVBARS(H,SUMBARS(金叉點,1)),0),LINETHICK2,COLORRED;//上升線
//問題:畫線存在折返和空缺,不連貫,如請問如何修正?
?
?來源:程序化99
-
文華技術人員:
提供完整指標我們看下。
?
?來源: www.kzuj.com.cn
-
文華客服:
?
//——————————MACD指標設定——————————
SHORT:=13;
LONG:=34;
M:=9;
DIFF:= EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);
DEA:=EMA(DIFF,M);
MACD:=2*(DIFF-DEA);
//——————————區間分割——————————
//思路:金叉死叉信號交替出現,并且周期間隔大于T。
T:=10;
JC:=CROSS(DIFF,DEA);//金叉信號
SC:=CROSSDOWN(DIFF,DEA);//死叉信號
N1:=BARSLAST(JC)+1;//上次金叉周期
N2:=BARSLAST(SC)+1;//上次死叉周期
有效金叉:=JC && N2>T;//金叉信號(間隔夠大)
有效死叉:=SC && N1>T;//死叉信號(間隔夠大)
金叉點:=有效金叉 && COUNT(有效金叉,BARSLAST(有效死叉)+1)=1;//前面實現了一次有效金叉(迭代)
死叉點:=有效死叉 && COUNT(有效死叉,BARSLAST(有效金叉)+1)=1;//前面實現了一次有效死叉(迭代)
VERTLINE(金叉點,COLORYELLOW);
VERTLINE(死叉點,COLORWHITE);
//——————————區間連線——————————
//思路:金叉區間取高點,死叉區間取低點,高低點連線。
DRAWLINE3(金叉點,HHV(H,SUMBARS(金叉點,2)),HHVBARS(H,SUMBARS(金叉點,2)),金叉點,LLV(L,SUMBARS(死叉點,1)),LLVBARS(L,SUMBARS(死叉點,1)),0),LINETHICK2,COLORGREEN;//下跌線
DRAWLINE3(死叉點,LLV(L,SUMBARS(死叉點,2)),LLVBARS(L,SUMBARS(死叉點,2)),死叉點,HHV(H,SUMBARS(金叉點,1)),HHVBARS(H,SUMBARS(金叉點,1)),0),LINETHICK2,COLORRED;//上升線
//問題:畫線存在折返,和空缺?
//——————————畫出最近黃金分割線——————————
?
-
網友回復:
?折返是和您的思路有關,取的是兩個金叉之間的最高價和兩個死叉之間的最低價。
這樣的思路就很有可能出現折返的現象。
一般編寫高低價,都是取金叉到死叉之間,死叉到金叉之間,這樣的思路,這樣是不會存在折返現象的。
參考:
SHORT:=13;LONG:=34;M:=9;DIFF:= EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);DEA:=EMA(DIFF,M);MACD:=2*(DIFF-DEA);
//——————————區間分割——————————//思路:金叉死叉信號交替出現,并且周期間隔大于T。T:=10;JC:=CROSS(DIFF,DEA);//金叉信號SC:=CROSSDOWN(DIFF,DEA);//死叉信號N1:=BARSLAST(JC)+1;//上次金叉周期N2:=BARSLAST(SC)+1;//上次死叉周期有效金叉:=JC && N2>T;//金叉信號(間隔夠大)有效死叉:=SC && N1>T;//死叉信號(間隔夠大)金叉點:=有效金叉 && COUNT(有效金叉,BARSLAST(有效死叉)+1)=1;//前面實現了一次有效金叉(迭代)死叉點:=有效死叉 && COUNT(有效死叉,BARSLAST(有效金叉)+1)=1;//前面實現了一次有效死叉(迭代)VERTLINE(金叉點,COLORYELLOW);VERTLINE(死叉點,COLORWHITE);
//——————————區間連線——————————//思路:金叉區間取高點,死叉區間取低點,高低點連線。DRAWLINE3(金叉點,HHV(H,SUMBARS(金叉點,2)),HHVBARS(H,SUMBARS(金叉點,2)),死叉點,LLV(L,SUMBARS(死叉點,2)),LLVBARS(L,SUMBARS(死叉點,2)),0),LINETHICK2,COLORGREEN;//下跌線DRAWLINE3(死叉點,LLV(L,SUMBARS(死叉點,2)),LLVBARS(L,SUMBARS(死叉點,2)),金叉點,HHV(H,SUMBARS(金叉點,2)),HHVBARS(H,SUMBARS(金叉點,2)),0),LINETHICK2,COLORRED;//上升線
?
-
網友回復:
?1.如果按照連續的(金叉到死叉)(死叉到金叉)的區間取高低,為什么會有空缺?老師可以幫忙改成這種思路的代碼嗎?
?2.如果按照有重合的區間(金叉到金叉)(死叉到死叉)的區間去高低,過濾掉折返的(通過對比周期大小),如果折返,就將原本的3條線化成連續的1條。這種稍微復雜的思路,麥語言上能夠實現嗎?