Nilai t ialah
trail_price
(seri int/float) Argumen pilihan. Tahap pengaktifan trailing stop (membutuhkan harga tertentu). Jika ditentukan, pesanan trailing stop akan diletakkan apabila tahap harga yang ditentukan dicapai. Penghapusan (dalam tik) untuk menentukan harga awal pesanan trailing stop ditentukan dalam argumen trail_points
(seri int/float) Argumen pilihan. Tahap pengaktifan hentian terbabit (keuntungan yang dinyatakan dalam tik). Jika ditentukan, pesanan hentian terbabit akan diletakkan apabila tahap harga yang dikira (jumlah keuntungan yang ditentukan) dicapai. Penghapusan (dalam tik) untuk menentukan harga awal pesanan hentian terbabit ditentukan dalam argumen trail_offset
(seri int/float) Argumen pilihan. Harga hentian terbabit (ditentukan dalam tik). Penghapusan dalam tik untuk menentukan harga awal pesanan hentian terbabit: X tik lebih rendah daripada oca_name
comment
(serangkaian rentetan) Argumen pilihan. Petua tambahan untuk perintah.when
(seri bool) Argumen pilihan. Syarat pesanan. Perintah diletakkan jika syarat adalah alert_message
(string siri) Argumen pilihan apabila menggunakan tempat letak {{strategi.order.alert_message}} dalam medan Ini adalah perintah untuk membatalkan / menonaktifkan pesanan yang menunggu dengan merujuk nama mereka, yang dihasilkan oleh fungsi: strategi.order, strategi.entry danstrategy.exit.
strategy.cancel(id, when)
Contoh
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
Argumen
id
(serangkaian rentetan) Argumen yang diperlukan. Pengenali pesanan. Adalah mungkin untuk membatalkan pesanan dengan merujuk pengidentifikasiannya.when
(seri bool) Argumen pilihan. Syarat untuk membatalkan pesanan dengan ID tertentu. Jika syarat adalah Ia adalah perintah untuk membatalkan / menonaktifkan semua pesanan yang menunggu, yang dihasilkan oleh fungsi: strategi.order, strategi.entry danstrategy.exit.
strategy.cancel_all(when)
Contoh
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
Argumen
when
(seri bool) Argumen pilihan. Syarat untuk membatalkan semua pesanan. Jika syarat adalah benar, maka semua pesanan aktif akan dibatalkan. Nilai lalai adalah Ini adalah perintah untuk meletakkan pesanan. Jika pesanan dengan ID yang sama sudah menunggu, adalah mungkin untuk mengubahsuai pesanan. Jika tidak ada pesanan dengan ID yang ditentukan, pesanan baru diletakkan. Untuk mematikan pesanan, perintah strategy.cancel atau strategy.cancel_all harus digunakan. Berbanding dengan fungsi strategy.entry, fungsi strategy.order tidak dipengaruhi oleh piramid. Jika kedua-dua parameter
strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Contoh
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
Argumen
id
(string siri) Parameter yang diperlukan. Pengenali pesanan. Adalah mungkin untuk membatalkan atau mengubah suai pesanan dengan merujuk pengidentifikasiannya.direction
(strategi_direction) Parameter yang diperlukan. Arahan pesanan: qty
(seri int/float) Parameter pilihan. Bilangan kontrak/saham/lot/unit untuk didagangkan. Nilai lalai ialah limit
(seri int/float) Parameter pilihan. Harga had pesanan. Jika ditentukan, jenis pesanan adalah sama ada stop
(seri int/float) Parameter pilihan. Harga henti pesanan. Jika ditentukan, jenis pesanan adalah oca_name
oca_type
comment
(Seri rentetan) parameter pilihan. Nota tambahan mengenai urutan.when
(seri bool) Parameter pilihan. Keadaan pesanan. Perintah diletakkan jika keadaan adalah alert_message
(string siri) Parameter pilihan yang menggantikan tempat letak {{strategi.order.alert_message}} apabila ia digunakan dalam kotak dialog Mengembalikan bar_index entri perdagangan terbuka.
strategy.opentrades.entry_bar_index(trade_num)
Tunggu 10 bar dan tutup kedudukan.
Contoh
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")
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.entry_bar_index
strategy.closedtrades.exit_bar_index
Mengembalikan id entri perdagangan terbuka.
strategy.opentrades.entry_id(trade_num)
Contoh
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))
KembaliMengembalikan ID entri perdagangan terbuka.
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan terbuka.CatatanFungsi ini mengembalikan na jika trade_num tidak berada dalam julat: 0 ke strategi.opentrades-1.
Lihat juga
strategy.opentrades.entry_bar_index
strategy.opentrades.entry_time
Mengembalikan harga entri perdagangan terbuka.
strategy.opentrades.entry_price(trade_num)
Contoh
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")
Mengira purata harga kedudukan terbuka.
Contoh
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())
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.exit_price
Mengembalikan masa UNIX entri perdagangan terbuka.
strategy.opentrades.entry_time(trade_num)
Contoh
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")
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.entry_time
strategy.closedtrades.exit_time
Mengembalikan keuntungan/kerugian perdagangan terbuka. Kerugian dinyatakan sebagai nilai negatif.
strategy.opentrades.profit(trade_num)
Mengembalikan keuntungan perdagangan terakhir yang dibuka.
Contoh
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")
Mengira keuntungan semua kedudukan terbuka.
Contoh
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")
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.profit
strategy.openprofit
strategy.netprofit
strategy.grossprofit
Mengembalikan arah dan bilangan kontrak yang didagangkan dalam perdagangan terbuka. Jika nilai > 0, kedudukan pasaran adalah panjang. Jika nilai < 0, kedudukan pasaran adalah pendek.
strategy.opentrades.size(trade_num)
Contoh
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")
Mengira peratusan keuntungan purata dari kedudukan terbuka.
Contoh
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)
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.size
strategy.position_size
strategy.opentrades
strategy.closedtrades
Mengembalikan bar_index entri perdagangan yang ditutup.
strategy.closedtrades.entry_bar_index(trade_num)
Contoh
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())
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan yang ditutup.Lihat juga
strategy.closedtrades.exit_bar_index
strategy.opentrades.entry_bar_index
Mengembalikan harga keluar perdagangan yang ditutup.
strategy.closedtrades.exit_price(trade_num)
Contoh
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")
Mengira peratusan keuntungan purata untuk semua perdagangan yang ditutup.
Contoh
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)
Argumen
trade_num
(seri int) Nombor urus niaga transaksi yang ditutup. Nombor urus niaga pertama adalah sifar.Lihat juga
strategy.closedtrades.entry_price
Kembalikan bar_index keluar perdagangan tertutup.
strategy.closedtrades.exit_bar_index(trade_num)
Contoh
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")
Hitung purata bilangan K-line setiap transaksi.
Contoh
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())
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan yang ditutup.Lihat juga
bar_index
Mengembalikan id entri perdagangan yang ditutup.
strategy.closedtrades.entry_id(trade_num)
Contoh
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))
KembaliMengembalikan id entri perdagangan yang ditutup.
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan yang ditutup.CatatanFungsi ini mengembalikan na jika trade_num tidak berada dalam julat: 0 kepada strategi.closedtrades-1.
Lihat juga
strategy.closedtrades.entry_bar_index
strategy.closedtrades.entry_time
Mengembalikan harga entri perdagangan yang ditutup.
strategy.closedtrades.entry_price(trade_num)
Contoh
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")
Mengira peratusan keuntungan purata untuk semua perdagangan yang ditutup.
Contoh
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)
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan yang ditutup.Lihat juga
strategy.closedtrades.exit_price
strategy.closedtrades.size
strategy.closedtrades
Mengembalikan masa UNIX entri perdagangan yang ditutup.
strategy.closedtrades.entry_time(trade_num)
Contoh
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")
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan yang ditutup.Lihat juga
strategy.opentrades.entry_time
strategy.closedtrades.exit_time
time
Mengembalikan keuntungan/kerugian perdagangan tertutup. Kerugian dinyatakan sebagai nilai negatif.
strategy.closedtrades.profit(trade_num)
Contoh
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")
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan yang ditutup.Lihat juga
strategy.opentrades.profit
strategy.closedtrades.commission
Mengembalikan arah dan bilangan kontrak yang didagangkan dalam perdagangan tertutup. Jika nilai > 0, kedudukan pasaran adalah panjang. Jika nilai < 0, kedudukan pasaran adalah pendek.
strategy.closedtrades.size(trade_num)
Contoh
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")
Hitung peratusan keuntungan purata pada perdagangan yang ditutup.
Contoh
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)
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan yang ditutup.Lihat juga
strategy.opentrades.size
strategy.position_size
strategy.closedtrades
strategy.opentrades
Mengembalikan masa UNIX keluar perdagangan yang ditutup.
strategy.closedtrades.exit_time(trade_num)
Contoh
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")
Buka semula perdagangan yang ditutup selepas X saat.
Contoh
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)
Argumen
trade_num
(seri int) Nombor perdagangan perdagangan yang ditutup.Lihat juga
strategy.closedtrades.entry_time
Fungsi ini boleh digunakan untuk menentukan arah pasaran mana fungsi strategi.entry dibenarkan untuk membuka kedudukan.
strategy.risk.allow_entry_in(value)
Contoh
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)
Argumen
value
(string mudah) Arah yang dibenarkan.strategy.direction.all
, strategy.direction.long
, strategy.direction.short
Tujuan peraturan ini adalah untuk menentukan saiz maksimum kedudukan pasaran.strategy.entry
. kuantiti
strategy.risk.max_position_size(contracts)
Contoh
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
Argumen
contracts
(sederhana int/float) Parameter yang diperlukan. Bilangan maksimum kontrak/saham/lot/unit dalam satu kedudukan.Nilai mutlaknumber
adalahnumber
jikanumber
>= 0, atau -number
otherwise.
math.abs(number)
KembaliNilai mutlaknumber
.
Fungsi acos mengembalikan arccosine (dalam radian) bilangan sedemikian rupa sehingga cos ((acos ((y)) = y untuk y dalam julat [-1, 1].
math.acos(angle)
KembaliKosinus busur nilai; sudut yang dikembalikan berada dalam julat [0, Pi], atau na jika y berada di luar julat [-1, 1].
Mengembalikan nilai pseudo-random. Fungsi ini akan menghasilkan urutan nilai yang berbeza untuk setiap pelaksanaan skrip. Menggunakan nilai yang sama untuk argument benih pilihan akan menghasilkan urutan yang boleh diulang.
math.random(min, max, seed)
KembaliNilai rawak.
Argumen
min
(seri int/float) Batas bawah julat nilai rawak. Nilai tidak termasuk dalam julat. lalai adalah 0.max
(seri int/float) Batas atas julat nilai rawak. Nilai tidak termasuk dalam julat. lalai adalah 1.seed
(input int) Argumen pilihan. Apabila benih yang sama digunakan, membolehkan panggilan berturut-turut kepada fungsi untuk menghasilkan set nilai yang boleh diulang.Fungsi asin mengembalikan arcsinus (dalam radian) bilangan sedemikian rupa sehingga sin ((asin(y)) = y untuk y dalam julat [-1, 1].
math.asin(angle)
KembaliArcsinus nilai; sudut yang dikembalikan berada dalam julat [-Pi/2, Pi/2], atau na jika y berada di luar julat [-1, 1].
Fungsi atan mengembalikan arctangent (dalam radian) bilangan sedemikian rupa sehingga tan ((atan ((y)) = y untuk mana-mana y.
math.atan(angle)
KembaliTangen busur nilai; sudut yang dikembalikan adalah dalam julat [-Pi/2, Pi/2].
Fungsi siling mengembalikan bilangan bulat terkecil (yang paling dekat dengan had negatif) yang lebih besar daripada atau sama dengan argumen.
math.ceil(number)
KembaliBilangan bulat terkecil daripada atau sama dengan nombor yang diberikan.
Lihat juga
math.floor
math.round
Fungsi cos mengembalikan cosinus trigonometri sudut.
math.cos(angle)
KembaliKosinus trigonometri sudut.
Argumen
angle
(seri int/float) Sudut, dalam radian.Fungsi expnumber
adalah e diangkat kepada kuasanumber
, di mana e adalah nombor Euler.
math.exp(number)
KembaliNilai yang mewakili e naik pangkatnumber
.
Lihat juga
math.pow
math.floor(number)
KembaliBilangan bulat terbesar kurang daripada atau sama dengan nombor yang diberikan.
Lihat juga
math.ceil
math.round
Logaritma semula jadi mana-mananumber
> 0 adalah y unik sedemikian rupa bahawa e ^ y =number
.
math.log(number)
KembaliLogaritma semula jadinumber
.
Lihat juga
math.log10
Logaritma biasa (atau asas 10)number
adalah kuasa yang 10 mesti dinaikkan untuk mendapatkannumber
. 10 y =number
.
math.log10(number)
KembaliLogaritma asas 10number
.
Lihat juga
math.log
Fungsi kuasa matematik.
math.pow(base, exponent)
Contoh
// math.pow
plot(math.pow(close, 2))
Kembali
base
Dibesarkan kepada kuasaexponent
. Jikabase
adalah siri, ia dikira unsur.
Argumen
base
(seri int/float) Tentukan asas yang akan digunakan.exponent
(seri int/float) Menentukan eksponen.Lihat juga
math.sqrt
math.exp
Tanda (signum)
math.sign(number)
KembaliTanda pertikaian.
Fungsi sin mengembalikan sinus trigonometri sudut.
math.sin(angle)
KembaliSinus trigonometri sudut.
Argumen
angle
(seri int/float) Sudut, dalam radian.Akar persegi mana-mananumber
>= 0 adalah y unik >= 0 sedemikian rupa bahawa y ^ 2 =number
.
math.sqrt(number)
KembaliAkar persegi darinumber
.
Lihat juga
math.pow
Fungsi tan mengembalikan tangen trigonometri sudut.
math.tan(angle)
KembaliTangen trigonometri sudut.
Argumen
angle
(seri int/float) Sudut, dalam radian.Mengembalikan nilainumber
dibulatkan kepada bilangan bulat terdekat, dengan ikatan dibulatkan ke atas.precision
parameter digunakan, mengembalikan nilai terapung dibulatkan kepada jumlah tempat perpuluhan.
math.round(number)
math.round(number, precision)
KembaliNilainumber
dibulatkan ke bilangan bulat terdekat, atau mengikut ketepatan.
Argumen
number
(seri int/float) Nilai yang perlu dibulatkan.precision
(seri int) Argumen pilihan. tempat perpuluhan yangnumber
Apabila tiada argumen yang disediakan, pengelupasan adalah kepada bilangan bulat terdekat.CatatanPerhatikan bahawa untuk
Lihat juga
math.ceil
math.floor
Mengembalikan nilai terbesar dari pelbagai.
math.max(number0, number1, ...)
Contoh
// math.max
plot(math.max(close, open))
plot(math.max(close, math.max(open, 42)))
KembaliYang terbesar daripada pelbagai nilai yang diberikan.
Lihat juga
math.min
Mengembalikan nilai terkecil daripada nilai berganda.
math.min(number0, number1, ...)
Contoh
// math.min
plot(math.min(close, open))
plot(math.min(close, math.min(open, 42)))
KembaliYang terkecil daripada pelbagai nilai yang diberikan.
Lihat juga
math.max
Mengira purata semua siri yang diberikan (selaras unsur).
math.avg(number0, number1, ...)
Kembali Average.
Lihat juga
math.sum
ta.cum
ta.sma
Mengembalikan nilai yang dibulatkan kepada simbol
math.round_to_mintick(number)
KembaliPeraturannumber
Dibulatkan ke ketepatan.
Argumen
number
(seri int/float) Nilai yang perlu dibulatkan.Lihat juga
math.ceil
math.floor
Fungsi jumlah mengembalikan jumlah gelongsor nilai y terakhir x.
math.sum(source, length)
KembaliJumlahsource
untuklength
Bar kembali.
Argumen
source
(seri int/float) Siri nilai untuk diproses.length
(seri int) Bilangan bar (panjang).Lihat juga
ta.cum
for
Mengembalikan sudut kira-kira bersamaan dalam darjah dari sudut yang diukur dalam radian.
math.todegrees(radians)
KembaliNilai sudut dalam darjah.
Argumen
radians
(seri int/float) Sudut dalam radian.Mengembalikan sudut kira-kira bersamaan dalam radian dari sudut yang diukur dalam darjah.
math.toradians(degrees)
KembaliNilai sudut dalam radian.
Argumen
degrees
(seri int/float) Sudut dalam darjah.Untuk siri tertentu menggantikan nilai NaN dengan nilai bukan NaN terdekat sebelumnya.
fixnan(source)
KembaliSiri tanpa jurang.
Argumen
source
(seri int/float/bool/warna)Lihat juga
na
nz
Mengganti nilai NaN dengan sifar (atau nilai yang diberikan) dalam siri.
nz(source, replacement)
nz(source)
Contoh
// nz
plot(nz(ta.sma(close, 100)))
KembaliNilaisource
Jika tidakna
. Jika nilaisource
adalahna
, mengembalikan sifar, ataureplacement
argument apabila satu digunakan.
Argumen
source
(seri int/float/bool/color) Siri nilai untuk diproses.replacement
(seri int/float/bool/color) Nilai yang akan menggantikan semua nilai source
series.Lihat juga
na
fixnan
Nilai ujian jika ia adalah NaN.
na(x)
Kembalibenar jika x bukan nombor yang sah (x adalah NaN), jika tidak salah.
Lihat juga
fixnan
nz
Mempunyai atau memotong nilai float ke int.
int(x)
KembaliNilai argumen selepas casting ke int.
Lihat juga
float
bool
color
string
Tidak boleh terapung.
float(x)
KembaliNilai hujah selepas casting untuk terapung.
Lihat juga
int
bool
color
string
Memicu peristiwa amaran apabila dipanggil semasa bar masa nyata dan amaran berdasarkan peristiwa fungsi amaran sebelum ini dicipta untuk penunjuk atau strategi melalui kotak dialog
alert(message, freq)
Contoh
// 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)
Argumen
message
Mesej dihantar apabila amaran mencetuskan.freq
(string input) Frekuensi pemicu. Nilai yang mungkin adalah: alert.freq_all (semua panggilan fungsi mencetuskan amaran), alert.freq_once_per_bar (panggilan fungsi pertama semasa bar mencetuskan amaran), alert.freq_once_per_bar_close (panggilan fungsi mencetuskan amaran hanya apabila ia berlaku semasa pengulangan skrip terakhir bar masa nyata, apabila ia ditutup). lalai adalah alert.freq_once_per_bar.CatatanPusat Bantuan menerangkan cara membuat amaran sedemikian.
Berbeza dengan keadaan amaran, panggilan amaran TIDAK dihitung sebagai plot tambahan.
Panggilan fungsi boleh terletak di kedua-dua skop global dan tempatan.
Panggilan fungsi tidak memaparkan apa-apa pada carta.
Argumen
Lihat juga
alertcondition
Membuat keadaan amaran, yang boleh didapati dalam dialog Membuat amaran. Sila ambil perhatian, bahawa keadaan amaran TIDAK mencipta amaran, ia hanya memberi anda lebih banyak pilihan dalam dialog Membuat amaran. Juga, kesan keadaan amaran tidak kelihatan pada carta.
alertcondition(condition, title, message)
Contoh
// alertcondition
alertcondition(close >= open, title='Alert on Green Bar', message='Green Bar!')
Argumen
condition
(seri bool) Siri nilai boolean yang digunakan untuk amaran. nilai benar bermakna tembakan amaran, palsu - tiada amaran.title
(const string) Judul keadaan amaran.message
(const string) Mesej untuk dipaparkan apabila tembakan amaran.CatatanSila ambil perhatian bahawa dalam Pine Script v4/v5 panggilan alertcondition menjana plot tambahan. Semua panggilan sedemikian diambil kira apabila kita mengira bilangan siri output setiap skrip.
Lihat juga
alert
Untuk menjadi serasi denganTrading View
Kod strategi, ia tidak benar-benar diperlukan untuk dipanggil.
Lihat juga
strategy
Fungsi masa mengembalikan masa UNIX bar semasa untuk bingkai masa dan sesi yang ditentukan atau NaN jika titik masa di luar sesi.session
arguments.
time(timeframe, session, timezone)
time(timeframe, session)
time(timeframe)
Contoh
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"))
Semasa menyediakan sesi anda boleh menentukan bukan sahaja jam dan minit tetapi juga hari minggu yang akan dimasukkan ke dalam sesi itu.
Jika hari tidak ditentukan, sesi dianggap telah ditetapkan dari Ahad (1) hingga Sabtu (7), iaitu
Contoh
// Time
t1 = time(timeframe.period, "0000-0000:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)
Satusession
argument boleh merangkumi beberapa sesi yang berbeza, dipisahkan dengan koma. Sebagai contoh skrip berikut akan menyerlahkan bar dari 10:00 hingga 11:00 dan dari 14:00 hingga 15:00 (hari kerja sahaja):
Contoh
// Time
t1 = time(timeframe.period, "1000-1100,1400-1500:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)
KembaliMasa UNIX.
Argumen
timeframe
(string mudah) Tempoh. String kosong ditafsirkan sebagai jangka masa semasa carta.session
timezone
(string mudah) Zon masasession
argument. Ia hanya boleh digunakan apabila CatatanMasa UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970.
year(time)
year(time, timezone)
KembaliTahun (dalam zon waktu pertukaran) untuk masa UNIX yang diberikan.
Argumen
time
(seri int) masa UNIX dalam milidetik.timezone
(Seri tali) Argumen pilihan. zon masa.PerkataanWaktu UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara lalai, Zon Waktu adalah syminfo.timezone, nilai yang mungkin dapat dilihat dalam cap masa. Perhatikan bahawa fungsi ini mengembalikan tahun berdasarkan waktu bar terbuka. Untuk sesi semalaman (contohnya EURUSD, di mana sesi Isnin bermula pada hari Ahad, 17:00 UTC-4) nilai ini boleh lebih rendah 1 daripada tahun hari dagangan.
Lihat juga
year
time
month
dayofmonth
dayofweek
hour
minute
second
month(time)
month(time, timezone)
KembaliBulan (dalam zon waktu pertukaran) untuk masa UNIX yang diberikan.
Argumen
time
(seri int) masa UNIX dalam milidetik.timezone
(Seri tali) Argumen pilihan. zon masa.CatatanWaktu UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara lalai, Zon Waktu adalah syminfo.timezone, nilai yang mungkin dapat dilihat dalam cap masa. Perhatikan bahawa fungsi ini mengembalikan bulan berdasarkan masa bar terbuka. Untuk sesi semalaman (contohnya EURUSD, di mana sesi Isnin bermula pada hari Ahad, 17:00 UTC-4) nilai ini boleh lebih rendah 1 daripada bulan hari dagangan.
Lihat juga
month
time
year
dayofmonth
dayofweek
hour
minute
second
hour(time)
hour(time, timezone)
KembaliJam (dalam zon waktu pertukaran) untuk masa UNIX yang diberikan.
Argumen
time
(seri int) masa UNIX dalam milidetik.timezone
(Seri rentetan) parameter pilihan. zon masa.CatatanWaktu UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara lalai, Zon Waktu adalah syminfo.timezone, nilai yang mungkin dapat dilihat dalam cap masa.
Lihat juga
hour
time
year
month
dayofmonth
dayofweek
minute
second
minute(time)
minute(time, timezone)
KembaliMinit (dalam zon waktu pertukaran) untuk masa UNIX yang diberikan.
Argumen
time
(seri int) masa UNIX dalam milidetik.timezone
(Seri tali) Argumen pilihan. zon masa.CatatanWaktu UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara lalai, Zon Waktu adalah syminfo.timezone, nilai yang mungkin dapat dilihat dalam cap masa.
Lihat juga
minute
time
year
month
dayofmonth
dayofweek
hour
second
second(time)
second(time, timezone)
KembaliKedua (dalam zon waktu pertukaran) untuk masa UNIX yang diberikan.
Argumen
time
(seri int) masa UNIX dalam milidetik.timezone
(Seri rentetan) parameter pilihan. zon masa.CatatanWaktu UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara lalai, Zon Waktu adalah syminfo.timezone, nilai yang mungkin dapat dilihat dalam cap masa.
Lihat juga
second
time
year
month
dayofmonth
dayofweek
hour
minute
weekofyear(time)
weekofyear(time, timezone)
KembaliMinggu tahun (dalam zon waktu pertukaran) untuk masa UNIX yang diberikan.
Argumen
time
(seri int) masa UNIX dalam milidetik.timezone
(Seri rentetan) parameter pilihan. zon masa.CatatanWaktu UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara lalai, Zon Waktu adalah syminfo.timezone, nilai yang mungkin dapat dilihat dalam cap masa. Perhatikan bahawa fungsi ini mengembalikan minggu berdasarkan masa bar terbuka. Untuk sesi semalaman (contohnya EURUSD, di mana sesi Isnin bermula pada hari Ahad, 17:00) nilai ini boleh lebih rendah 1 daripada minggu hari dagangan.
Lihat juga
weekofyear
time
year
month
dayofmonth
dayofweek
hour
minute
second
dayofweek(time)
dayofweek(time, timezone)
KembaliHari minggu (dalam zon waktu pertukaran) untuk masa UNIX yang diberikan.
Argumen
time
(seri int) masa UNIX dalam milidetik.timezone
(Seri rentetan) parameter pilihan. zon masa.CatatanPerhatikan bahawa fungsi ini mengembalikan hari berdasarkan masa bar terbuka. Untuk sesi semalaman (contohnya EURUSD, di mana sesi Isnin bermula pada hari Ahad, 17:00) nilai ini boleh menjadi lebih rendah daripada 1 daripada hari perdagangan. Waktu UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara lalai, Zon Waktu adalah syminfo.timezone, nilai yang mungkin dapat dilihat dalam cap masa.
Lihat juga
time
dayofmonth
dayofmonth(time)
dayofmonth(time, timezone)
KembaliHari bulan (dalam zon waktu pertukaran) untuk masa UNIX yang diberikan.
Argumen
time
(seri int) masa unix dalam milidetik.timezone
(Seri rentetan) parameter pilihan. zon masa.CatatanWaktu UNIX adalah bilangan milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara lalai, Zon Waktu adalah syminfo.timezone, nilai yang mungkin dapat dilihat dalam cap masa. Perhatikan bahawa fungsi ini mengembalikan hari berdasarkan masa bar terbuka. Untuk sesi semalaman (contohnya EURUSD, di mana sesi Isnin bermula pada hari Ahad, 17:00 UTC-4) nilai ini boleh lebih rendah 1 daripada hari perdagangan.
Lihat juga
time
dayofweek
Fungsi timestamp mengembalikan masa UNIX tarikh dan masa yang ditentukan.
timestamp(dateString)
timestamp(year, month, day, hour, minute, second)
timestamp(timezone, year, month, day, hour, minute, second)
Contoh
// 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"))
PengemisMengapa strategi Square Duplicate tidak boleh menjadi strategi Pine?
Pencipta Kuantiti - Impian KecilBaiklah, mari kita lihat.
PengemisPengesan Trend yang Dioptimumkan
Pencipta Kuantiti - Impian KecilHalo, boleh saya tanya strategi apa sebenarnya?