Tài nguyên đang được tải lên... tải...

FMZ PINE Script Doc

Tác giả:Những nhà phát minh định lượng - những giấc mơ nhỏ, Tạo: 2022-04-28 16:05:05, Cập nhật: 2024-10-12 17:25:27

Giá trị t là NaN.

  • trail_price(series int/float) Một đối số tùy chọn. Trailing stop level activation (requires a specific price). Nếu được chỉ định, lệnh trailing stop sẽ được đặt khi đạt đến mức giá đã chỉ định. Tiền offset (trong tick) để xác định giá ban đầu của lệnh trailing stop được chỉ định trong đối số trail_offset: X ticks thấp hơn mức kích hoạt để thoát khỏi vị trí dài; X ticks cao hơn mức kích hoạt để thoát khỏi vị trí ngắn. Giá mặc định là NaN.
  • trail_points(series int/float) Một đối số tùy chọn. Mức kích hoạt dừng theo dõi (lợi nhuận được chỉ định bằng dấu chấm). Nếu được chỉ định, lệnh dừng theo dõi sẽ được đặt khi mức giá được tính toán (lượng lợi nhuận được chỉ định) đạt được. Sự thay đổi (trong dấu chấm) để xác định giá ban đầu của lệnh dừng theo dõi được chỉ định trong đối số trail_offset: X kích hoạt thấp hơn mức kích hoạt để thoát khỏi vị trí dài; X kích hoạt cao hơn mức kích hoạt để thoát khỏi vị trí ngắn. Giá mặc định là NaN.
  • trail_offset(series int/float) Một đối số tùy chọn. Giá dừng theo dõi (được chỉ định bằng dấu chấm). Sự thay đổi trong dấu chấm để xác định giá ban đầu của lệnh dừng theo dõi: X đánh dấu thấp hơn trail_price hoặc trail_points để thoát khỏi vị trí dài; X đánh dấu cao hơn trail_price hoặc trail_points để thoát khỏi vị trí ngắn. Giá mặc định là NaN.
  • oca_name(dòng chuỗi) Một đối số tùy chọn. Tên của nhóm OCA (oca_type = strategy.oca.reduce) mục tiêu lợi nhuận, lệnh dừng lỗ / lệnh dừng kéo theo thuộc về. Nếu tên không được chỉ định, nó sẽ được tạo tự động.Lưu ý rằng FMZ không ủng hộ lập luận này.
  • commentMột đối số tùy chọn, hướng dẫn bổ sung cho thứ tự.
  • when(series bool) Một đối số tùy chọn. Điều kiện của lệnh. Trật tự được đặt nếu điều kiện là true. Nếu điều kiện là false, không có gì xảy ra (trật tự được đặt trước đó với cùng một ID không bị hủy). Giá trị mặc định là true.
  • alert_message(dòng chuỗi) Một đối số tùy chọn khi sử dụng {{strategy.order.alert_message}} giữ vị trí trong trường Message của hộp thoại Create Alert.

strategy.cancel

Nó là một lệnh để hủy bỏ / vô hiệu hóa các lệnh đang chờ bằng cách tham chiếu tên của họ, được tạo ra bởi các chức năng: strategy.order, strategy.entry vàstrategy.exit.

strategy.cancel(id, when) 

Ví dụ

strategy(title = "simple order cancellation example")
conditionForBuy = open > high[1]
strategy.entry("long", strategy.long, 1, limit = low, when = conditionForBuy) // enter long using limit order at low price of current bar if conditionForBuy is true
strategy.cancel("long", when = not conditionForBuy) // cancel the entry order with name "long" if conditionForBuy is false

Các lập luận

  • id(serial string) Một đối số bắt buộc. Trình nhận dạng đơn đặt hàng. Có thể hủy một đơn đặt hàng bằng cách tham chiếu đến mã nhận dạng của nó.
  • when(series bool) Một đối số tùy chọn. Điều kiện để hủy lệnh với ID xác định. Nếu điều kiện là true, thì lệnh với ID xác định sẽ bị hủy. Giá trị mặc định là true.

chiến lược.cance_all

Nó là một lệnh để hủy bỏ / vô hiệu hóa tất cả các lệnh đang chờ, được tạo ra bởi các chức năng: strategy.order, strategy.entry vàstrategy.exit.

strategy.cancel_all(when) 

Ví dụ

strategy(title = "simple all orders cancellation example")
conditionForBuy1 = open > high[1]
strategy.entry("long entry 1", strategy.long, 1, limit = low, when = conditionForBuy1) // enter long by limit if conditionForBuy1 is true
conditionForBuy2 = conditionForBuy1 and open[1] > high[2]
strategy.entry("long entry 2", strategy.long, 1, limit = ta.lowest(low, 2), when = conditionForBuy2) // enter long by limit if conditionForBuy2 is true
conditionForStopTrading = open < ta.lowest(low, 2)
strategy.cancel_all(conditionForStopTrading) // cancel both limit orders if the conditon conditionForStopTrading is true

Các lập luận

  • when(series bool) Một đối số tùy chọn. Điều kiện hủy tất cả các lệnh. Nếu điều kiện là đúng, thì tất cả các lệnh đang hoạt động sẽ bị hủy. Giá trị mặc định là true.

strategy.order

Nó là một lệnh đặt lệnh. Nếu một lệnh với cùng một ID đã đang chờ xử lý, có thể sửa đổi lệnh. Nếu không có lệnh với ID được chỉ định, một lệnh mới được đặt. Để vô hiệu hóa lệnh, lệnh strategy.cancel hoặc strategy.cancel_all nên được sử dụng. So với hàm strategy.entry, hàm strategy.order không bị ảnh hưởng bởi kim tự tháp. Nếu cả hai tham số limitstopNaN, kiểu lệnh là lệnh thị trường.

strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)

Ví dụ

