如何编写问题求最近的一个点 (文华财经WH8赢智V8.2)

投资者咨询:如何编写问题求最近的一个点 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-6 13:52
 当前K线为A,无任何特征,

1,现在回头找离自己最近的一个5,10金叉的点,求到这个点的距离,并求出这个点的K线的最高价是多少,然后画一条直线到那个位置
2,现在回头找离自己最近十字星K线,求到这个点的距离,并求出这个点的K线的收盘价是多少,然后画一条直线到那个位置
2,现在回头找离自己最近的20日高点,求到这个点的距离,并求出这个点的K线的最高价是多少,然后画一条直线到那个位置

说明:不是先来一个cross(ma5,ma10),然后barslast(),来求到当前的距离,而是随机一根当前K线,然后再回头去找符合条件的那个点


看不明白题目的请不要来回答,谢谢!
   
技术人员回复
日期:2018-7-6 14:22

 求十字光标放置位置到上次金叉距离

 

用barslast函数就可以实现,之后使用REF引用最高价就可以

 

或者可以使用VALUEWHEN函数参考:

 

MA5:MA(C,5);
MA10:MA(C,10);
VALUEWHEN(CROSS(MA5,MA10),H);

投资者咨询:如何编写问题求最近的一个点 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-6 13:52
冬老师,你理解错了我说的意思,我是要引用到这个数据,这只是我程序中的一小部分

你说的那个直接用图表上的工具测量一下就是了,但是程序化得告诉计算机啊

举个例子,比如价格长期下跌后向上突破200天均线,你知道是连续2,3个涨停板上来的,还是经过几个月慢慢小碎步爬上来的?

人当然看一眼就知道怎么回事,但计算机不知道啊,这个时候通过回头定位一些点,并测算距离,来辅助判断

我说的5,10金叉这些简单例子的只是为了让老师方便写程序而已!

明白?
 
投资者咨询:如何编写问题求最近的一个点 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-6 13:52
 如果你一定要给当天安一个特征方便写的话,就把当天设置为价格突破200日均线为例吧,以这一天为例来写我之前提出的那几个点(是往左看) 
技术人员回复
日期:2018-7-6 19:55
文华的编写是基于K线的,不能读取十字光标位置,所以您说的随机位置向前找,编写实现不了的,没有随机的位置,必须是固定条件的K线

价格突破200日均线为例如下


MA200:MA(C,200);
MA5:MA(C,5);
MA10:MA(C,10);

A:=BACKSET(CROSS(C,MA200),BARSLAST(CROSS(MA5,MA10))+1);
B:=BACKSET(CROSS(C,MA200),BARSLAST(C=O)+1);
CC:=BACKSET(CROSS(C,MA200),HHVBARS(H,20)+1);

AC:VALUEWHEN(CROSS(C,MA200),REF(C,BARSLAST(CROSS(MA5,MA10)))),NODRAW;
BC:VALUEWHEN(CROSS(C,MA200),REF(C,BARSLAST(C=O))),NODRAW;
CCC:VALUEWHEN(CROSS(C,MA200),HHV(H,20)),NODRAW;

DRAWLINE1(A>REF(A,1),C,CROSS(C,MA200),C,0);
DRAWLINE1(B>REF(B,1),C,CROSS(C,MA200),C,0);
DRAWLINE1(CC>REF(CC,1),C,CROSS(C,MA200),C,0);
投资者咨询:如何编写问题求最近的一个点 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-6 13:52
      如果不画线,只是取值的话,能否不使用未来函数

      舟老师,无论如何,能否不使用未来函数?
技术人员回复
日期:2018-7-7 11:36

周一工作时间相关老师核实后给您回复

技术人员回复
日期:2018-7-9 9:00

 5楼仅取值:

 

MA200:MA(C,200);
MA5:MA(C,5);
MA10:MA(C,10);

AC:VALUEWHEN(CROSS(C,MA200),REF(C,BARSLAST(CROSS(MA5,MA10)))),NODRAW;
BC:VALUEWHEN(CROSS(C,MA200),REF(C,BARSLAST(C=O))),NODRAW;
CCC:VALUEWHEN(CROSS(C,MA200),HHV(H,20)),NODRAW;