當符合條件時記錄value99,若符合條件的日期連續,則可抓到value99[1]及value99[2],若不連續,則只能抓到value99[1]。若變數序列無法處理,則只能考慮用陣列記錄過去的value99數值。
Array: myArr[10](0);
var: count(0);
Value1 = GetField("成交量");
Value2 = GetField("成交量")[1];
Value3 = Average(volume, 5);//5交易日
Value4 = Average(volume, 10);//10交易日
Condition1 = (Value1 > Value3 and Value1 > Value4) and ((Value1 > Value3 * 1.6) or (Value1 > Value4 * 1.6));
Value5 = (GetField("收盤價") - GetField("開盤價")) / GetField("收盤價") * 100;
Condition3 = Value5 >= 2;
Condition4 = GetField("收盤價") >= (GetField("最高價") * 0.98);
Value5 = (GetField("收盤價") - GetField("最低價")) / GetField("收盤價") * 100;
Condition5 = Value5 >= 5;
if ((Condition1 and Condition3 and Condition4) or (Condition1 and Condition5)) then
begin
value99 = low{ * 0.95};
count+=1;
if count<=10 then
myArr[10-count+1]=value99
else
begin
Array_Copy(myArr,1,myArr,2,9);
myArr[1]=value99;
end;
//print(currentBar,date,myArr[1],myArr[2],myArr[3],myArr[4],myArr[5],myArr[6],myArr[7],myArr[8],myArr[9],myArr[10]);
PlotLine(1, 1, myArr[1], CurrentBar, myArr[1], "支撐1");
if count>=2 then
PlotLine(2, 1, myArr[2], CurrentBar, myArr[2], "支撐2");
if count>=3 then
PlotLine(3, 1, myArr[3], CurrentBar, myArr[3], "支撐3");
if count>=4 then
PlotLine(4, 1, myArr[4], CurrentBar, myArr[4], "支撐4");
if count>=5 then
PlotLine(5, 1, myArr[5], CurrentBar, myArr[5], "支撐5");
if count>=6 then
PlotLine(6, 1, myArr[6], CurrentBar, myArr[6], "支撐6");
if count>=7 then
PlotLine(7, 1, myArr[7], CurrentBar, myArr[7], "支撐7");
if count>=8 then
PlotLine(8, 1, myArr[8], CurrentBar, myArr[8], "支撐8");
if count>=9 then
PlotLine(9, 1, myArr[9], CurrentBar, myArr[9], "支撐9");
if count>=10 then
PlotLine(10, 1, myArr[10], CurrentBar, myArr[10], "支撐10");
end;
6 評論