strategy(title = "simple strategy order example")
strategy.order("buy", strategy.long, 1, when = open > high[1]) // buy by market if current open great then previous high
strategy.order("sell", strategy.short, 1, when = open < low[1]) // sell by market if current open less then previous low

Các lập luận

  • id(serial string) Một tham số cần thiết. Trình nhận dạng đơn đặt hàng. Có thể hủy hoặc sửa đổi một đơn đặt hàng bằng cách tham chiếu đến mã nhận dạng của nó.
  • direction(strategy_direction) Một tham số cần thiết. Hướng lệnh: strategy.long là mua, strategy.short là bán.
  • qty(series int/float) Một tham số tùy chọn. Số lượng hợp đồng/đồng phiếu/lô/đơn vị được giao dịch. Giá trị mặc định là NaN.
  • limit(series int/float) Một tham số tùy chọn. Giá giới hạn của lệnh. Nếu được chỉ định, loại lệnh là limit, hoặc stop-limit. NaN nên được chỉ định cho bất kỳ loại lệnh nào khác.
  • stop(series int/float) Một tham số tùy chọn. Giá dừng của lệnh. Nếu được chỉ định, loại lệnh là stop, hoặc stop-limit. NaN nên được chỉ định cho bất kỳ loại lệnh nào khác.
  • oca_name(serial string) Một tham số tùy chọn. Tên của nhóm OCA mà lệnh thuộc về. Nếu lệnh không thuộc về bất kỳ nhóm OCA cụ thể nào, nên có một chuỗi trống.Lưu ý rằng FMZ không ủng hộ lập luận này.
  • oca_type(dòng nhập) Một tham số tùy chọn. Loại nhóm OCA. Các giá trị được phép là: strategy.oca.none - lệnh không nên thuộc về bất kỳ nhóm OCA cụ thể nào; strategy.oca.cancel - lệnh nên thuộc về một nhóm OCA, trong đó ngay khi một lệnh được thực hiện, tất cả các lệnh khác của cùng một nhóm đều bị hủy bỏ; strategy.oca.reduce - lệnh nên thuộc về một nhóm OCA, trong đó nếu X số hợp đồng của một lệnh được thực hiện, số hợp đồng cho mỗi lệnh khác của cùng một nhóm OCA được giảm bằng X.Lưu ý rằng FMZ không ủng hộ lập luận này.
  • commentMột tham số tùy chọn.
  • when(series bool) Một tham số tùy chọn. Điều kiện của lệnh. Lệnh được đặt nếu điều kiện là true. Nếu điều kiện là false, không có gì xảy ra (lệnh được đặt trước đó với cùng một ID không bị hủy). Giá trị mặc định là true.
  • alert_message(serial string) Một tham số tùy chọn thay thế vị trí {{strategy.order.alert_message}} khi nó được sử dụng trong hộp thoại Create Alerts Message.

Strategy.opentrades.entry_bar_index

Trả về bar_index của mục giao dịch mở.

strategy.opentrades.entry_bar_index(trade_num)

Chờ 10 bar và đóng vị trí.

Ví dụ

strategy("`strategy.opentrades.entry_bar_index` Example")

barsSinceLastEntry() =>
    strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) : na

// Enter a long position if there are no open positions.
if strategy.opentrades == 0
    strategy.entry("Long",  strategy.long)

// Close the long position after 10 bars. 
if barsSinceLastEntry() >= 10
    strategy.close("Long")

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch mở. Số giao dịch đầu tiên là 0.

Xem thêm strategy.closedtrades.entry_bar_index strategy.closedtrades.exit_bar_index

chiến lược.mở giao dịch.đăng nhập_id

Trả về ID của mục giao dịch mở.

strategy.opentrades.entry_id(trade_num)

Ví dụ

strategy("`strategy.opentrades.entry_id` Example", overlay = true)

// We enter a long position when 14 period sma crosses over 28 period sma.
// We enter a short position when 14 period sma crosses under 28 period sma.
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

// Strategy calls to enter a long or short position when the corresponding condition is met.
if longCondition
    strategy.entry("Long entry at bar #" + str.tostring(bar_index), strategy.long)
if shortCondition
    strategy.entry("Short entry at bar #" + str.tostring(bar_index), strategy.short)

// Display ID of the latest open position.
if barstate.islastconfirmedhistory
    runtime.log("Last opened position is " + strategy.opentrades.entry_id(strategy.opentrades - 1))

Quay lạiTrả về ID của mục giao dịch mở.

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch mở. Số giao dịch đầu tiên là 0.

Nhận xétChức năng trả về na nếu trade_num không nằm trong phạm vi: 0 đến strategy.opentrades-1.

Xem thêm strategy.opentrades.entry_bar_index strategy.opentrades.entry_time

chiến lược.mở giao dịch.giá nhập

Trả về giá của mục giao dịch mở.

strategy.opentrades.entry_price(trade_num)

Ví dụ

strategy("strategy.closedtrades.entry_price Example 1")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Return the entry price for the latest closed trade.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)

plot(entryPrice, "Long entry price")

Tính toán giá trung bình của vị trí mở.

Ví dụ

strategy("strategy.opentrades.entry_price Example 2", pyramiding = 2)

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Calculate average open position price.
avgOpenPositionPrice() =>
    sumOpenPositionPrice = 0.0
    for tradeNo = 0 to strategy.opentrades - 1
        sumOpenPositionPrice += strategy.opentrades.entry_price(tradeNo) * strategy.opentrades.size(tradeNo) / strategy.position_size
    result = nz(sumOpenPositionPrice / strategy.opentrades)

plot(avgOpenPositionPrice())

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch mở. Số giao dịch đầu tiên là 0.

Xem thêm strategy.closedtrades.exit_price

chiến lược.mở giao dịch.thời gian nhập cảnh

Trả về thời gian UNIX của mục nhập giao dịch mở.

strategy.opentrades.entry_time(trade_num)

Ví dụ

