【旗艦版】交易標的的強弱排序策略,請教為什么不能成功運行,如圖提示呢?
作者:開拓者 TB 來源:cxh99.com 發布時間:2020年11月16日
-
咨詢內容:
http://www.tb18.net/software/v5037.html?tab=array
案例四】交易標的的強弱排序策略
具體規則:選擇三大商品交易所交易比較活躍的主力商品合約作為候選交易標的,以20根BAR的漲跌幅作為強弱比較的標準,再根據強弱排名制定交易策略。 代碼如下(交易部分省略…):
Params
Numeric Length(20);? ? // 多少根BAR的漲跌幅
Vars
NumericArray ChangeRate;? ? // 保存漲跌幅的數組
NumericArray Rank;? ???// 保存數據源的數組
Numeric i;
Numeric j;
Numeric temp;
Begin
// 計算圖表所有品種Length根BAR以來的漲跌幅
For i = 0 to DataSourceSize - 1
{
// 漲跌幅數據保存到一個數組
ChangeRate = Round((Data.Close / Data.Close[Length] - 1)*100,2);
// 數據源編號保存到另一個數組
Rank = i;
}
// 冒泡排序(降序)
For i = 1 to DataSourceSize - 1
{
For j = 0 to DataSourceSize - 1 - i
{
If(ChangeRate[j] < ChangeRate[j+1])
{
// 漲跌幅數據交換順序
temp = ChangeRate[j];
ChangeRate[j] = ChangeRate[j+1];
ChangeRate[j+1] = temp;
// 對應的數據源編號交換順序
temp = Rank[j];
Rank[j] = Rank[j+1];
Rank[j+1] = temp;
}
}
}
// 顯示排序后的排名
For i = 0 to DataSourceSize - 1
{
temp = Rank;
Commentary("【Rank"+Text(i+1)+"】: Data"+Text(temp)+" , "+Data[temp].Symbol+" , ChangeRate = "+Text(ChangeRate
}
End
在圖表中插入23個主力交易品種后運行結果如下: