TS公式移植,函数请教!

Discussion in 'TradeStation' started by cthlj, Jun 26, 2012.

  1. 准备移植一个公式,但对其中的少部分函数不清楚,请哪位大大指点一下,先谢谢了!
    公式如下,如红色所示函数:
    ----------------------------------------------------------------------------------
    ASCTrend2

    Inputs: RISK(3), MONYRISK(2.0);

    If CurrentBar = 1 then begin
    vars: value2(1), value3(18), value10(10000), value19(0);
    value19 = MONYRISK*Average(Range, 10)*BigPointValue;
    value2 = Risk;
    value3 = 18 + 3*value2;
    End;

    value11 = Average(C, 9);
    value12 = Average(C, value3);
    value13 = Average(Range, 10);
    value4 = JESSD( High, Low, H[value2], L[value2], C[value2] );
    If MRO (value4 > value4[1] and value4[1] < value4[2], 2, 1) > -1 and L[1] > value4[1] then
    value5 = value4[1] - value13 ;
    If MRO (value4 < value4[1] and value4[1] > value4[2], 2, 1) > -1 and H[1] < value4[1] then
    value6 = value4[1] + value13 ;
    If value11[1] < value12[1] and value11 > value12 then value5 = TrueLow -value13;
    If value11[1] > value12[1] and value11 < value12 then value5 = TrueHigh + value13;
    If AbsValue( O - C[1] ) >= 1.618*value13 then begin
    If value11 > value12 then value5 = Low - value13;
    If value11 < value12 then value14 = High + value13;
    End;

    value7 = BS105(L, 2.40, value13, value9 );
    value8 = SS105(H, 2.40, value13, value10 );
    value9 = BS0(L, 60, value7, Risk, value19);
    value10 = SS0(H, 60, value8, Risk, value19);
    If L - value9 > value19/BigPointValue then value9 = L - (1.50 + 0.1*Risk)*value13;
    If value10 - H > value19/BigPointValue then value10 = H + (1.50 + 0.1*Risk)*value13;
    If value11 >= value12 and value5 >= value9 then value9 = value5;
    If value11 <= value12 and value6 <= value10 then value10 = value6;
    If value11 <= value12 and value5 <= value9 then value9 = value5;
    If value11 >= value12 and value6 >= value10 then value10 = value6;
    If MRO(value11 >= value12, 2, 2) > -1 and value9 <= value9[1] then value9 = value9[1] ;
    If MRO(value11 <= value12, 2, 2) > -1 and value10 >= value10[1] then value10 = value10[1] ;
    If value9 > 0 and value11 >= value12 and value9 <= H then Plot1 (value9, "BuyStop2");
    If value10 > 0 and value10 < 1000000000 and value11 <= value12 and value10 >= L then Plot2 (value10, "SellStop2");
    ----------------------------------------------------------------------------------
    其中不了解的函数如下:
    BigPointValue:
    value19 = MONYRISK*Average(Range, 10)*BigPointValue;

    JESSD
    value4 = JESSD( High, Low, H[value2], L[value2], C[value2] );

    BS105、SS105、BS0、SS0
    value7 = BS105(L, 2.40, value13, value9 );
    value8 = SS105(H, 2.40, value13, value10 );
    value9 = BS0(L, 60, value7, Risk, value19);
    value10 = SS0(H, 60, value8, Risk, value19);
     
  2. BigPointValue应该是每变动1点所代表的价值
    至于JESSD,BS105等,我就不清楚了
    看命名规则也没有规律,估计是自己写的函数吧

    请高手指正。