Cross over的問題

  •   55 
  • 最後發表   麥叔  2025 十二月 23
麥叔 發文於   2025/12/23

ShortMA=Average(Close[1], ShortMA_Period);
LongMA=Average(GetField("Close","60")[1],LongMA_Period);
CrossUp=((Close[1] cross over ShortMA) or (Close[1] cross over LongMA)) and (Close[1]>ShortMA) and (Close[1]>LongMA);
CrossDown=((Close[1] cross under ShortMA) or (Close[1] cross under LongMA)) and (Close[1]<ShortMA) and (Close[1]<LongMA);

bClosePosition = (Close[1]>ShortMA and Close[1]<LongMA) or (Close[1]<ShortMA and Close[1]>LongMA);
Print(Close[1],ShortMA,LongMA,CrossUp,CrossDown,Filled,bClosePosition);
Print((Close[1] cross over ShortMA),(Close[1] cross over LongMA),(Close[1]>ShortMA),(Close[1]>LongMA),(Close[1] cross under ShortMA),(Close[1] cross under LongMA));

5分K,印出來的結果如下,為什麼croee over不是True(橘色第一個應該為TRUE才是)?  請問,我的語法哪裡錯了? 請大神指導

 

截圖圖片

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/12/23

請提供ShortMA_Period及LongMA_Period的數值。

麥叔 發文於   2025/12/23

input: ShortMA_Period(50, "5分K平均週期");

input: LongMA_Period(20, "60分K平均週期");

 

虎科大許教授 發文於   2025/12/23

是True沒錯。

發表回覆
Close