備忘錄-PINE程式碼

4 min

language: ja bn en es hi pt ru zh-cn zh-tw

https://www.tradingview.com/script/wf7E7MWQ-Bitcoin-CME-Futures-Friday-Close/

接下來。

我嘗試製作了CME缺口可視化程式碼的ETH版本。

只需在Terapad中簡單地將BTC替換為ETH即可。

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// c LeanWave

//@version=5
indicator('Ethereum - CME Futures Friday Close', overlay=true)
mode = input.string(
     defval="1 - Close from current symbol",
     title="Mode",
     options=["1 - Close from current symbol", "2 - CME original close crice", "3 - CME settlement price"],
     tooltip="In Mode 1 the closing price is determined in the current symbol but with the tradinghours from the CME futures contract. Mode 2 and 3 obtain the price directly from the CME futures contract and paint it in the chart of the current symbol. But note, that modes 2 and 3  may not give you the expected result, due to price differences in futures and spot prices.")

cme = request.security("CME:ETH1!", "60", close)
cmeSettlement = request.security("CME:ETH1!", "D", close, lookahead=barmerge.lookahead_on)

//Function to get friday closing price according to CME trading hours
getCloseCME() =>
    cmeClose = 0.0
    cmeClosePrev = nz(cmeClose[1], cmeClose)
    showLine = 0
    showLine := nz(showLine[1], showLine)
    
    if mode == "1 - Close from current symbol"
        cmeClose := dayofweek == 6 and time == timestamp('GMT-5', year, month, dayofmonth, 16, 0, 0) ? close[1] : cmeClosePrev
    else if mode == "2 - CME original close crice"
        cmeClose := dayofweek == 6 and time == timestamp('GMT-5', year, month, dayofmonth, 16, 0, 0) ? cme : cmeClosePrev
    else if mode == "3 - CME settlement price"
        cmeClose := dayofweek == 6 and time == timestamp('GMT-5', year, month, dayofmonth, 16, 0, 0) ? cmeSettlement : cmeClosePrev
    showLine := showLine == 0 and time >= timestamp('GMT-5', year, month, dayofmonth, 16, 0, 0) and dayofweek >= 6 ? 1 : showLine == 1 and dayofweek <= 1 and time >= timestamp('GMT-5', year, month, dayofmonth, 17, 0, 0) ? 0 : showLine

    [cmeClose, showLine]

[cmeClose, showLine] = getCloseCME()

//Plotting
plot1 = plot(showLine == 1 ? cmeClose : na, 'CME Friday Close', style=plot.style_linebr, linewidth=2, color=color.new(color.blue, 0))
plot2 = plot(close, 'Dummy plot for background', color=na)
fill(plot1, plot2, title='Background', color=close > cmeClose ? color.new(color.green, 80) : close < cmeClose ? color.new(color.red, 80) : na)

↑是ETH替換程式碼。

只需將其放入TradingView的PINE編輯器即可使用。

CME缺口是指芝加哥商品交易所閉市後,開市時價格回歸的現象,因此似乎非常有用。

藍色→閉市後因過度高估而出現下行缺口並下跌

紅色=閉市後因過度低估而出現上行缺口並上漲。

同樣。

正在開發機器人,以便在平日也能運作。