Hi miT Tim,
我是路人甲,我改了一下,因為目前上班中手邊沒有XQ可以幫你編譯,你可以試試看,看看行不行,也許還有人會有更好的寫法?
1. 請問你這是想使用在警示腳本嗎?
然後在09:30前捉出最大成交量紅K( A )與最大成交量綠K( B ),並在09:30時比較這兩最大成交量大小,成立就Ret=1
若B接近A,則有可能會走空,是這樣子的嗎? 你想要捉出的邏輯是?
=> 回家幫你測試,結果如附圖所示,
在9:00 - 09:30間最大紅K在 09:22,最大綠K在09:23分,在09:30條件成立進場,先不管出場條件。


2. 你原本的程式
volume[HighestBar(volume[close-Open],30)] > volume[HighestBar(volume[Open-close],30)]
我覺得這邊雖然說取 HighestBar直接用30筆比較方便,但是並不能代表紅K或綠K,可能還是要一個個來取
3.
if barfreq <> "Min" or Barinterval <>1 then RaiseRuntimeError("請設定頻率為1分鐘");
variable:maxVolumeRed(0), maxVolumeGreen(0), BarNumberOfToday(0);
if Date <> Date[1] then
begin
BarNumberOfToday = 0;
maxVolumeRed = 0;
maxVolumeGreen = 0;;
end
else
begin
BarNumberOfToday+=1;
//紅K且成交量 大於 最大成交量
if(Close>Open and Volume>maxVolumeRed) then
maxVolumeRed = Volume;
//紅K且成交量 大於 最大成交量
if(Close<=Open and Volume>maxVolumeGreen) then
maxVolumeGreen = Volume;
end;
//09:30內,成交量最大紅棒的成交量 大於 成交量最大綠棒的成交量
if (barnumberoftoday=30) AND (maxVolumeRed>maxVolumeGreen) then begin
ret=1;
end;
5 評論