strategy("strategy.opentrades.entry_time Example")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Calculates duration in milliseconds since the last position was opened.
timeSinceLastEntry()=>
    strategy.opentrades > 0 ? (time - strategy.opentrades.entry_time(strategy.opentrades - 1)) : na

plot(timeSinceLastEntry() / 1000 * 60 * 60 * 24, "Days since last entry")

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch mở. Số giao dịch đầu tiên là 0.

Xem thêm strategy.closedtrades.entry_time strategy.closedtrades.exit_time

strategy.opentrades.profit

Trả về lợi nhuận / lỗ của giao dịch mở.

strategy.opentrades.profit(trade_num)

Trả lại lợi nhuận của giao dịch mở cuối cùng.

Ví dụ

strategy("`strategy.opentrades.profit` Example 1", commission_type = strategy.commission.percent, commission_value = 0.1)

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

plot(strategy.opentrades.profit(strategy.opentrades - 1), "Profit of the latest open trade")

Tính toán lợi nhuận của tất cả các vị trí mở.

Ví dụ

strategy("`strategy.opentrades.profit` Example 2", pyramiding = 5)

// Strategy calls to enter 5 long positions every 2 bars.
if bar_index % 2 == 0
    strategy.entry("Long", strategy.long, qty = 5)

// Calculate open profit or loss for the open positions.
tradeOpenPL() =>
    sumProfit = 0.0
    for tradeNo = 0 to strategy.opentrades - 1
        sumProfit += strategy.opentrades.profit(tradeNo)
    result = sumProfit
    
plot(tradeOpenPL(), "Profit of all open trades")

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch mở. Số giao dịch đầu tiên là 0.

Xem thêm strategy.closedtrades.profit strategy.openprofit strategy.netprofit strategy.grossprofit

strategy.opentrades.size

Trả về hướng và số lượng hợp đồng giao dịch trong giao dịch mở. Nếu giá trị > 0, vị trí thị trường là dài. Nếu giá trị < 0, vị trí thị trường là ngắn.

strategy.opentrades.size(trade_num)

Ví dụ

strategy("`strategy.opentrades.size` Example 1")

// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
    strategy.close("Long")

// Plot the number of contracts in the latest open trade.
plot(strategy.opentrades.size(strategy.opentrades - 1), "Amount of contracts in latest open trade")

Tính toán tỷ lệ lợi nhuận trung bình của các vị trí mở.

Ví dụ

strategy("`strategy.opentrades.size` Example 2")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Calculate profit for all open trades.
profitPct = 0.0
for tradeNo = 0 to strategy.opentrades - 1
    entryP = strategy.opentrades.entry_price(tradeNo)
    exitP = close
    profitPct += (exitP - entryP) / entryP * strategy.opentrades.size(tradeNo) * 100
    
// Calculate average profit percent for all open trades.
avgProfitPct = nz(profitPct / strategy.opentrades)

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch mở. Số giao dịch đầu tiên là 0.

Xem thêm strategy.closedtrades.size strategy.position_size strategy.opentrades strategy.closedtrades

chiến lược.closedtrades.entry_bar_index

Trả về bar_index của mục giao dịch đóng.

strategy.closedtrades.entry_bar_index(trade_num)

Ví dụ

strategy("strategy.closedtrades.entry_bar_index Example")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
    strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
    strategy.close("Long")
// Function that calculates the average amount of bars in a trade.
avgBarsPerTrade() =>
    sumBarsPerTrade = 0
    for tradeNo = 0 to strategy.closedtrades - 1
        // Loop through all closed trades, starting with the oldest.
        sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
    result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch được đóng.

Xem thêm strategy.closedtrades.exit_bar_index strategy.opentrades.entry_bar_index

chiến lược.closedtrades.exit_price

Trả về giá thoát của một giao dịch đóng.

strategy.closedtrades.exit_price(trade_num)

Ví dụ

strategy("strategy.closedtrades.exit_price Example 1")

// We are creating a long trade every 5 bars
if bar_index % 5 == 0
    strategy.entry("Long",  strategy.long)
strategy.close("Long")

// Return the exit price from the latest closed trade.
exitPrice = strategy.closedtrades.exit_price(strategy.closedtrades - 1)

plot(exitPrice, "Long exit price")

Tính toán tỷ lệ phần trăm lợi nhuận trung bình cho tất cả các giao dịch đã hoàn thành.

Ví dụ

strategy("strategy.closedtrades.exit_price Example 2")

// Strategy calls to create single short and long trades.
if bar_index == last_bar_index - 15
    strategy.entry("Long Entry",  strategy.long)
else if bar_index == last_bar_index - 10
    strategy.close("Long Entry")
    strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
    strategy.close("Short")

// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
    entryP = strategy.closedtrades.entry_price(tradeNo)
    exitP = strategy.closedtrades.exit_price(tradeNo)
    profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
    
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)

plot(avgProfitPct)

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch đã hoàn thành. Số giao dịch đầu tiên là 0.

Xem thêm strategy.closedtrades.entry_price

chiến lược.closedtrades.exit_bar_index

Trả lại bar_index của lối ra thương mại đóng.

strategy.closedtrades.exit_bar_index(trade_num)

Ví dụ

strategy("strategy.closedtrades.exit_bar_index Example 1")

// Strategy calls to place a single short trade. We enter the trade at the first bar and exit the trade at 10 bars before the last chart bar.
if bar_index == 0
    strategy.entry("Short",  strategy.short)
if bar_index == last_bar_index - 10
    strategy.close("Short")

// Calculate the amount of bars since the last closed trade.
barsSinceClosed = strategy.closedtrades > 0 ? bar_index - strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) : na

plot(barsSinceClosed, "Bars since last closed trade")

Tính toán số lượng trung bình các dòng K cho mỗi giao dịch.

Ví dụ

strategy("strategy.closedtrades.exit_bar_index Example 2")

// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
    strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
    strategy.close("Long")

