文华财经黄金分割通道主图指标源码分享

N:=60; // 波段周期为60根K线
// 找到最近N根K线的最低点和最高点
LL:=LLV(L,N); // N周期最低价
HH:=HHV(H,N); // N周期最高价
// 找到最低点和最高点的位置
LL_BAR:=LLVBARS(L,N); // 最低点距离当前K线的周期数
HH_BAR:=HHVBARS(H,N); // 最高点距离当前K线的周期数
// 判断是上涨波段还是下跌波段
COND_UP:=LL_BAR>HH_BAR; // 最低点出现在最高点之前,为上涨波段
COND_DN:=HH_BAR>LL_BAR; // 最高点出现在最低点之前,为下跌波段
// 获取实际的高低点价格
LOW_PRICE:=IF(LL_BAR=0,L,REF(L,LL_BAR));
HIGH_PRICE:=IF(HH_BAR=0,H,REF(H,HH_BAR));
// 计算价格差
DIFF_PRICE:=IF(COND_UP,HIGH_PRICE-LOW_PRICE,LOW_PRICE-HIGH_PRICE);
// 定义黄金分割比例
FIBO1:=0.382;
FIBO2:=0.618;
FIBO3:=0.764;
FIBO4:=1.000;
FIBO5:=1.382;
FIBO6:=1.618;
FIBO7:=2.000;
FIBO8:=2.618;
// 计算上涨波段的黄金分割位
UP_LEVEL1:=LOW_PRICE+DIFF_PRICE*FIBO1;
UP_LEVEL2:=LOW_PRICE+DIFF_PRICE*FIBO2;
UP_LEVEL3:=LOW_PRICE+DIFF_PRICE*FIBO3;
UP_LEVEL4:=LOW_PRICE+DIFF_PRICE*FIBO4;
UP_LEVEL5:=LOW_PRICE+DIFF_PRICE*FIBO5;
UP_LEVEL6:=LOW_PRICE+DIFF_PRICE*FIBO6;
UP_LEVEL7:=LOW_PRICE+DIFF_PRICE*FIBO7;
UP_LEVEL8:=LOW_PRICE+DIFF_PRICE*FIBO8;
// 计算下跌波段的黄金分割位
DN_LEVEL1:=HIGH_PRICE-DIFF_PRICE*FIBO1;
DN_LEVEL2:=HIGH_PRICE-DIFF_PRICE*FIBO2;
DN_LEVEL3:=HIGH_PRICE-DIFF_PRICE*FIBO3;
DN_LEVEL4:=HIGH_PRICE-DIFF_PRICE*FIBO4;
DN_LEVEL5:=HIGH_PRICE-DIFF_PRICE*FIBO5;
DN_LEVEL6:=HIGH_PRICE-DIFF_PRICE*FIBO6;
DN_LEVEL7:=HIGH_PRICE-DIFF_PRICE*FIBO7;
DN_LEVEL8:=HIGH_PRICE-DIFF_PRICE*FIBO8;
// 绘制水平线(文华六绘制方法)
PARTLINE(1,IF(COND_UP,UP_LEVEL1,IF(COND_DN,DN_LEVEL1,NULL)),COLORRED);
PARTLINE(1,IF(COND_UP,UP_LEVEL2,IF(COND_DN,DN_LEVEL2,NULL)),COLORRED);
PARTLINE(1,IF(COND_UP,UP_LEVEL3,IF(COND_DN,DN_LEVEL3,NULL)),COLORRED);
PARTLINE(1,IF(COND_UP,UP_LEVEL4,IF(COND_DN,DN_LEVEL4,NULL)),COLORGREEN);
PARTLINE(1,IF(COND_UP,UP_LEVEL5,IF(COND_DN,DN_LEVEL5,NULL)),COLORBLUE);
PARTLINE(1,IF(COND_UP,UP_LEVEL6,IF(COND_DN,DN_LEVEL6,NULL)),COLORBLUE);
PARTLINE(1,IF(COND_UP,UP_LEVEL7,IF(COND_DN,DN_LEVEL7,NULL)),COLORBLUE);
PARTLINE(1,IF(COND_UP,UP_LEVEL8,IF(COND_DN,DN_LEVEL8,NULL)),COLORBLUE);
// 标记高低点
DRAWICON(LL_BAR=0,LOW_PRICE,1);
DRAWICON(HH_BAR=0,HIGH_PRICE,2);
// 显示数值标签(文华六文本显示方法)
DRAWTEXT(ISLASTBAR,IF(COND_UP,UP_LEVEL1,DN_LEVEL1),’0.382′),COLORRED;
DRAWTEXT(ISLASTBAR,IF(COND_UP,UP_LEVEL2,DN_LEVEL2),’0.618′),COLORRED;
DRAWTEXT(ISLASTBAR,IF(COND_UP,UP_LEVEL3,DN_LEVEL3),’0.764′),COLORRED;
DRAWTEXT(ISLASTBAR,IF(COND_UP,UP_LEVEL4,DN_LEVEL4),’0.000′),COLORGREEN;
DRAWTEXT(ISLASTBAR,IF(COND_UP,UP_LEVEL5,DN_LEVEL5),’0.382′),COLORBLUE;
DRAWTEXT(ISLASTBAR,IF(COND_UP,UP_LEVEL6,DN_LEVEL6),’0.618′),COLORBLUE;
DRAWTEXT(ISLASTBAR,IF(COND_UP,UP_LEVEL7,DN_LEVEL7),’0.000′),COLORBLUE;
DRAWTEXT(ISLASTBAR,IF(COND_UP,UP_LEVEL8,DN_LEVEL8),’0.618′),COLORBLUE;
// 显示波段信息
DRAWTEXT(ISLASTBAR&&COND_UP,L,’上涨波段’),COLORWHITE,FONTSIZE20,VALIGN0;
DRAWTEXT(ISLASTBAR&&COND_UP=0,H,’下跌波段’),COLORWHITE,FONTSIZE20;
DRAWTEXT(ISLASTBAR,HIGH_PRICE*0.99,’低点:’),COLORWHITE,ALIGN2;
DRAWTEXT(ISLASTBAR,HIGH_PRICE*0.97,’高点:’),COLORWHITE,ALIGN2;
DRAWNUMBER(ISLASTBAR,HIGH_PRICE*0.99,HIGH_PRICE*0.99,0,COLORWHITE),ALIGN0;
DRAWNUMBER(ISLASTBAR,HIGH_PRICE*0.97,HIGH_PRICE*0.97,0,COLORWHITE),ALIGN0;
// 显示价格数值(可选,更清晰)
DRAWNUMBER1(ISLASTBAR,IF(COND_UP,UP_LEVEL1,DN_LEVEL1),IF(COND_UP,UP_LEVEL1,DN_LEVEL1),2),COLORRED;
DRAWNUMBER1(ISLASTBAR,IF(COND_UP,UP_LEVEL2,DN_LEVEL2),IF(COND_UP,UP_LEVEL2,DN_LEVEL2),2),COLORRED;
DRAWNUMBER1(ISLASTBAR,IF(COND_UP,UP_LEVEL3,DN_LEVEL3),IF(COND_UP,UP_LEVEL3,DN_LEVEL3),2),COLORRED;
DRAWNUMBER1(ISLASTBAR,IF(COND_UP,UP_LEVEL4,DN_LEVEL4),IF(COND_UP,UP_LEVEL4,DN_LEVEL4),2),COLORGREEN;
DRAWNUMBER1(ISLASTBAR,IF(COND_UP,UP_LEVEL5,DN_LEVEL5),IF(COND_UP,UP_LEVEL5,DN_LEVEL5),2),COLORBLUE;
DRAWNUMBER1(ISLASTBAR,IF(COND_UP,UP_LEVEL6,DN_LEVEL6),IF(COND_UP,UP_LEVEL6,DN_LEVEL6),2),COLORBLUE;
DRAWNUMBER1(ISLASTBAR,IF(COND_UP,UP_LEVEL7,DN_LEVEL7),IF(COND_UP,UP_LEVEL7,DN_LEVEL7),2),COLORBLUE;
DRAWNUMBER1(ISLASTBAR,IF(COND_UP,UP_LEVEL8,DN_LEVEL8),IF(COND_UP,UP_LEVEL8,DN_LEVEL8),2),COLORBLUE;
3.安装教程:
夜雨聆风