解释这一段代码N1:=BARSLAST(DATE<>REF(DATE,1) )+1; N:=IFELSE(N1>=10,10,N1); HJ:=MAX(OPEN,CLOSE ); LJ:=MIN(OPEN,CLOSE); W:=MA(MA((HIGH+HJ)/2,N),10); E:=MA(MA((LOW+LJ)/2,N),10); A:=BARSLAST(CLOSE>W&&VOL>REF(VOL,1)); B:=BARSLAST(E>CLOSE&&VOL>REF(VOL,1)); DRAWLINE(A<B,HIGH,A<B,LOW,COLORRED); DRAWLINE(A>B,HIGH,A>B,LOW,COLORCYAN); STICKLINE(A<B,CLOSE,OPEN,COLORRED,0); STICKLINE(A>B,CLOSE,OPEN,COLORCYAN,0);
时间: 2023-06-27 07:03:38 浏览: 833
这段代码是一个简单的股票交易策略的实现,以下是对代码的解释:
1. N1:=BARSLAST(DATE<>REF(DATE,1) )+1;
这行代码的作用是计算从上一个交易日到当前交易日之间的交易日数,然后再加上1。这样就得到了当前交易日在本周中的排名。
2. N:=IFELSE(N1>=10,10,N1);
这行代码的作用是如果当前交易日是本周的第10天或之后,那么就将排名设为10,否则就将排名设为当前交易日在本周中的排名。
3. HJ:=MAX(OPEN,CLOSE ); LJ:=MIN(OPEN,CLOSE);
这两行代码的作用是计算当前交易日的最高价和最低价,其中HJ表示最高价,LJ表示最低价。
4. W:=MA(MA((HIGH+HJ)/2,N),10); E:=MA(MA((LOW+LJ)/2,N),10);
这两行代码的作用是计算当前交易日的加权平均价值。W表示加权平均价值中的最高价值,E表示加权平均价值中的最低价值。
5. A:=BARSLAST(CLOSE>W&&VOL>REF(VOL,1)); B:=BARSLAST(E>CLOSE&&VOL>REF(VOL,1));
这两行代码的作用是计算当前交易日前最后一次出现收盘价高于加权平均价值且成交量高于上一个交易日成交量的交易日位置。其中A表示最后一次满足条件的交易日位置,B表示最后一次满足条件的交易日位置。
6. DRAWLINE(A<B,HIGH,A<B,LOW,COLORRED); DRAWLINE(A>B,HIGH,A>B,LOW,COLORCYAN);
这两行代码的作用是在当前交易日的k线图上画出当A<B时的红色线段和A>B时的青色线段。这里的A和B分别是前面计算出的最后一次满足条件的交易日位置。
7. STICKLINE(A<B,CLOSE,OPEN,COLORRED,0); STICKLINE(A>B,CLOSE,OPEN,COLORCYAN,0);
这两行代码的作用是在当前交易日的k线图上画出当A<B时的红色短棒和A>B时的青色短棒。这里的A和B分别是前面计算出的最后一次满足条件的交易日位置。
阅读全文