// Function that calculates the average amount of bars per trade.
avgBarsPerTrade() =>
    sumBarsPerTrade = 0
    for tradeNo = 0 to strategy.closedtrades - 1
        // Loop through all closed trades, starting with the oldest.
        sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
    result = nz(sumBarsPerTrade / strategy.closedtrades)

plot(avgBarsPerTrade())

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch được đóng.

Xem thêm bar_index

chiến lược.closedtrades.entry_id

Trả về ID của mục giao dịch đã đóng.

strategy.closedtrades.entry_id(trade_num)

Ví dụ

strategy("strategy.closedtrades.entry_id Example", overlay = true)
var isOpen = false 
var openIndex = -1
// Enter a short position and close at the previous to last bar.
if not barstate.ishistory and not isOpen
    strategy.entry("Short at bar #" + str.tostring(bar_index), strategy.short)
    isOpen := true
    openIndex := bar_index
if openIndex != -1 and bar_index > openIndex + 100
    strategy.close_all()
    
// Display ID of the last entry position.
if barstate.islastconfirmedhistory
    runtime.log("Last Entry ID is: " + strategy.closedtrades.entry_id(strategy.closedtrades - 1))

Quay lạiTrả về ID của mục giao dịch đã đóng.

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch được đóng.

Nhận xétChức năng trả về na nếu trade_num không nằm trong phạm vi: 0 đến strategy.closedtrades-1.

Xem thêm strategy.closedtrades.entry_bar_index strategy.closedtrades.entry_time

chiến lược.closedtrades.entry_price

Trả về giá của mục giao dịch đóng.

strategy.closedtrades.entry_price(trade_num)

Ví dụ

strategy("strategy.closedtrades.entry_price Example 1")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Return the entry price for the latest  entry.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)

plot(entryPrice, "Long entry price")

Tính toán tỷ lệ phần trăm lợi nhuận trung bình cho tất cả các giao dịch đã hoàn thành.

Ví dụ

strategy("strategy.closedtrades.entry_price Example 2")

// Strategy calls to create single short and long trades
if bar_index == last_bar_index - 15
    strategy.entry("Long Entry",  strategy.long)
else if bar_index == last_bar_index - 10
    strategy.close("Long Entry")
    strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
    strategy.close("Short")

// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
    entryP = strategy.closedtrades.entry_price(tradeNo)
    exitP = strategy.closedtrades.exit_price(tradeNo)
    profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
    
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)

plot(avgProfitPct)

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch được đóng.

Xem thêm strategy.closedtrades.exit_price strategy.closedtrades.size strategy.closedtrades

chiến lược.closedtrades.entry_time

Trả về thời gian UNIX của mục giao dịch đóng.

strategy.closedtrades.entry_time(trade_num)

Ví dụ

strategy("strategy.closedtrades.entry_time Example", overlay = true)

// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
    strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
    strategy.close("Long")

// Calculate the average trade duration 
avgTradeDuration() =>
    sumTradeDuration = 0
    for i = 0 to strategy.closedtrades - 1
        sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i)
    result = nz(sumTradeDuration / strategy.closedtrades)

// Display average duration converted to seconds and formatted using 2 decimal points
if barstate.islastconfirmedhistory
    runtime.log(str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch được đóng.

Xem thêm strategy.opentrades.entry_time strategy.closedtrades.exit_time time

strategy.closedtrades.profit

Trả về lợi nhuận / lỗ của giao dịch đóng cửa. Loss được thể hiện dưới dạng giá trị âm.

strategy.closedtrades.profit(trade_num)

Ví dụ

strategy("`strategy.closedtrades.profit` Example")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Calculate average gross profit by adding the difference between gross profit and commission.
avgGrossProfit() =>
    sumGrossProfit = 0.0
    for tradeNo = 0 to strategy.closedtrades - 1
        sumGrossProfit += strategy.closedtrades.profit(tradeNo) - strategy.closedtrades.commission(tradeNo)
    result = nz(sumGrossProfit / strategy.closedtrades)
    
plot(avgGrossProfit(), "Average gross profit")

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch được đóng.

Xem thêm strategy.opentrades.profit strategy.closedtrades.commission

strategy.closedtrades.size

Trả về hướng và số lượng hợp đồng giao dịch trong giao dịch khép kín. Nếu giá trị là > 0, vị trí thị trường là dài. Nếu giá trị là < 0, vị trí thị trường là ngắn.

strategy.closedtrades.size(trade_num)

Ví dụ

strategy("`strategy.closedtrades.size` Example 1")

// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
    strategy.close("Long")

// Plot the number of contracts traded in the last closed trade.     
plot(strategy.closedtrades.size(strategy.closedtrades - 1), "Number of contracts traded")

Tính toán tỷ lệ phần trăm lợi nhuận trung bình trên các giao dịch đóng cửa.

Ví dụ

strategy("`strategy.closedtrades.size` Example 2")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")


// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
    entryP = strategy.closedtrades.entry_price(tradeNo)
    exitP = strategy.closedtrades.exit_price(tradeNo)
    profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
    
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)

plot(avgProfitPct)

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch được đóng.

Xem thêm strategy.opentrades.size strategy.position_size strategy.closedtrades strategy.opentrades

chiến lược.closedtrades.exit_time

Trả về thời gian UNIX của giao dịch đóng cửa.

strategy.closedtrades.exit_time(trade_num)

Ví dụ

strategy("strategy.closedtrades.exit_time Example 1")

// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
    strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
    strategy.close("Long")

// Calculate the average trade duration. 
avgTradeDuration() =>
    sumTradeDuration = 0
    for i = 0 to strategy.closedtrades - 1
        sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i)
    result = nz(sumTradeDuration / strategy.closedtrades)

