目前只知道如何拿到當下的值,但我想要在兩條均線交叉後(ma1 cross over ma2),才執行其他的條件式要如何寫呢?是要每次都跑回圈判斷所有的K棒Close?
謝謝.
請舉實例,看不太懂你的需求
一般都是 符合條件 ,把資料存起來,留著給後面的程式或K棒使用
您好感謝回覆, 我要寫訊號, 目前週期是五分鐘, 想要知道至少2跟bar(10分鐘)之前是否已有均線交會, 我目前想得到的就是跑迴圈去反推, 這樣寫跑不出來,請指教,謝謝
value3 = 2;
var: needContinue(true);
while value3 < 開盤到現在的K棒數 and needContinue begin
ma1= Average(Close[value3], MA1_PEROID);
ma2= Average(Close[value3], MA2_PEROID);
if ma1 cross over ma2 then begin
hasCrossOver = true;
needContinue = false;
print(text("hasCrossOver ",d,t, currentBarCount));
end;
value3 += 1;
編輯不了 補上k棒數計算 log出來不太合乎預期,不知哪裡有誤,請指教
value1 = ((eltimetodatetime(time) - eltimetodatetime(sess1firstbartime)) * 86400) / 60;
value2 = value1 / MIN_PEROID;
//開盤到現在的K棒數
currentBarCount = value2 - 1;
while value3 < currentBarCount and needContinue begin
if ma1 cross over ma2 then value1 = currentbar;
value2 = currentbar - value1;
value2裡面就是,幾根K棒之後有發生過交叉的現象
謝謝客服一號大大,原來value1~n是可以keep住的,新手問題,了解了,感謝!