相關標簽:
?
{<江恩第九條的時間>公式 X1835}
{☆§提示:1首先十分感謝做多2008朋友的支持,在他的建議下,我修改老公式為學習了江恩第九條知識的同學所使用,
江恩買賣十二法則第九條 當出現高低或新高時買入
(1) 當市價開創新高,表示市勢向上,可以追市買入。 (2) 當市價下破新底,表示市勢向下,可以追沽。
時間的因素 (1) 由從前頂部到底部的時間; (2) 由從前底部到底部的時間;
(3) 由重要頂部到重要底部時間; (4) 由重要底部到重要頂部的時間。
2只是粗略畫圖,計算機畫線不能代替手工作圖。
3確定歷史數據完整。}
{☆§說明: 1左上方顯示波段所在時間段的周期數字。參數"頂對底開關”是需要在0和1之間經常調整的,實現從頂底時間到時底對底頂對頂時間的轉換。多嘗試調調參數,別怕弄出問題大不了就刪掉公式重新導入。
2'江九條'中江恩特別要注意的是4點,但我希望能有更多選擇,所以公式可以調節底對底 頂對頂 頂對底 底對頂 指定時間的頂底對光標的底或頂,誰知道哪個就管用了呢。
3使用指定時間的時候,公式必須由使用者打出十字光標后,找到需要的那根K線,左上方顯示有K線對應的日期參數,填寫參數到參數名稱時'指定位置'后才能使用,
4預設了1倍和2倍的,不可更改。另留有有4個自定義的數字,可以填寫時間段乘以的倍數(可以帶小數點的,但是在圖里顯示時候,考慮地方小就顯示保留了2位小數,
但在最初計算時間倍數時使用的是填寫的完整參數,比如填寫1.618時,顯示時是1.62倍,但計算還是用1.618算后取整的。)
自定義1和自定義2,目前預設時為0,由使用者自己寫入所需的比例數值。自定義3和4被我填上了數值3和4,也可由使用者自行更改。}
?
?
原理解析:
源碼:
?
input:p(10,1,30),頂對底開關(0,0,1),參a(2,1,111),參b(1,1,111),參c(1,1,111),A偏移(0),B偏移(0),C偏移(0),指定時間(0,0,1381231),參自定義1(0),參自定義2(0),參自定義3(3),參自定義4(4);x1:=TROUGH(4,p,1);//BARPOS
x8:=TROUGHBARS(4,p,1)=0;x11:=TROUGHBARS(4,p,參a);x18:=TROUGHBARS(4,p,參b);
x13:=TROUGHBARS(4,p,參c);x3:=PEAK(4,p,1);
x31:=PEAKBARS(4,p,參a);
x38:=PEAKBARS(4,p,參b);
x33:=PEAKBARS(4,p,參c);x5:=PEAKBARS(4,p,1)=0;
指定位置:hhv(if(指定時間>0 and date=指定時間,BARPOS,0),0),linethick0;
光標位置:=SYSPARAM(1),linethick0;{ldis:=if(BARPOS=SYSPARAM(1),x18,0),linethick0;
hdis:=if(BARPOS=SYSPARAM(1),x38,0),linethick0;}
cldis:=x13[SYSPARAM(1)],linethick0;
chdis:=x33[SYSPARAM(1)],linethick0;
tcl:=光標位置-cldis,linethick0;
tch:=光標位置-chdis,linethick0;bldis:=x18[SYSPARAM(1)],linethick0;
bhdis:=x38[SYSPARAM(1)],linethick0;
tbl:=光標位置-bldis,linethick0;
tbh:=光標位置-bhdis,linethick0;aldis:=x11[SYSPARAM(1)],linethick0;
ahdis:=x31[SYSPARAM(1)],linethick0;
tal:=光標位置-aldis,linethick0;
tah:=光標位置-ahdis,linethick0;Ka:=IF(tcl>tch,tal+A偏移,tah+A偏移),linethick0;
Kb:=IF(tcl>tch,tbh+B偏移,tbl+B偏移),linethick0;
Kc:=IF(tcl>tch,tcl+C偏移,tch+C偏移),linethick0;
PH:=H;
PL:=L;{說:=Ka;
話:=Kb;
啊:=Kc;}Pa:=IF(tcl>tch,PL[tal+A偏移],PH[tah+A偏移]),LINETHICK0;
Pb:=IF(tcl>tch,PH[tbh+B偏移],PL[tbl+B偏移]),LINETHICK0;
Pc:=IF(tcl>tch,PL[tcl+C偏移],PH[tch+C偏移]),LINETHICK0;y:=year;m:=month;d:=day;
光標時間:=hhv(if(barpos=SYSPARAM(1),date,0),0),linethick0;
DRAWTEXTEX(指定時間=0,1,5,5,'光標時間是 '+numtostr(y[SYSPARAM(1)],0)+STRRIGHT(numtostr(光標時間,0),4)+' 換算 '+numtostr(光標時間,0)),color77FFFF;
DRAWTEXTEX(指定時間>0,1,5,5,'指定時間是 '+numtostr(指定時間,0)),color77FFFF;{☆§-------------------------------------§☆}
if 頂對底開關=0 then begin {底對底或頂對頂}
drawline(指定時間=0 and barpos=Ka,Pa,barpos=Kb,Pb,0),color77FFFF,linethick1;
drawline(barpos=Kb,Pb,barpos=Kc,Pc,0),color77FFFF,linethick1;
drawline(指定時間>0 and barpos=指定位置,zig(4,p),barpos=Kb,Pb,0),color77FFFF,linethick1;drawline(barpos=Ka,Pa,barpos=Kc,Pc,0),colorffaa99,linethick1;
tac:if(指定時間>0,Kc-指定位置,Kc-Ka),linethick0;
DRAWTEXTEX(1,1,5,50,'初始時間段有 '+numtostr(tac,0)+' 個周期'),color77FFFF;
VERTLINE(指定時間=0 and barpos=Ka),colorffaa99,LINEDOT;
VERTLINE(指定時間>0 and barpos=指定位置),colorffaa99,LINEDOT;
VERTLINE(barpos=Kc),colorffaa99,LINEDOT;
VERTLINE(barpos=Kc+tac*1),colorred,LINEDOT;
drawtext(barpos=Kc+tac*1,Pc,'1'),color77FFFF;
VERTLINE(barpos=Kc+tac*2),colorred,LINEDOT;
drawtext(barpos=Kc+tac*2,Pc,'2'),color77FFFF;if 參自定義1>0then {call}
begin
VERTLINE(barpos=Kc+INTPART(tac*參自定義1)),colorred,LINEDOT;
drawtext(barpos=Kc+INTPART(tac*參自定義1),Pc,NUMTOSTR(參自定義1,2)),color77FFFF;
end; {retn}
if 參自定義2>0 then {call}
begin
VERTLINE(barpos=Kc+INTPART(tac*參自定義2)),colorred,LINEDOT;
drawtext(barpos=Kc+INTPART(tac*參自定義2),Pc,NUMTOSTR(參自定義2,2)),color77FFFF;
end; {retn}if 參自定義3>0 then {call}
begin
VERTLINE(barpos=Kc+INTPART(tac*參自定義3)),colorred,LINEDOT;
drawtext(barpos=Kc+INTPART(tac*參自定義3),Pc,NUMTOSTR(參自定義3,2)),color77FFFF;
end; {retn}if 參自定義4>0 then {call}
begin
VERTLINE(barpos=Kc+INTPART(tac*參自定義4)),colorred,LINEDOT;
drawtext(barpos=Kc+INTPART(tac*參自定義4),Pc,NUMTOSTR(參自定義4,2)),color77FFFF;
end; {retn}end;{☆§-------------------------------------§☆}
if 頂對底開關>0 then begin {頂對底或底對頂}drawline(指定時間=0 and barpos=Kb,Pb,barpos=Kc,Pc,0),color77FFFF,linethick1;
drawline(指定時間>0 and barpos=指定位置,zig(4,p),barpos=Kc,Pc,0),color77FFFF,linethick1;
//xx:=x;
//SETLBOUND(xx,k看);
{{小花園}---------------------說話啊-------------------}
tbc:if(指定時間>0,Kc-指定位置,Kc-Kb),linethick0;DRAWTEXTEX(1,1,5,50,'初始時間段有 '+numtostr(tbc,0)+' 個周期'),color00aaFF;VERTLINE(指定時間=0 and barpos=Kb),colorffaa99,LINEDOT;
VERTLINE(指定時間>0 and barpos=指定位置),colorffaa99,LINEDOT;
VERTLINE(barpos=Kc),colorffaa99,LINEDOT;
VERTLINE(barpos=Kc+tbc*1),colorred,LINEDOT;
drawtext(barpos=Kc+tbc*1,Pc,'1'),color00aaFF;
VERTLINE(barpos=Kc+tbc*2),colorred,LINEDOT;
drawtext(barpos=Kc+tbc*2,Pc,'2'),color00aaFF;{☆§-------------------------------------§☆}
if 參自定義1>0then {call}
begin
VERTLINE(barpos=Kc+INTPART(tbc*參自定義1)),colorred,LINEDOT;
drawtext(barpos=Kc+INTPART(tbc*參自定義1),Pc,NUMTOSTR(參自定義1,2)),color00aaFF;
end; {retn}
if 參自定義2>0 then {call}
begin
VERTLINE(barpos=Kc+INTPART(tbc*參自定義2)),colorred,LINEDOT;
drawtext(barpos=Kc+INTPART(tbc*參自定義2),Pc,NUMTOSTR(參自定義2,2)),color00aaFF;
end; {retn}if 參自定義3>0 then {call}
begin
VERTLINE(barpos=Kc+INTPART(tbc*參自定義3)),colorred,LINEDOT;
drawtext(barpos=Kc+INTPART(tbc*參自定義3),Pc,NUMTOSTR(參自定義3,2)),color00aaFF;
end; {retn}if 參自定義4>0 then {call}
begin
VERTLINE(barpos=Kc+INTPART(tbc*參自定義4)),colorred,LINEDOT;
drawtext(barpos=Kc+INTPART(tbc*參自定義4),Pc,NUMTOSTR(參自定義4,2)),color00aaFF;
end; {retn}end;
{-------------------------------------}
{覺得k線被線阻擋,就重新畫k線}
KLINE(O,H,L,C,0); {§未來多美好 公式組§}{題外話 一直以來,在和周圍股友交流中有種感覺,不知道各位是否也有同感,那就是學習
經典理論知識分析的人看不起只會用公式的,而用公式的人又覺得傳統分析已經跟不上時代了。
我覺得這種誤會源于缺乏溝通,假如傳統分析者要是了解到用公式可以更加方便的“一把尺量天下”
,只用公式的人要是清楚求新求變的公式內核算法都是由傳統技術演變而來,然后互相重視起來,就好了。
希望我做的公式能給使用者帶來一點方便。}{程序化交易 m.kzuj.com.cn }
{程序化交易 m.kzuj.com.cn }
{程序化交易 m.kzuj.com.cn }
公式導入教程: 【通達信公式源碼導入方法教程】 【同花順公式源碼導入方法教程】 【大智慧新一代公式源碼導入方法教程】
?