Nilai t adalah
trail_price
(series int/float) Argumen opsional. Tingkat aktivasi trailing stop (membutuhkan harga tertentu). Jika ditentukan, pesanan trailing stop akan ditempatkan ketika tingkat harga yang ditentukan tercapai. Offset (dalam tik) untuk menentukan harga awal pesanan trailing stop ditentukan dalam argumen trail_points
(series int/float) Argumen opsional. Tingkat aktivasi trailing stop (keuntungan yang ditentukan dalam tik). Jika ditentukan, pesanan trailing stop akan ditempatkan ketika tingkat harga yang dihitung (jumlah keuntungan yang ditentukan) tercapai. Penghapusan (dalam tik) untuk menentukan harga awal pesanan trailing stop ditentukan dalam argumen trail_offset
(seri int/float) Argumen opsional. Trailing stop price (ditentukan dalam ticks). Offset di ticks untuk menentukan harga awal dari order trailing stop: X ticks lebih rendah dari oca_name
comment
(rangkaian string) Argumen opsional. instruksi tambahan untuk urutan.when
(seri bool) Argumen opsional. Kondisi urutan. Urutan ditempatkan jika kondisi adalah alert_message
(seri string) Argumen opsional saat menggunakan placeholder {{strategi.order.alert_message}} di bidang 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
(seri string) Sebuah argumen yang diperlukan. Pengidentifikasi pesanan. Adalah mungkin untuk membatalkan pesanan dengan merujuk pengidentifikasi.when
(seri bool) Argumen opsional. Kondisi untuk membatalkan pesanan dengan ID yang ditentukan. Jika kondisi adalah Ini 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 opsional. Kondisi untuk membatalkan semua pesanan. Jika kondisi benar, maka semua pesanan aktif akan dibatalkan. Nilai default adalah Ini adalah perintah untuk menempatkan order. Jika order dengan ID yang sama sudah menunggu, dimungkinkan untuk memodifikasi order. Jika tidak ada order dengan ID yang ditentukan, order baru ditempatkan. Untuk menonaktifkan order, perintah strategy.cancel atau strategy.cancel_all harus digunakan. Dibandingkan dengan fungsi strategy.entry, fungsi strategy.order tidak terpengaruh oleh piramida. Jika kedua 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
(seri string) Parameter yang diperlukan. Pengidentifikasi pesanan. Adalah mungkin untuk membatalkan atau memodifikasi pesanan dengan merujuk pengidentifikasiannya.direction
(strategi_direction) Parameter yang diperlukan. Arah pesanan: qty
(seri int/float) Parameter opsional. Jumlah kontrak/saham/lot/unit untuk diperdagangkan. Nilai default adalah limit
(series int/float) Parameter opsional. Harga batas order. Jika ditentukan, jenis order adalah stop
(seri int/float) Parameter opsional. Harga stop order. Jika ditentukan, jenis order adalah oca_name
oca_type
comment
(Seri string) parameter opsional. catatan tambahan pada urutan.when
(seri bool) Parameter opsional. Kondisi order. Order ditempatkan jika kondisi adalah alert_message
(seri string) Parameter opsional yang menggantikan placeholder {{strategi.order.alert_message}} ketika digunakan dalam kotak dialog Mengembalikan bar_index dari entri perdagangan terbuka.
strategy.opentrades.entry_bar_index(trade_num)
Tunggu 10 bar dan tutup posisi.
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) Nomor 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))
PengembalianMengembalikan ID entri perdagangan terbuka.
Argumen
trade_num
(seri int) Nomor perdagangan perdagangan terbuka.PengamatanFungsi ini mengembalikan na jika trade_num tidak berada dalam kisaran: 0 ke strategy.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")
Menghitung harga posisi terbuka rata-rata.
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) Nomor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.exit_price
Mengembalikan waktu UNIX dari 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) Nomor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.entry_time
strategy.closedtrades.exit_time
Mengembalikan keuntungan/kerugian dari perdagangan terbuka.
strategy.opentrades.profit(trade_num)
Kembalikan keuntungan dari 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")
Menghitung keuntungan dari semua posisi 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) Nomor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.profit
strategy.openprofit
strategy.netprofit
strategy.grossprofit
Mengembalikan arah dan jumlah kontrak yang diperdagangkan dalam perdagangan terbuka. Jika nilainya > 0, posisi pasar adalah panjang. Jika nilainya < 0, posisi pasar 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")
Hitung persentase keuntungan rata-rata dari posisi 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) Nomor perdagangan perdagangan terbuka.Lihat juga
strategy.closedtrades.size
strategy.position_size
strategy.opentrades
strategy.closedtrades
Mengembalikan bar_index dari 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) Nomor perdagangan perdagangan yang ditutup.Lihat juga
strategy.closedtrades.exit_bar_index
strategy.opentrades.entry_bar_index
Mengembalikan harga keluar dari 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")
Hitung persentase keuntungan rata-rata 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) Nomor transaksi dari transaksi yang ditutup.Lihat juga
strategy.closedtrades.entry_price
Kembalikan bar_index dari exit 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 jumlah rata-rata K-line per 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) Nomor 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))
PengembalianMengembalikan id entri perdagangan yang ditutup.
Argumen
trade_num
(seri int) Nomor perdagangan perdagangan yang ditutup.PengamatanFungsi ini mengembalikan na jika trade_num tidak berada dalam kisaran: 0 ke strategy.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")
Hitung persentase keuntungan rata-rata 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) Nomor perdagangan perdagangan yang ditutup.Lihat juga
strategy.closedtrades.exit_price
strategy.closedtrades.size
strategy.closedtrades
Mengembalikan waktu UNIX dari 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) Nomor perdagangan perdagangan yang ditutup.Lihat juga
strategy.opentrades.entry_time
strategy.closedtrades.exit_time
time
Mengembalikan keuntungan/kerugian dari perdagangan tertutup.
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) Nomor perdagangan perdagangan yang ditutup.Lihat juga
strategy.opentrades.profit
strategy.closedtrades.commission
Mengembalikan arah dan jumlah kontrak yang diperdagangkan dalam perdagangan tertutup. Jika nilainya > 0, posisi pasar adalah panjang. Jika nilainya < 0, posisi pasar 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")
Menghitung persentase keuntungan rata-rata pada perdagangan tertutup.
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) Nomor perdagangan perdagangan yang ditutup.Lihat juga
strategy.opentrades.size
strategy.position_size
strategy.closedtrades
strategy.opentrades
Mengembalikan waktu UNIX dari exit 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 kembali perdagangan tertutup setelah X detik.
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) Nomor perdagangan perdagangan yang ditutup.Lihat juga
strategy.closedtrades.entry_time
Fungsi ini dapat digunakan untuk menentukan arah pasar mana fungsi strategi.entry diizinkan untuk membuka posisi.
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 sederhana) arah yang diizinkan.strategy.direction.all
, strategy.direction.long
, strategy.direction.short
Tujuan dari aturan ini adalah untuk menentukan ukuran maksimum posisi pasar.strategy.entry
Jumlah
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
(simple int/float) Parameter yang diperlukan. Jumlah maksimum kontrak/saham/lot/unit dalam suatu posisi.Nilai absolut darinumber
adalahnumber
Jikanumber
>= 0, atau -number
otherwise.
math.abs(number)
PengembalianNilai absolut darinumber
.
Fungsi acos mengembalikan arccosine (dalam radian) dari bilangan seperti cos ((acos ((y)) = y untuk y dalam kisaran [-1, 1].
math.acos(angle)
PengembalianKosinus busur dari suatu nilai; sudut yang dikembalikan berada dalam kisaran [0, Pi], atau na jika y berada di luar kisaran [-1, 1].
Mengembalikan nilai pseudo-random. Fungsi ini akan menghasilkan urutan nilai yang berbeda untuk setiap eksekusi skrip. Menggunakan nilai yang sama untuk argumen seed opsional akan menghasilkan urutan yang dapat diulang.
math.random(min, max, seed)
PengembalianNilai acak.
Argumen
min
(seri int/float) Batas bawah kisaran nilai acak. Nilai tidak termasuk dalam kisaran. default adalah 0.max
(seri int/float) Batas atas kisaran nilai acak. Nilai tidak termasuk dalam kisaran. default adalah 1.seed
(input int) Argumen opsional. Ketika biji yang sama digunakan, memungkinkan panggilan berturut-turut ke fungsi untuk menghasilkan satu set nilai yang dapat diulang.Fungsi asin mengembalikan arksinus (dalam radian) dari bilangan seperti sin ((asin ((y)) = y untuk y dalam kisaran [-1, 1].
math.asin(angle)
PengembalianArcsinus dari suatu nilai; sudut yang dikembalikan berada dalam kisaran [-Pi/2, Pi/2], atau na jika y berada di luar kisaran [-1, 1].
Fungsi atan mengembalikan arctangent (dalam radian) dari bilangan sedemikian rupa sehingga tan ((atan ((y)) = y untuk setiap y.
math.atan(angle)
PengembalianTangen busur dari suatu nilai; sudut yang dikembalikan berada dalam kisaran [-Pi/2, Pi/2].
Fungsi langit-langit mengembalikan bilangan bulat terkecil (paling dekat dengan tak terbatas negatif) yang lebih besar dari atau sama dengan argumen.
math.ceil(number)
PengembalianBilangan bulat terkecil kurang dari atau sama dengan angka yang diberikan.
Lihat juga
math.floor
math.round
Fungsi cos mengembalikan trigonometri cosinus sudut.
math.cos(angle)
PengembalianKosinus trigonometri dari sudut.
Argumen
angle
(seri int/float) Sudut, dalam radian.Fungsi exp darinumber
Diangkat ke kekuatannumber
, di mana e adalah Euler
math.exp(number)
PengembalianNilai yang mewakili e naik pangkat darinumber
.
Lihat juga
math.pow
math.floor(number)
PengembalianBilangan bulat terbesar kurang dari atau sama dengan angka yang diberikan.
Lihat juga
math.ceil
math.round
Logaritma alami dari setiapnumber
> 0 adalah y unik seperti yang e ^ y =number
.
math.log(number)
PengembalianLogaritma alami darinumber
.
Lihat juga
math.log10
Logaritma umum (atau basis 10) darinumber
adalah pangkat yang 10 harus diangkat untuk mendapatkannumber
. 10^y =number
.
math.log10(number)
PengembalianLogaritma basis 10 darinumber
.
Lihat juga
math.log
Fungsi kekuatan matematika.
math.pow(base, exponent)
Contoh
// math.pow
plot(math.pow(close, 2))
Pengembalian
base
Diangkat ke kekuatan dariexponent
. Jikabase
adalah deret, itu dihitung secara unsur.
Argumen
base
(seri int/float) Tentukan basis yang akan digunakan.exponent
(seri int/float) Menentukan eksponen.Lihat juga
math.sqrt
math.exp
Tanda (signum) dari
math.sign(number)
PengembalianTanda perdebatan.
Fungsi sin mengembalikan sinus trigonometri sudut.
math.sin(angle)
PengembalianSinus trigonometri dari sudut.
Argumen
angle
(seri int/float) Sudut, dalam radian.Akar kuadrat dari setiapnumber
>= 0 adalah y yang unik >= 0 sehingga y^2 =number
.
math.sqrt(number)
PengembalianAkar kuadrat darinumber
.
Lihat juga
math.pow
Fungsi tan mengembalikan tangen trigonometri sudut.
math.tan(angle)
PengembalianTangen trigonometri dari sudut.
Argumen
angle
(seri int/float) Sudut, dalam radian.Mengembalikan nilai darinumber
dibulatkan ke bilangan bulat terdekat, dengan ikatan dibulatkan.precision
parameter digunakan, mengembalikan nilai float dibulatkan ke jumlah tempat desimal.
math.round(number)
math.round(number, precision)
PengembalianNilai darinumber
dibulatkan ke bilangan bulat terdekat, atau sesuai dengan presisi.
Argumen
number
(seri int/float) Nilai yang harus dibulatkan.precision
(seri int) Opsional argumen. tempat desimal yangnumber
Jika tidak ada argumen yang diberikan, bulatkan ke bilangan bulat terdekat.PengamatanPerhatikan bahwa untuk
Lihat juga
math.ceil
math.floor
Mengembalikan nilai terbesar dari beberapa.
math.max(number0, number1, ...)
Contoh
// math.max
plot(math.max(close, open))
plot(math.max(close, math.max(open, 42)))
PengembalianYang terbesar dari beberapa nilai yang diberikan.
Lihat juga
math.min
Mengembalikan nilai terkecil dari beberapa nilai.
math.min(number0, number1, ...)
Contoh
// math.min
plot(math.min(close, open))
plot(math.min(close, math.min(open, 42)))
PengembalianYang terkecil dari beberapa nilai yang diberikan.
Lihat juga
math.max
Menghitung rata-rata dari semua seri yang diberikan (berdasarkan elemen).
math.avg(number0, number1, ...)
Pengembalian Average.
Lihat juga
math.sum
ta.cum
ta.sma
Mengembalikan nilai yang dibulatkan ke simbol
math.round_to_mintick(number)
PengembalianPeraturannumber
dibulatkan ke presisi tanda.
Argumen
number
(seri int/float) Nilai yang harus dibulatkan.Lihat juga
math.ceil
math.floor
Fungsi jumlah mengembalikan jumlah geser dari nilai y terakhir dari x.
math.sum(source, length)
PengembalianJumlahsource
untuklength
Bar kembali.
Argumen
source
(serangkaian int/float) Serangkaian nilai untuk diproses.length
(seri int) Jumlah batang (panjang).Lihat juga
ta.cum
for
Mengembalikan sudut sekitar setara dalam derajat dari sudut yang diukur dalam radian.
math.todegrees(radians)
PengembalianNilai sudut dalam derajat.
Argumen
radians
(seri int/float) Sudut dalam radian.Mengembalikan sudut kira-kira setara dalam radian dari sudut yang diukur dalam derajat.
math.toradians(degrees)
PengembalianNilai sudut dalam radian.
Argumen
degrees
(seri int/float) Sudut dalam derajat.Untuk seri tertentu mengganti nilai NaN dengan nilai non-NaN terdekat sebelumnya.
fixnan(source)
PengembalianSeri tanpa celah.
Argumen
source
(seri int/float/bool/warna)Lihat juga
na
nz
Mengganti nilai NaN dengan nol (atau nilai yang diberikan) dalam seri.
nz(source, replacement)
nz(source)
Contoh
// nz
plot(nz(ta.sma(close, 100)))
PengembalianNilai darisource
Jika tidakna
. Jika nilaisource
adalahna
, mengembalikan nol, ataureplacement
argumen ketika satu digunakan.
Argumen
source
(serangkaian int/float/bool/color) Serangkaian nilai untuk diproses.replacement
(seri int/float/bool/color) Nilai yang akan menggantikan semua nilai source
series.Lihat juga
na
fixnan
Nilai uji jika itu adalah NaN.
na(x)
Pengembalianbenar jika x bukan angka yang valid (x adalah NaN), jika tidak salah.
Lihat juga
fixnan
nz
Membuat atau memotong nilai float ke int.
int(x)
PengembalianNilai argument setelah casting ke int.
Lihat juga
float
bool
color
string
Cast na untuk mengapung.
float(x)
PengembalianNilai argumen setelah casting ke float.
Lihat juga
int
bool
color
string
Memicu peristiwa peringatan ketika dipanggil selama bilah real-time dan peringatan berdasarkan peristiwa fungsi peringatan sebelumnya dibuat untuk indikator 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
Pesan dikirim saat alarm diaktifkan.freq
(input string) Frekuensi pemicu. Nilai yang mungkin adalah: alert.freq_all (semua panggilan fungsi memicu peringatan), alert.freq_once_per_bar (panggilan fungsi pertama selama bar memicu peringatan), alert.freq_once_per_bar_close (panggilan fungsi memicu peringatan hanya ketika terjadi selama iterasi skrip terakhir dari bar real-time, ketika ditutup).PengamatanPusat Bantuan menjelaskan cara membuat peringatan tersebut.
Berbeda dengan kondisi peringatan, panggilan peringatan TIDAK dihitung sebagai plot tambahan.
Panggilan fungsi dapat berada di ruang lingkup global dan lokal.
Panggilan fungsi tidak menampilkan apa pun pada grafik.
Argumen
Lihat juga
alertcondition
Menciptakan kondisi peringatan, yang tersedia di dialog Create Alert. Harap dicatat, bahwa alertcondition TIDAK membuat peringatan, itu hanya memberi Anda lebih banyak pilihan di dialog Create Alert. Juga, efek alertcondition tidak terlihat pada grafik.
alertcondition(condition, title, message)
Contoh
// alertcondition
alertcondition(close >= open, title='Alert on Green Bar', message='Green Bar!')
Argumen
condition
(seri bool) Serangkaian nilai boolean yang digunakan untuk peringatan. nilai benar berarti peringatan api, palsu - tidak ada peringatan. diperlukan argumentitle
(const string) Judul kondisi peringatan.message
(const string) Pesan untuk ditampilkan ketika alarm menyala.PengamatanHarap dicatat bahwa di Pine Script v4/v5 panggilan alertcondition menghasilkan plot tambahan.
Lihat juga
alert
Untuk kompatibel denganTrading View
kode strategi, itu tidak benar-benar diperlukan untuk dipanggil.
Lihat juga
strategy
Fungsi waktu mengembalikan waktu UNIX dari bilah saat ini untuk kerangka waktu dan sesi yang ditentukan atau NaN jika titik waktu 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"))
Saat mengatur sesi Anda dapat menentukan tidak hanya jam dan menit tetapi juga hari-hari minggu yang akan dimasukkan dalam sesi itu.
Jika hari-hari tidak ditentukan, sesi dianggap telah ditetapkan dari hari Minggu (1) hingga Sabtu (7), yaitu
Contoh
// Time
t1 = time(timeframe.period, "0000-0000:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)
Satu.session
contohnya skrip berikut akan menyoroti bar dari jam 10:00 sampai 11:00 dan dari jam 14:00 sampai 15:00 (hari kerja saja):
Contoh
// Time
t1 = time(timeframe.period, "1000-1100,1400-1500:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)
PengembalianWaktu UNIX.
Argumen
timeframe
(string sederhana) Timeframe. string kosong ditafsirkan sebagai jangka waktu saat ini dari grafik.session
timezone
(string sederhana) Zona waktu darisession
argument. Ini hanya dapat digunakan ketika PengamatanWaktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970.
year(time)
year(time, timezone)
PengembalianTahun (dalam zona waktu pertukaran) untuk waktu UNIX yang diberikan.
Argumen
time
(seri int) waktu UNIX dalam milidetik.timezone
(Seri string) Argumen opsional.PengamatanWaktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara default, Zona Waktu adalah syminfo.timezone, kemungkinan nilai dapat dilihat dalam timestamp. Perhatikan bahwa fungsi ini mengembalikan tahun berdasarkan waktu bar terbuka. Untuk sesi overnight (misalnya EURUSD, di mana sesi Senin dimulai pada hari Minggu, 17:00 UTC-4) nilai ini dapat lebih rendah 1 dari tahun hari perdagangan.
Lihat juga
year
time
month
dayofmonth
dayofweek
hour
minute
second
month(time)
month(time, timezone)
PengembalianBulan (dalam zona waktu pertukaran) untuk waktu UNIX yang diberikan.
Argumen
time
(seri int) waktu UNIX dalam milidetik.timezone
(Seri string) Argumen opsional.PengamatanWaktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara default, Zona Waktu adalah syminfo.timezone, kemungkinan nilai dapat dilihat dalam timestamp. Perhatikan bahwa fungsi ini mengembalikan bulan berdasarkan waktu bar terbuka. Untuk sesi overnight (misalnya EURUSD, di mana sesi Senin dimulai pada hari Minggu, 17:00 UTC-4) nilai ini dapat lebih rendah 1 dari bulan hari perdagangan.
Lihat juga
month
time
year
dayofmonth
dayofweek
hour
minute
second
hour(time)
hour(time, timezone)
PengembalianJam (dalam zona waktu pertukaran) untuk waktu UNIX yang diberikan.
Argumen
time
(seri int) waktu UNIX dalam milidetik.timezone
Sebuah parameter opsional.PengamatanWaktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970.
Lihat juga
hour
time
year
month
dayofmonth
dayofweek
minute
second
minute(time)
minute(time, timezone)
PengembalianMenit (dalam zona waktu pertukaran) untuk waktu UNIX yang diberikan.
Argumen
time
(seri int) waktu UNIX dalam milidetik.timezone
(Seri string) Argumen opsional.PengamatanWaktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970.
Lihat juga
minute
time
year
month
dayofmonth
dayofweek
hour
second
second(time)
second(time, timezone)
PengembalianKedua (dalam zona waktu pertukaran) untuk waktu UNIX yang diberikan.
Argumen
time
(seri int) waktu UNIX dalam milidetik.timezone
Sebuah parameter opsional.PengamatanWaktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970.
Lihat juga
second
time
year
month
dayofmonth
dayofweek
hour
minute
weekofyear(time)
weekofyear(time, timezone)
PengembalianMinggu tahun (dalam zona waktu pertukaran) untuk waktu UNIX yang diberikan.
Argumen
time
(seri int) waktu UNIX dalam milidetik.timezone
Sebuah parameter opsional.PengamatanWaktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Perhatikan bahwa fungsi ini mengembalikan minggu berdasarkan waktu bar terbuka. Untuk sesi overnight (misalnya EURUSD, di mana sesi Senin dimulai pada hari Minggu, 17:00) nilai ini dapat lebih rendah 1 dari minggu hari perdagangan.
Lihat juga
weekofyear
time
year
month
dayofmonth
dayofweek
hour
minute
second
dayofweek(time)
dayofweek(time, timezone)
PengembalianHari minggu (dalam zona waktu pertukaran) untuk waktu UNIX yang diberikan.
Argumen
time
(seri int) waktu UNIX dalam milidetik.timezone
Sebuah parameter opsional.PengamatanPerhatikan bahwa fungsi ini mengembalikan hari berdasarkan waktu bar terbuka. Untuk sesi overnight (misalnya EURUSD, di mana sesi Senin dimulai pada hari Minggu, 17:00) nilai ini dapat lebih rendah 1 dari hari hari perdagangan. Waktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970.
Lihat juga
time
dayofmonth
dayofmonth(time)
dayofmonth(time, timezone)
PengembalianHari bulan (dalam zona waktu pertukaran) untuk waktu UNIX yang diberikan.
Argumen
time
(seri int) waktu Unix dalam milidetik.timezone
Sebuah parameter opsional.PengamatanWaktu UNIX adalah jumlah milidetik yang telah berlalu sejak 00:00:00 UTC, 1 Januari 1970. Secara default, Zona Waktu adalah syminfo.timezone, kemungkinan nilai dapat dilihat dalam timestamp. Perhatikan bahwa fungsi ini mengembalikan hari berdasarkan waktu bar terbuka. Untuk sesi overnight (misalnya EURUSD, di mana sesi Senin dimulai pada hari Minggu, 17:00 UTC-4) nilai ini dapat lebih rendah 1 dari hari hari perdagangan.
Lihat juga
time
dayofweek
Fungsi timestamp mengembalikan waktu UNIX dari tanggal dan waktu 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 Duplikat Strategi Pine Tidak Bisa Terwujud
Penemu Kuantitas - Mimpi KecilBaiklah, mari kita periksa.
PengemisOptimized Trend Tracker dari Zhang Jianhui
Penemu Kuantitas - Mimpi KecilHalo, apakah Anda ingin tahu strategi apa yang sebenarnya?