开拓者期货期权程序化系统交易论坛

标题: 我的highest(high,x)为什么不能找到x根k线中的最高价? [打印本页]

作者: snake3342    时间: 2012-6-27 11:08:18     标题: 我的highest(high,x)为什么不能找到x根k线中的最高价?

本帖最后由 snake3342 于 2012-6-27 11:12 编辑

Params

Vars
        Numeric periodth;
        Numeric maxperiodth;/*本k线为本日内第periodth个K线,单日k线个数*/
        Numeric prelow;
        Numeric prehigh;
        Numeric preclose;
        Numeric preopen;
        /*昨日最低价prelow,昨日最高价prehigh,昨日收盘价,昨日开盘价
        单日最大k线个数global[0]
        本k线序号global[1],
        昨日最低global[2],
        昨日最高global[3],
        昨日收盘价global[4],
        昨日开盘价global[5],把全局变量在注释里称呼为global[],方便理解
*/

       
Begin

if (Time<=0.0900)/*如果本K线为本日第1根*/
{SetGlobalVar(0,GetGlobalVar(1));/*将昨日最后一根K线的序号,作为单日最大K线个数,存入全局变量0*/
SetGlobalVar(1,1);}/*本K线设为本日第1根*/

Else/*如果本k线不是今天第一个*/
SetGlobalVar(1,GetGlobalVar(1)+1);/*将全局变量1,即K线序数,在上一根的基础上+1*/

periodth=GetGlobalVar(1);/*本k线序数为当日第n个*/
maxperiodth=GetGlobalVar(0);/*单日最大k线个数*/

prelow=GetGlobalVar(2);
prehigh=GetGlobalVar(3);
preopen=GetGlobalVar(5);
preclose=GetGlobalVar(4);
/*将全局变量2,3,5,4的值分别赋予昨日最低,最高,开盘,收盘*/

PlotString("preopen",text(preopen),preopen,Cyan);
PlotString("preclose",text(preclose),preclose,Yellow);
PlotString("prelow",text(prelow),prelow,blue);
PlotString("prehigh",text(prehigh),prehigh,Red);

IF (maxperiodth==periodth)/*如果本k线是今天最后一个*/
{
SetGlobalVar(5,Open[maxperiodth-1]);/*设全局变量5为今天开盘价*/
SetGlobalVar(4,Close);/*设全局变量4为今天收盘价*/

SetGlobalVar(3,Max(high,highest(high,maxperiodth-1)));/*设全局变量3为今天最高价,编译时提示这里if里面用序列变量问题,前面的行都正常*/
SetGlobalVar(2,Min(low,lowest(low,maxperiodth-1)));/*设全局变量2为今天最低价,编译时提示这里if里面用序列变量问题*/


}

End




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2