// Display average duration converted to seconds and formatted using 2 decimal points.
if barstate.islastconfirmedhistory
    label.new(bar_index, high, str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")

Mở lại các giao dịch sau X giây.

Ví dụ

strategy("strategy.closedtrades.exit_time Example 2")

// Strategy calls to emulate a single long trade at the first bar.
if bar_index == 0
    strategy.entry("Long", strategy.long)

reopenPositionAfter(timeSec) =>
    if strategy.closedtrades > 0
        if time - strategy.closedtrades.exit_time(strategy.closedtrades - 1) >= timeSec * 1000
            strategy.entry("Long", strategy.long)

// Reopen last closed position after 120 sec.                
reopenPositionAfter(120)

if ta.change(strategy.opentrades)
    strategy.exit("Long", stop = low * 0.9, profit = high * 2.5)

Các lập luận

  • trade_num(series int) Số giao dịch của giao dịch được đóng.

Xem thêm strategy.closedtrades.entry_time

Chiến lược.Risk.Allow_entry_in

Chức năng này có thể được sử dụng để chỉ định hướng thị trường mà chức năng strategy.entry được phép mở các vị trí.

strategy.risk.allow_entry_in(value)

Ví dụ

strategy("strategy.risk.allow_entry_in")

strategy.risk.allow_entry_in(strategy.direction.long)
strategy.entry("Long", strategy.long, when = open > close)
// Instead of opening a short position with 10 contracts, this command will close long entries.
strategy.entry("Short", strategy.short, when = open < close, qty = 10)

Các lập luận

  • value(dòng chuỗi đơn giản) Hướng dẫn được phép.strategy.direction.all, strategy.direction.long, strategy.direction.short

Chiến lược.Risk.max_position_size

Mục đích của quy tắc này là xác định kích thước tối đa của một vị trí thị trường.strategy.entry. Số lượng tham nhập có thể được giảm xuống (nếu cần thiết) đến số hợp đồng/cổ phiếu/lô/đơn vị, do đó tổng kích thước vị trí không vượt quá giá trị được chỉ định trong strategy.risk.max_position_size. Nếu số lượng tối thiểu vẫn vi phạm quy tắc, lệnh sẽ không được đặt.

strategy.risk.max_position_size(contracts)

Ví dụ

strategy("risk.max_position_size Demo", default_qty_value = 100)
strategy.risk.max_position_size(10)
strategy.entry("buy", strategy.long, when = open > close)
plot(strategy.position_size)  // max plot value will be 10

Các lập luận

  • contracts(simple int/float) Một thông số cần thiết. Số lượng hợp đồng/đồng phiếu/lô/đơn vị trong một vị trí.

toán học

math.abs

Giá trị tuyệt đối củanumbernumbernếunumber>= 0, hoặc -number otherwise.

math.abs(number) 

Quay lạiGiá trị tuyệt đối củanumber.

math.acos

Chức năng acos trả về arccosine (trong radian) của số như là cos ((acos ((y)) = y cho y trong phạm vi [-1, 1].

math.acos(angle)

Quay lạiVàng cosinus của một giá trị; góc trả về nằm trong phạm vi [0, Pi], hoặc na nếu y nằm ngoài phạm vi [-1, 1].

math.random

Trả về một giá trị giả ngẫu nhiên. Chức năng sẽ tạo ra một chuỗi giá trị khác nhau cho mỗi lần thực thi kịch bản. Sử dụng cùng một giá trị cho đối số seed tùy chọn sẽ tạo ra một chuỗi lặp lại.

math.random(min, max, seed)

Quay lạiMột giá trị ngẫu nhiên.

Các lập luận

  • min(series int/float) Ranh giới dưới của phạm vi các giá trị ngẫu nhiên. Giá trị không được bao gồm trong phạm vi. mặc định là 0.
  • max(series int/float) Biên giới trên của phạm vi các giá trị ngẫu nhiên. Giá trị không được bao gồm trong phạm vi. mặc định là 1.
  • seed(input int) Đối số tùy chọn. Khi cùng một hạt giống được sử dụng, cho phép các cuộc gọi liên tiếp đến hàm để tạo ra một tập hợp các giá trị có thể lặp lại.

math.asin

Chức năng asin trả về arcsinus (trong radian) của số như sin ((asin ((y)) = y cho y trong phạm vi [-1, 1].

math.asin(angle) 

Quay lạiArcsinus của một giá trị; góc trả về nằm trong phạm vi [-Pi/2, Pi/2], hoặc na nếu y nằm ngoài phạm vi [-1, 1].

math.atan

Chức năng atan trả về arctangent (trong radian) của số như tan ((atan ((y)) = y cho bất kỳ y nào.

math.atan(angle) 

Quay lạiVòng chạm cung của một giá trị; góc được trả lại nằm trong phạm vi [-Pi/2, Pi/2].

math.ceil

Chức năng trần nhà trả về số nguyên nhỏ nhất (gần nhất với vô hạn âm) lớn hơn hoặc bằng đối số.

math.ceil(number)

Quay lạiSố nguyên nhỏ nhất nhỏ hơn hoặc bằng với số được đưa ra.

Xem thêm math.floor math.round

math.cos

Chức năng cos trả về cosinus tam giác của một góc.

math.cos(angle) 

Quay lạiTrigonometric cosine của một góc.

Các lập luận

  • angle(series int/float) góc, trong radian.

math.exp

Chức năng exp củanumberđược nâng lên sức mạnh củanumber, trong đó e là số Euler.

math.exp(number) 

Quay lạiMột giá trị đại diện cho e nâng lênnumber.

Xem thêm math.pow

math.floor

math.floor(number) 

Quay lạiSố nguyên lớn nhất nhỏ hơn hoặc bằng số được đưa ra.

Xem thêm math.ceil math.round

math.log

Logarithm tự nhiên của bất kỳnumber> 0 là y duy nhất như vậy mà e ^ y =number.

math.log(number)

Quay lạiLogarit tự nhiên củanumber.

Xem thêm math.log10

math.log10

Logarithm chung (hoặc cơ sở 10) củanumberlà công suất mà 10 phải được nâng lên để có đượcnumber. 10 ^ y =number.

math.log10(number)

Quay lạiLogarithm căn 10 củanumber.

Xem thêm math.log

math.pow

Chức năng toán học.

math.pow(base, exponent)

Ví dụ

// math.pow
plot(math.pow(close, 2))

Quay lại baseđược nâng lên sức mạnh củaexponentNếu.baselà một chuỗi, nó được tính theo phần tử.

Các lập luận

  • base(series int/float) Xác định cơ sở được sử dụng.
  • exponent(series int/float) Xác định đại số.

Xem thêm math.sqrt math.exp

math.sign

Dấu hiệu (signum) của số là 0 nếu số là 0, 1,0 nếu số lớn hơn 0, -1,0 nếu số nhỏ hơn 0.

math.sign(number)

Quay lạiDấu hiệu của cuộc tranh luận.

math.sin

Chức năng sin trả về sinus tam giác của một góc.

math.sin(angle)

Quay lạiTrigonometric sinus của một góc.

Các lập luận

  • angle(series int/float) góc, trong radian.

math.sqrt

gốc vuông của bất kỳnumber>= 0 là y duy nhất >= 0 như vậy mà y ^ 2 =number.

math.sqrt(number)

Quay lạiNguồn vuông củanumber.

Xem thêm math.pow

math.tan

Chức năng tan trả về đường tiếp xúc tam giác của một góc.

math.tan(angle)

Quay lạiChiều chạm tam giác của một góc.

Các lập luận

  • angle(series int/float) góc, trong radian.

math.round

Trả về giá trị củanumbertròn đến số nguyên gần nhất, với mối quan hệ tròn lên.precisiontham số được sử dụng, trả về một giá trị nổi tròn đến số lượng vị trí thập phân đó.

math.round(number) 
math.round(number, precision) 

Quay lạiGiá trị củanumberđược làm tròn đến số nguyên gần nhất, hoặc theo độ chính xác.

Các lập luận

  • number(series int/float) Giá trị được làm tròn.
  • precision(series int) Đối số tùy chọn.numbersẽ được làm tròn. Khi không có lập luận được cung cấp, làm tròn là số nguyên gần nhất.

Nhận xétLưu ý rằng cho các giá trị na hàm trả về na.

Xem thêm math.ceil math.floor

math.max

Trả về giá trị lớn nhất trong số nhiều giá trị.

math.max(number0, number1, ...) 

Ví dụ

// math.max
plot(math.max(close, open))
plot(math.max(close, math.max(open, 42)))

Quay lạiGiá trị lớn nhất trong số nhiều giá trị được đưa ra.

Xem thêm math.min

math.min

Trả về giá trị nhỏ nhất trong số nhiều giá trị.

math.min(number0, number1, ...) 

Ví dụ

// math.min
plot(math.min(close, open))
plot(math.min(close, math.min(open, 42)))

Quay lạiGiá trị nhỏ nhất trong số nhiều giá trị được đưa ra.

Xem thêm math.max

math.avg

Tính toán trung bình của tất cả các chuỗi được đưa ra (theo các yếu tố).

math.avg(number0, number1, ...)

Quay lại Average.

Xem thêm math.sum ta.cum ta.sma

math.round_to_mintick

Trả về giá trị tròn xuống biểu tượng mintick, tức là giá trị gần nhất có thể được chia cho syminfo.mintick, không có phần còn lại, với các mối quan hệ tròn lên.

math.round_to_mintick(number) 

Quay lạiCácnumbertròn để đánh dấu chính xác.

Các lập luận

  • number(series int/float) Giá trị được làm tròn.

Xem thêm math.ceil math.floor

math.sum

Chức năng tổng trả về tổng trượt của các giá trị y cuối cùng của x.

math.sum(source, length)

Quay lạiTổng sốsourcecholengthBắt lại.

Các lập luận

  • source(series int/float) Dòng các giá trị để xử lý.
  • length(series int) Số thanh (chiều dài).

Xem thêm ta.cum for

math.todegrees

Trả về một góc tương đương khoảng bằng độ từ một góc đo bằng radian.

math.todegrees(radians) 

Quay lạiGiá trị góc bằng độ.

Các lập luận

  • radians(series int/float) góc trong radian.

math.toradians

Trả về một góc tương đương khoảng trong radian từ một góc đo bằng độ.

math.toradians(degrees) 

Quay lạiGiá trị góc trong radian.

Các lập luận

  • degrees(series int/float) góc bằng độ.

những người khác

fixnan

Đối với một chuỗi nhất định thay thế các giá trị NaN bằng giá trị không phải NaN gần nhất trước đó.

fixnan(source) 

Quay lạiSeries không có lỗ hổng.

Các lập luận

  • source(dòng int/float/bool/color)

Xem thêm na nz

nz

Thay thế các giá trị NaN bằng số không (hoặc giá trị được đưa ra) trong một chuỗi.

nz(source, replacement) 
nz(source)

Ví dụ

// nz
plot(nz(ta.sma(close, 100)))

Quay lạiGiá trị củasourcenếu khôngnaNếu giá trị củasourcena, trả về không, hoặcreplacementmột lập luận khi một được sử dụng.

Các lập luận

  • source(dòng int/float/bool/color) Dòng các giá trị để xử lý.
  • replacement(series int/float/bool/color) Giá trị thay thế tất cả các giá trị na trongsource series.

Xem thêm na fixnan

không

Giá trị thử nghiệm nếu nó là NaN.

na(x)

Quay lạiđúng nếu x không phải là một số hợp lệ (x là NaN), nếu không sai.

Xem thêm fixnan nz

int

Trả ra hoặc cắt giảm giá trị float thành int.

int(x) 

Quay lạiGiá trị của đối số sau khi casting vào int.

Xem thêm float bool color string

trôi

Không thể trôi nổi.

float(x) 

Quay lạiGiá trị của đối số sau khi đúc lên float.

Xem thêm int bool color string

cảnh báo

Khởi động một sự kiện cảnh báo khi được gọi trong thanh thời gian thực và cảnh báo dựa trên các sự kiện chức năng cảnh báo đã được tạo trước đó cho chỉ số hoặc chiến lược thông qua hộp thoại Create Alert.

alert(message, freq)

Ví dụ

// alert() example
ma = ta.sma(close, 14)
xUp = ta.crossover(close, ma)
if xUp
    // Trigger the alert the first time a cross occurs during the real-time bar.
    alert("Price (" + str.tostring(close) + ") crossed over MA (" + str.tostring(ma) +  ").", alert.freq_once_per_bar)
plot(ma)
plotchar(xUp, "xUp", "▲", location.top, size = size.tiny)

Các lập luận

  • messageThông điệp được gửi khi báo động được kích hoạt.
  • freq(dòng vào) Tần số kích hoạt. Các giá trị có thể là: alert.freq_all (tất cả các cuộc gọi chức năng kích hoạt cảnh báo), alert.freq_once_per_bar (cuộc gọi chức năng đầu tiên trong thanh kích hoạt cảnh báo), alert.freq_once_per_bar_close (cuộc gọi chức năng kích hoạt cảnh báo chỉ khi nó xảy ra trong lần lặp kịch bản cuối cùng của thanh thời gian thực, khi đóng). mặc định là alert.freq_once_per_bar.

Nhận xétTrung tâm trợ giúp giải thích cách tạo cảnh báo như vậy. Trái ngược với cảnh báo, các cuộc gọi cảnh báo KHÔNG được tính là một đoạn thêm. Các cuộc gọi chức năng có thể được đặt ở cả phạm vi toàn cầu và địa phương. Các cuộc gọi chức năng không hiển thị bất cứ điều gì trên biểu đồ. Đối số freq chỉ ảnh hưởng đến tần số kích hoạt của cuộc gọi hàm khi nó được sử dụng.

Xem thêm alertcondition

tình trạng cảnh báo

Tạo điều kiện cảnh báo, có sẵn trong hộp thoại Tạo cảnh báo. Xin lưu ý, rằng alertcondition không tạo cảnh báo, nó chỉ cung cấp cho bạn nhiều tùy chọn hơn trong hộp thoại Tạo cảnh báo. Ngoài ra, hiệu ứng alertcondition không hiển thị trên biểu đồ.

alertcondition(condition, title, message)

Ví dụ

// alertcondition
alertcondition(close >= open, title='Alert on Green Bar', message='Green Bar!')

Các lập luận

  • condition(series bool) Dòng các giá trị boolean được sử dụng cho cảnh báo. True nghĩa là cảnh báo lửa, false - không cảnh báo.
  • title(const string) Tên của điều kiện cảnh báo.
  • message(const string) Thông báo để hiển thị khi báo động bắn.

Nhận xétVui lòng lưu ý rằng trong Pine Script v4/v5 một alertcondition call tạo ra một plot bổ sung.

Xem thêm alert

chỉ số

Để tương thích vớiTrading Viewmã chiến lược, nó không thực sự cần phải được gọi.

Xem thêm strategy

thời gian

Chức năng thời gian trả về thời gian UNIX của thanh hiện tại cho khung thời gian và phiên đã chỉ định hoặc NaN nếu thời điểm không có phiên.session arguments.

time(timeframe, session, timezone)

time(timeframe, session)

time(timeframe)

Ví dụ

timeinrange(res, sess) => not na(time(res, sess, "America/New_York")) ? 1 : 0
plot(timeinrange("1", "1300-1400"), color=color.red)

// This plots 1.0 at every start of 10 minute bar on a 1 minute chart:
newbar(res) => ta.change(time(res)) == 0 ? 0 : 1
plot(newbar("10"))

Khi thiết lập một phiên, bạn có thể chỉ định không chỉ giờ và phút mà còn là ngày trong tuần sẽ được bao gồm trong phiên đó. Nếu ngày không được chỉ định, phiên họp được coi là đã được thiết lập từ Chủ nhật (1) đến thứ Bảy (7), tức là 1100-2000 bằng với 1100-1200:1234567. Ví dụ, trên một biểu tượng được giao dịch bảy ngày một tuần với phiên giao dịch 24 giờ, kịch bản sau đây sẽ không có màu vào thứ Bảy và Chủ nhật:

Ví dụ

// Time
t1 = time(timeframe.period, "0000-0000:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)

Một.sessionargument có thể bao gồm một số phiên khác nhau, được tách bằng dấu phẩy. Ví dụ, kịch bản sau sẽ làm nổi bật các thanh từ 10:00 đến 11:00 và từ 14:00 đến 15:00 (chỉ trong ngày làm việc):

Ví dụ

// Time
t1 = time(timeframe.period, "1000-1100,1400-1500:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)

Quay lạiThời gian UNIX.

Các lập luận

  • timeframe(dây đơn giản) khung thời gian. Dây trống được giải thích là khung thời gian hiện tại của biểu đồ.
  • session(simple string) Thông số kỹ thuật phiên. Đối số tùy chọn, phiên của ký hiệu được sử dụng theo mặc định. Một chuỗi trống được giải thích là phiên của ký hiệu. FMZ không hỗ trợ điều này.
  • timezone(dây đơn giản) Khu vực giờ củasessionargument. Nó chỉ có thể được sử dụng khi session được chỉ định. Tùy chọn. mặc định là syminfo.timezone. Có thể được chỉ định trong ký hiệu GMT (ví dụ: GMT-5) hoặc là tên cơ sở dữ liệu múi giờ IANA (ví dụ: America/New_York).

Nhận xétThời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970.

năm

year(time)
year(time, timezone)

Quay lạiNăm (trong múi giờ trao đổi) cho thời gian UNIX được cung cấp.

Các lập luận

  • time(series int) UNIX thời gian trong mili giây.
  • timezoneMột lập luận tùy chọn.

Nhận xétThời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970. Lưu ý rằng hàm này trả về năm dựa trên thời gian các thanh mở. Đối với các phiên qua đêm (ví dụ EURUSD, nơi phiên thứ Hai bắt đầu vào Chủ nhật, 17:00 UTC-4) giá trị này có thể thấp hơn 1 so với năm ngày giao dịch.

Xem thêm year time month dayofmonth dayofweek hour minute second

tháng

month(time)
month(time, timezone)

Quay lạiTháng (trong múi giờ trao đổi) cho thời gian UNIX được cung cấp.

Các lập luận

  • time(series int) UNIX thời gian trong mili giây.
  • timezoneMột lập luận tùy chọn.

Nhận xétThời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970. Lưu ý rằng hàm này trả về tháng dựa trên thời gian các thanh mở. Đối với các phiên qua đêm (ví dụ EURUSD, nơi phiên thứ Hai bắt đầu vào Chủ nhật, 17:00 UTC-4) giá trị này có thể thấp hơn 1 so với tháng của ngày giao dịch.

Xem thêm month time year dayofmonth dayofweek hour minute second

giờ

hour(time)
hour(time, timezone)

Quay lạiGiờ (trong múi giờ trao đổi) cho thời gian UNIX được cung cấp.

Các lập luận

  • time(series int) UNIX thời gian trong mili giây.
  • timezoneMột tham số tùy chọn.

Nhận xétThời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970.

Xem thêm hour time year month dayofmonth dayofweek minute second

phút

minute(time)
minute(time, timezone)

Quay lạiphút (trong múi giờ trao đổi) cho thời gian UNIX được cung cấp.

Các lập luận

  • time(series int) UNIX thời gian trong mili giây.
  • timezoneMột lập luận tùy chọn.

Nhận xétThời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970.

Xem thêm minute time year month dayofmonth dayofweek hour second

thứ hai

second(time)
second(time, timezone)

Quay lạiThứ hai (trong múi giờ trao đổi) cho thời gian UNIX được cung cấp.

Các lập luận

  • time(series int) UNIX thời gian trong mili giây.
  • timezoneMột tham số tùy chọn.

Nhận xétThời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970.

Xem thêm second time year month dayofmonth dayofweek hour minute

tuần năm

weekofyear(time)
weekofyear(time, timezone)

Quay lạiTuần của năm (trong múi giờ trao đổi) cho thời gian UNIX được cung cấp.

Các lập luận

  • time(series int) UNIX thời gian trong mili giây.
  • timezoneMột tham số tùy chọn.

Nhận xétThời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970. Lưu ý rằng hàm này trả về tuần dựa trên thời gian các thanh mở. Đối với các phiên qua đêm (ví dụ EURUSD, nơi phiên thứ Hai bắt đầu vào Chủ nhật, 17:00) giá trị này có thể thấp hơn 1 so với tuần của ngày giao dịch.

Xem thêm weekofyear time year month dayofmonth dayofweek hour minute second

ngày/tuần

dayofweek(time)
dayofweek(time, timezone)

Quay lạiNgày trong tuần (trong múi giờ trao đổi) cho thời gian UNIX được cung cấp.

Các lập luận

  • time(series int) UNIX thời gian trong mili giây.
  • timezoneMột tham số tùy chọn.

Nhận xétLưu ý rằng hàm này trả về ngày dựa trên thời gian các thanh mở. Đối với các phiên qua đêm (ví dụ EURUSD, nơi phiên thứ Hai bắt đầu vào Chủ nhật, 17:00) giá trị này có thể thấp hơn 1 so với ngày giao dịch. Thời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970.

Xem thêm time dayofmonth

ngày tháng

dayofmonth(time)
dayofmonth(time, timezone)

Quay lạiNgày của tháng (trong múi giờ trao đổi) cho thời gian UNIX được cung cấp.

Các lập luận

  • time(series int) thời gian Unix trong mili giây.
  • timezoneMột tham số tùy chọn.

Nhận xétThời gian UNIX là số millisecond đã trôi qua kể từ 00:00:00 UTC, ngày 1 tháng 1 năm 1970. Lưu ý rằng hàm này trả về ngày dựa trên thời gian các thanh mở. Đối với các phiên qua đêm (ví dụ EURUSD, nơi phiên thứ Hai bắt đầu vào Chủ nhật, 17:00 UTC-4) giá trị này có thể thấp hơn 1 so với ngày giao dịch.

Xem thêm time dayofweek

dấu thời gian

Chức năng timestamp trả về thời gian UNIX của ngày và thời gian được chỉ định.

timestamp(dateString)
timestamp(year, month, day, hour, minute, second)
timestamp(timezone, year, month, day, hour, minute, second)

Ví dụ

// timestamp
plot(timestamp(2016, 01, 19, 09, 30), linewidth=3, color=color.green)
plot(timestamp(syminfo.timezone, 2016, 01, 19, 09, 30), color=color.blue)
plot(timestamp(2016, 01, 19, 09, 30), color=color.yellow)
plot(timestamp("GMT+6", 2016, 01, 19, 09, 30))
plot(timestamp(2019, 06, 19, 09, 30, 15), color=color.lime)
plot(timestamp("GMT+3", 2019, 06, 19, 09, 30, 15), color=color.fuchsia)
plot(timestamp("Feb 01 2020 22:10:05"))
plot(timestamp("2011-10-10T14:48:00"))

Thêm nữa

Người ăn xinTại sao chiến lược quảng trường sao chép chiến lược của Pine không thể thực hiện

Những nhà phát minh định lượng - những giấc mơ nhỏĐược rồi, chúng ta kiểm tra xem.

Người ăn xinTheo dõi xu hướng được tối ưu hóa của Zhang Giang

Những nhà phát minh định lượng - những giấc mơ nhỏXin chào, tôi muốn hỏi chiến lược cụ thể của bạn là gì?