趨勢直線副圖和主圖指標,旨在通過技術分析工具幫助交易者識別市場趨勢和潛在的買賣點。
?
?
副圖指標:基于KDJ指標的交易策略
1. RSV值計算:
???- RSV(未成熟隨機值)反映了當前收盤價在過去一段時間內的相對位置。通過計算當前收盤價與過去9周期最低價的差值,再除以過去9周期最高價與最低價的差值,得到RSV值。
?
2. K值和D值的計算:
???- K值是基于RSV值的簡單移動平均值(SMA),計算周期為3。
???- D值是基于K值的簡單移動平均值,計算周期同樣為3。
?
3. J值的計算:
???- J值是K值和D值的線性組合,公式為:J = 3 * K - 2 * D。
?
4. 圖表繪制:
???- 在圖表上繪制K值(白色)、D值(黃色)和J值(紫色)。
???- 注釋掉的代碼原本用于繪制80和20的水平線,表示超買和超賣水平。
?
5. 趨勢線創建:
???- 創建兩條新趨勢線,分別表示超買(80)和超賣(20)水平。
???- 設置趨勢線的寬度、樣式和顏色,以便在圖表上清晰顯示。
?
主圖指標:阻力線和支撐線的繪制
1. 阻力線繪制:
???- 當當前最高價是過去20周期的最高價時,刪除舊的阻力線并繪制新的阻力線。
???- 使用`tl_new_dt`函數基于時間和價格創建新的阻力線,線條向右延伸,顏色為紅色,樣式為5。
?
2. 支撐線繪制:
???- 當當前最低價是過去20周期的最低價時,刪除舊的支撐線并繪制新的支撐線。
???- 使用`tl_new_dt`函數基于時間和價格創建新的支撐線,線條向右延伸,顏色為綠色,樣式為4。
?
交易邏輯思路和特點
1. 副圖指標的交易邏輯:
???- 通過KDJ指標(隨機指標)來判斷市場的超買和超賣狀態。K值和D值的交叉點可以作為買入和賣出的信號。
???- J值是對K值和D值的進一步加工,提供了更多的交易信號。
???- 超買和超賣水平線(80和20)可以幫助交易者識別市場的極端情況,避免在高風險區域進行交易。
?
2. 主圖指標的交易邏輯:
???- 阻力線和支撐線的繪制幫助交易者識別價格的關鍵水平。當價格接近這些關鍵水平時,可能會遇到阻力或支撐。
???- 新的方法基于時間和價格創建線條,確保線條的準確性和實時性。
???- 阻力線和支撐線的顏色和樣式設置使得圖表更加直觀,便于交易者快速識別。
?
3. 綜合分析:
???- 副圖指標和主圖指標結合使用,可以提供更全面的市場分析。副圖指標側重于短期價格動量的分析,而主圖指標則提供了中長期價格趨勢的支持和阻力信息。
???- 這種綜合分析方法有助于交易者在不同時間框架內做出更準確的交易決策。
?
趨勢直線指標通過副圖和主圖的結合,提供了一個多層次的市場分析工具。
副圖指標基于KDJ指標,幫助交易者識別短期的超買和超賣狀態,而主圖指標則通過繪制阻力線和支撐線,提供了中長期價格趨勢的關鍵信息。
這種綜合分析方法有助于交易者在不同時間框架內做出更準確的交易決策,提高交易的成功率和風險管理能力。
?
?
以下是副圖指標代碼的逐行注釋:
// 輸入參數定義
Input: len(9), m1(3), m2(3), overbuy(80), oversell(20);
?
// 變量聲明,用于存儲RSV、K值、D值、J值
var: rsv(50), kvalue(50), dvalue(50), jvalue(50);
?
// 計算當前收盤價與過去len周期最低價的差值
value1 = Close - Lowest(low, len);
?
// 計算過去len周期最高價與最低價的差值
value2 = Highest(high, len) - Lowest(low, len);
?
// 如果value2不為0,則計算RSV值,避免除以零的錯誤
if value2 <> 0 then begin
????// 計算RSV值,表示當前價格相對于過去len周期價格范圍的位置
????rsv = 100 * value1 / value2;
????
????// 使用簡單移動平均計算K值,基于RSV值
????kvalue = SMA(rsv, m1, 1);
????
????// 使用簡單移動平均計算D值,基于K值
????dvalue = SMA(kvalue, m2, 1);
end;
?
// 計算J值,它是K值和D值的一個組合
jvalue = 3 * kvalue - 2 * dvalue;
?
// 在圖表上繪制K值,顏色為白色
plot1(kvalue, "K", white);
?
// 在圖表上繪制D值,顏色為黃色
plot2(dvalue, "D", yellow);
?
// 注釋掉的代碼,原本用于繪制80和20的水平線,顏色分別為深灰色
// plot3(overbuy, "80", darkgray);
// plot4(oversell, "20", darkgray);
?
// 在圖表上繪制J值,顏色為紫色
Plot5(jvalue, "J", rgb(255, 0, 255));
?
// 創建兩條新趨勢線,用于表示超買和超賣水平
value1 = tl_new_self_bn(1, 20, currentbar, 20); // 創建超賣水平線
value2 = tl_new_self_bn(1, 80, currentbar, 80); // 創建超買水平線
?
// 設置趨勢線的寬度
tl_setsize(value1, 1);
tl_setsize(value2, 1);
?
// 設置趨勢線的樣式
tl_setstyle(value1, 4); // 樣式4
tl_setstyle(value2, 3); // 樣式3
?
// 設置趨勢線的顏色
tl_setcolor(value1, lightgray); // 超賣水平線顏色為淺灰色
tl_setcolor(value2, Magenta); ??// 超買水平線顏色為洋紅色
?
副圖指標實現了一個基于KDJ指標(隨機指標)的交易策略,其中K值和D值是通過RSV值計算得出的,而J值是K值和D值的線性組合。代碼還包括在圖表上繪制K值、D值和J值的命令,以及創建和設置表示超買和超賣水平趨勢線的命令。
?
以下是主圖指標代碼的逐行注釋:
// 繪制阻力線
if high = Highest(high, 20) then begin??// 如果當前最高價是過去20周期的最高價,則表示新的最高點
????tl_delete(value1); // 刪除舊的阻力線
????
????// 使用舊的方法創建新的阻力線,注釋掉了
????// value1 = tl_new(date, time, high, date, time, high); // 繪制新的阻力線
????
????// 使用新的方法創建新的阻力線,基于時間和價格
????value1 = tl_new_dt(datetime[20], high, datetime, high);
????
????tl_setextright(value1, true); // 設置線條向右延伸
????
????tl_setcolor(value1, red); // 設置線條顏色為紅色
????
????tl_setsize(value1, 1); // 設置線條寬度為1
????
????tl_setstyle(value1, 5); // 設置線條樣式為5
end;
?
// 繪制支撐線
if Low = Lowest(low, 20) then begin // 如果當前最低價是過去20周期的最低價,則表示新的最低點
????tl_delete(value2); // 刪除舊的支撐線
????
????// 使用舊的方法創建新的支撐線,注釋掉了
????// value2 = tl_new(date, time, low, date, time, low); // 繪制新的支撐線
????
????// 使用新的方法創建新的支撐線,基于時間和價格
????value2 = tl_new_dt(datetime[20], low, datetime, low);
????
????tl_setextright(value2, true); // 設置線條向右延伸
????
????tl_setcolor(value2, green); // 設置線條顏色為綠色
????
????tl_setsize(value2, 1); // 設置線條寬度為1
????
????tl_setstyle(value2, 4); // 設置線條樣式為4
end;
?
主圖指標用于在圖表上繪制阻力線和支撐線。當價格達到過去20個周期內的最高價或最低價時,它會刪除舊的線并繪制一條新的線。新的線會向右延伸,并且有特定的顏色和樣式。代碼中使用的是`tl_new_dt`函數來創建線條,這是基于時間和價格的。線條的寬度被設置為1,阻力線顏色為紅色,支撐線顏色為綠色,并且有不同的樣式。
?
?
趨勢直線指標(副圖)代碼:
Input:len(9),m1(3),m2(3),overbuy(80),oversell(20);
?
var:rsv(50),kvalue(50),dvalue(50),jvalue(50);
?
value1 = Close - Lowest(low,len);
?
value2 = Highest(high,len) - Lowest(low,len);
?
if value2 <> 0 then begin
?
rsv = 100*value1/value2;
?
kvalue = SMA(rsv,m1,1);
dvalue = SMA(kvalue,m2,1);
?
end;
?
jvalue = 3*kvalue - 2*dvalue;
?
plot1(kvalue,"K",white);
?
plot2(dvalue,"D",yellow);
?
//plot3(overbuy,"80",darkgray);
?
//plot4(oversell,"20",darkgray);
?
Plot5(jvalue,"J",rgb(255,0,255));
?
value1 = tl_new_self_bn(1,20,currentbar,20);
value2 = tl_new_self_bn(1,80,currentbar,80);
tl_setsize(value1,1);
tl_setsize(value2,1);
tl_setstyle(value1,4);
tl_setstyle(value2,3);
tl_setcolor(value1,lightgray);
tl_setcolor(value2,Magenta);
?
?
畫趟勢直線指標(主圖)代碼
if high = Highest(high,20) then begin ?
?
tl_delete(value1);
?
//value1 = tl_new(date,time,high,date,time,high);
?
value1 = tl_new_dt(datetime[20],high,datetime,high);
?
tl_setextright(value1,true);
?
tl_setcolor(value1,red);
?
tl_setsize(value1,1);
?
tl_setstyle(value1,5);
?
end;
?
if Low =Lowest(low,20) then begin
tl_delete(value2);
?
//value2 = tl_new(date,time,low,date,time,low);
?
value2 = tl_new_dt(datetime[20],low,datetime,low);
?
tl_setextright(value2,true);
?
tl_setcolor(value2,green);
?
tl_setsize(value2,1);
?
tl_setstyle(value2,4);
?
end;
策略思維導圖:
?