问题描述
我知道在这里问这个问题很遥远,但是我正在寻找一种方法来确定前1分钟的蜡烛是否为红色,这意味着该条在开盘价以下关闭。
要做到这一点,我只需要第一分钟柱的开盘价和收盘价,但是我还没有找到一种方法来获得收盘价。
坦率地说是很直接的:
def openValue = open(period = AggregationPeriod.DAY);
获取第一个小节的范围也非常简单,因为我们定义了一个范围(1分钟)并返回该范围的高/低值。
如果有人可以提供帮助,我将非常感谢。
谢谢!
解决方法
好的,有人帮我弄清楚了。
def x = barNumber(); //bar
def RTH = getTime() >= RegularTradingStart(getYYYYMMDD()) and
getTime() <= RegularTradingEnd(getYYYYMMDD());
def TodaysOpen = if RTH and !RTH[1]
then open
else TodaysOpen[1];
def OpenX = if RTH and !RTH[1]
then x
else double.nan;
def YesterdaysClose = if !RTH and RTH[1]
then close[1]
else YesterdaysClose[1];
def CloseX = if !RTH and RTH[1]
then x
else double.nan;
def HighToday = if RTH and !RTH[1]
then high
else if RTH and high > HighToday[1]
then high
else HighToday[1];
def HighX = if high == HighToday
then x
else double.nan;
def LowToday = if RTH and !RTH[1]
then low
else if RTH and low < LowToday[1]
then low
else LowToday[1];
def LowX = if low == LowToday
then x
else double.nan;
plot OpenToday = if barNumber() >= HighestAll(OpenX)
then HighestAll(if isNaN(close[-1])
then TodaysOpen
else double.nan)
else double.nan;
OpenToday.SetStyle(Curve.Long_Dash);
def firstbarclose = if RTH and !RTH[1]
then close
else firstbarclose[1];
plot CloseBar = if barNumber() >= HighestAll(OpenX)
then HighestAll(if isNaN(close[-1])
then firstbarclose
else double.nan)
else double.nan;
closebar.SetStyle(Curve.Long_Dash);