版大 我想抓13:00~13:30分 漲幅有超過3%的選股
抓昨日13:00~13:30漲幅超過3%
- 175
- 最後發表 wenwen 2021 十月 01
版大
我再加上今日開盤開低於-2%的語法下去共兩個條件才能成立...請大大幫我看這樣語法對嗎
意思是昨日13.00~13.30漲了3%....今日的開盤開低2%兩個條件成立作為今日的警示
if barFreq <> "Min" or barinterval <> 1 then raiseRunTimeError("請使用1分鐘頻率");
// 紀錄 13:00 跟 13:30 的收盤價
if time = 130000 then value1 = close else if time = 132900 then value2 = close;
//換日的話計算
if getfielddate("Date") <> getfielddate("Date")[1] then begin
//13:00跟13:30間的漲幅要大於3%
condition1 = (100 * (value2 - value1) / value1) > 3;
value3=GetField("Open", "D");
condition2 = (100 * (value3 - value2) / value3) < -2;
if condition1 AND condition2 then ret = 1;
end;
Hello wenwen,
如果您是要取昨日收盤價的話,除了取前一天最後一根Bar以外,也可以直接用 GetField("Close", "D")[1] 的的方式來取得。
condition2 = (100 * (value3 - value2) / value3) < -2; 部分
應該修改為:
condition2 = (100 * (value3 - value2) / value2) < -2;
或是像小幫手所說的:
condition2 = (100 * (value3 - GetField("Close", "D")[1]) / GetField("Close", "D")[1]) < -2;
即可。
3 評論