- AbleTrend趨勢交易軟件全球領(lǐng)先的金融軟件,自1994年成功面世以來,暢銷全球60多個(gè)國家和地區(qū),受到美國著名交易專家,“威廉指標(biāo)”創(chuàng)始人拉里.拉里姆斯權(quán)威推薦。連續(xù)14年被美國《股票與期貨》雜志讀者評選為股票、期貨和期權(quán)交易系統(tǒng)“讀者首選獎(jiǎng)”,連續(xù)10年獲得美國評選的“年度十大交易軟件”之首。{程序化交易 m.kzuj.com.cn }
這是我在網(wǎng)絡(luò)上找了很久,且最全的版本。大家參考一下,如能改成文華,TB,語言最好,或者把他的理念分析出來。其中有一些自定義函數(shù)我也找到了。
//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");
自定義函數(shù)如下:
JESSD:
Inputs : High0(NumericSimple), Low0(NumericSimple), HighN(NumericSimple), LowN(NumericSimple),
CloseN(NumericSimple);
value4 = ( High0 + Low0 ) / 2.0;
value5 = 2*value4 - LowN;
value6 = 2*value4 - HighN;
If CloseN < value4 then JESSD = value5 else JESSD = value6;
BS105:
Inputs: price(numeric), const(numeric), avg(numeric), val(numeric);
if (price-const*avg < val) then begin
BS105=val;
end
else BS105=price-const*avg;
SS105:
Inputs: price(numeric), const(numeric), avg(numeric), val(numeric);
if (price-const*avg < val) then begin
BS105=val;
end
else BS105=price-const*avg;
BS0:
Inputs: Price(numeric), const(numeric), val(numeric), Risk(numeric), MonyRisk(numeric);
vars: ii(0);
ii=val;
BS0=ii;
SS0:
Inputs: Price(numeric), const(numeric), val(numeric), Risk(numeric), MonyRisk(numeric);
vars: ii(0);
ii=val;
SS0=ii;
BigPointValue -> 每一大點(diǎn)的價(jià)值金額,如臺指期每跳一檔就是一點(diǎn).
|