t値は
trail_price
(series int/float) オプションの引数. トレイリングストップアクティベーションレベル (特定の価格が必要です).指定されている場合,指定価格レベルに達するとトレーリングストップオーダーが表示されます. トレイリングストップオーダーの初期価格を決定するためのオフセット (ティックで) は,trail_points
(series int/float) オプションの引数. トレイリングストップアクティベーションレベル (ティックで指定された利益).指定されている場合,計算された価格レベル (指定された利益額) に達すると,トレーリングストップオーダーが表示されます. トレイリングストップオーダーの初期価格を決定するためのオフセット (ティックで) は,trail_offset
(int/floatシリーズ) オプション引数. トレイリングストップ価格 (ティックで指定). トレイリングストップオーダーの初期価格を決定するためのティックのオフセット: Xはロングポジションから脱出するには,oca_name
comment
(シリーズ文字列) 任意の引数.順序の追加指示.when
(series bool) 任意の引数. 順序の条件. 条件がalert_message
(シリーズ文字列) これは, strategy.order, strategy.entry,および strategy.entry の関数で生成された,それらの名前を参照して,待機中の注文をキャンセル/無効にするコマンドです.strategy.exit.
strategy.cancel(id, when)
例
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
議論
id
(シリーズ文字列) 必要な引数. 注文識別子. その識別子を参照して注文をキャンセルすることが可能です.when
(series bool) オプション引数.指定IDの注文をキャンセルする条件.条件がこれは, strategy.order, strategy.entry,および strategy.entry の関数によって生成されたすべての待機中の注文をキャンセル/無効にするコマンドです.strategy.exit.
strategy.cancel_all(when)
例
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
議論
when
(series bool) 任意の引数.すべての注文をキャンセルする条件.条件が真であれば,すべてのアクティブオーダーはキャンセルされます.デフォルト値はこのコマンドは,注文を表示するコマンドです.同じIDの注文が既に待ち受けている場合,注文を変更することができます.指定IDの注文がない場合は,新しい注文を表示します.注文を無効にするには,コマンド strategy.cancelまたは strategy.cancel_all を使用する必要があります.機能 strategy.entryと比較して,機能 strategy.orderはピラミダリングの影響を受けません.
strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
例
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
議論
id
(シリーズ文字列) 必要なパラメータ. 注文識別子. 注文の識別子を参照して注文をキャンセルまたは修正することが可能です.direction
(strategy_direction) 必要なパラメータです.オーダー方向: qty
( int シリーズ/float) 選択可能なパラメータ.取引される契約/株/ロット/ユニットの数.デフォルト値はlimit
(series int/float) オプションパラメータ.オーダーのリミット価格.指定されている場合,オーダーのタイプは,stop
(series int/float) オプションパラメータ.オーダーのストップ価格.指定されている場合,オーダーのタイプはoca_name
oca_type
comment
(シリーズ文字列) オプションパラメータ 順番の追加メモwhen
(series bool) オプションパラメータ. オーダーの条件. 条件がalert_message
(シリーズ文字列) オープン取引のエントリのbar_indexを返します.
strategy.opentrades.entry_bar_index(trade_num)
10バーを待って ポジションを閉じろ
例
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")
議論
trade_num
(シリーズ int) オープン取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.entry_bar_index
strategy.closedtrades.exit_bar_index
オープン・トレード・エントリのIDを返します.
strategy.opentrades.entry_id(trade_num)
例
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))
リターンオープン取引のエントリのIDを返します.
議論
trade_num
(シリーズ int) オープン取引の取引番号.最初の取引の番号は0です.コメントこの関数は, trade_num が 0 から strategy.opentrades-1 までの範囲にない場合 na を返します.
ほかにも参照
strategy.opentrades.entry_bar_index
strategy.opentrades.entry_time
オープン・トレード・エントリの価格を返します.
strategy.opentrades.entry_price(trade_num)
例
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")
オープンポジションの平均価格を計算する.
例
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())
議論
trade_num
(シリーズ int) オープン取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.exit_price
オープン・トレード・エントリの UNIX 時間を返します.
strategy.opentrades.entry_time(trade_num)
例
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")
議論
trade_num
(シリーズ int) オープン取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.entry_time
strategy.closedtrades.exit_time
公開取引の利益/損失を返します.損失は負値で表されます.
strategy.opentrades.profit(trade_num)
最後の取引の利益を返します.
例
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")
すべてのオープンポジションの利益を計算します.
例
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")
議論
trade_num
(シリーズ int) オープン取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.profit
strategy.openprofit
strategy.netprofit
strategy.grossprofit
オープン・トレードで取引されたコントラクトの方向と数を返します.値が > 0 ならば,市場ポジションはロングでした.値が < 0 ならば,市場ポジションはショートでした.
strategy.opentrades.size(trade_num)
例
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")
オープンポジションの平均利益パーセントを計算する.
例
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)
議論
trade_num
(シリーズ int) オープン取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.size
strategy.position_size
strategy.opentrades
strategy.closedtrades
閉じた取引のエントリのbar_indexを返します.
strategy.closedtrades.entry_bar_index(trade_num)
例
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())
議論
trade_num
(シリーズ int) 終了した取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.exit_bar_index
strategy.opentrades.entry_bar_index
終了した取引の出口価格を返します.
strategy.closedtrades.exit_price(trade_num)
例
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")
すべての取引の平均利益パーセントを計算する.
例
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)
議論
trade_num
( int シリーズ) 完了した取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.entry_price
閉じた取引出口のbar_indexを返します.
strategy.closedtrades.exit_bar_index(trade_num)
例
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")
トランザクション毎の平均K線数を計算する.
例
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())
議論
trade_num
(シリーズ int) 終了した取引の取引番号.最初の取引の番号は0です.ほかにも参照
bar_index
終了した取引のエントリのIDを返します.
strategy.closedtrades.entry_id(trade_num)
例
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))
リターン終了した取引のエントリのIDを返します.
議論
trade_num
(シリーズ int) 終了した取引の取引番号.最初の取引の番号は0です.コメントこの関数は, trade_num が 0 から strategy.closedtrades-1 までの範囲でない場合, na を返します.
ほかにも参照
strategy.closedtrades.entry_bar_index
strategy.closedtrades.entry_time
閉じた取引のエントリの価格を返します.
strategy.closedtrades.entry_price(trade_num)
例
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")
すべての取引の平均利益パーセントを計算する.
例
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)
議論
trade_num
(シリーズ int) 終了した取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.exit_price
strategy.closedtrades.size
strategy.closedtrades
取引終了時のUNIX時間を返します.
strategy.closedtrades.entry_time(trade_num)
例
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")
議論
trade_num
(シリーズ int) 終了した取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.opentrades.entry_time
strategy.closedtrades.exit_time
time
閉じた取引の利益/損失を返します.損失は負値で表されます.
strategy.closedtrades.profit(trade_num)
例
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")
議論
trade_num
(シリーズ int) 終了した取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.opentrades.profit
strategy.closedtrades.commission
閉じた取引で取引された契約の方向と数を返します.値が > 0 ならば,市場ポジションは長かった.値が < 0 ならば,市場ポジションは短かった.
strategy.closedtrades.size(trade_num)
例
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")
閉じた取引における平均利益パーセントを計算する.
例
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)
議論
trade_num
(シリーズ int) 終了した取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.opentrades.size
strategy.position_size
strategy.closedtrades
strategy.opentrades
取引終了のUNIX時間を返します.
strategy.closedtrades.exit_time(trade_num)
例
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")
X秒後に閉じた取引を再開します.
例
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)
議論
trade_num
(シリーズ int) 終了した取引の取引番号.最初の取引の番号は0です.ほかにも参照
strategy.closedtrades.entry_time
この関数は,strategy.entry関数がどの市場方向でポジションを開くことができるかを指定するために使用できます.
strategy.risk.allow_entry_in(value)
例
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)
議論
value
可能な値は:strategy.direction.all
, strategy.direction.long
, strategy.direction.short
この規則は,市場ポジションの最大規模を決定することを目的としています.この規則は,次の機能に影響します.strategy.entry
strategy.risk.max_position_size(contracts)
例
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
議論
contracts
(単純 int/float) 必要なパラメータ.ポジション内の最大数契約/株/ロット/ユニット.絶対値number
はnumber
もしnumber
>= 0 または -number
otherwise.
math.abs(number)
リターン絶対値はnumber
.
アコス関数は, cos (acos (y)) = y for y の範囲 [-1, 1 ] のような数のアーコシヌ (ラディアンで) を返します.
math.acos(angle)
リターン値の弧コシノス;返した角は範囲 [0, Pi] にあり,または y が範囲 [-1, 1] の外にある場合, na です.
偽ランダム値を返します. この関数は,スクリプト実行ごとに異なる値の配列を生成します. 選択的なシード引数に対して同じ値を使用すると,繰り返される配列が生成されます.
math.random(min, max, seed)
リターンランダムな値です
議論
min
(series int/float) ランダム値の範囲の下限.値は範囲に含まれていません.デフォルトは0です.max
(series int/float) ランダム値の範囲の上限.値は範囲に含まれていない.デフォルトは1.seed
(input int) 任意の引数.同じシードを使用すると,関数への連続的な呼び出しが繰り返される値のセットを生成することを可能にします.アシン関数は, sin ((asin ((y)) = y for y の範囲 [-1, 1 ] のような数のアーキサイヌ (ラディアンで) を返します.
math.asin(angle)
リターン値の弧正弦;返された角は範囲 [−Pi/2,Pi/2] にあり,または y が範囲 [-1, 1] の外にある場合, na です.
atan 関数は,任意の y に対して tan ((atan ((y)) = y のような数の角関数 (放射線で) を返します.
math.atan(angle)
リターン値の弧触角,返された角は範囲 [−Pi/2,Pi/2] にあります.
ceiling 関数は,引数より大きいまたは等しい最小 (マイナス無限に近い) の整数を返します.
math.ceil(number)
リターン与えられた数より小さいまたは同じ最小の整数です
ほかにも参照
math.floor
math.round
角の trigonometric cosinus を返します. この関数は,角の trigonometric cosinus を返します.
math.cos(angle)
リターン角の三角関数コシノス
議論
angle
(int/floatシリーズ) 角は,ラディアンで表される.この関数は,number
権力に昇るnumber
,ここでeはオイラーの数である.
math.exp(number)
リターンe を乗算した値number
.
ほかにも参照
math.pow
math.floor(number)
リターン与えられた数より小さい最大整数
ほかにも参照
math.ceil
math.round
任意の自然対数number
> 0 は,e^y = となるような唯一 y です.number
.
math.log(number)
リターン計算する数値number
.
ほかにも参照
math.log10
共通の (またはベース10) ロガリズムnumber
10 を 10 に引き上げる必要があります.number
10 ^ y = 10 ^ y = 10 ^ y = 10 ^ ynumber
.
math.log10(number)
リターン基本10の対数ですnumber
.
ほかにも参照
math.log
数学的パワー関数です
math.pow(base, exponent)
例
// math.pow
plot(math.pow(close, 2))
リターン
base
権力に昇るexponent
もしbase
素数で計算されます.
議論
base
( int/float シリーズ) 使用するベースを指定します.exponent
( int/float シリーズ) 乗数を指定する.ほかにも参照
math.sqrt
math.exp
math.sign(number)
リターン議論のサインだ
sin関数は角の三角正弦を返します.
math.sin(angle)
リターン角の三角形正弦です
議論
angle
(int/floatシリーズ) 角は,ラディアンで表される.平方根number
単一のy >=0は,y^2 =number
.
math.sqrt(number)
リターン平方根はnumber
.
ほかにも参照
math.pow
角の三角関数を返します.
math.tan(angle)
リターン角の三角関数です
議論
angle
(int/floatシリーズ) 角は,ラディアンで表される.値を返します.number
ローズを丸める.precision
このパラメータが使用されている場合, 浮遊値を 10進数点まで丸める.
math.round(number)
math.round(number, precision)
リターンその価値はnumber
最寄りの整数に丸めるか 精度で丸める
議論
number
(int/floatシリーズ) 丸める値.precision
(series int) 任意の引数number
円になります.引数がない場合は,一番近い整数に丸めます.コメント
ほかにも参照
math.ceil
math.floor
複数の値のうち 最大値を返します
math.max(number0, number1, ...)
例
// math.max
plot(math.max(close, open))
plot(math.max(close, math.max(open, 42)))
リターン複数の値のうち最大の値です
ほかにも参照
math.min
複数の値のうち最小値を返します.
math.min(number0, number1, ...)
例
// math.min
plot(math.min(close, open))
plot(math.min(close, math.min(open, 42)))
リターン与えられた数値の最小値です
ほかにも参照
math.max
与えられたすべてのシリーズ (要素別) の平均を計算する.
math.avg(number0, number1, ...)
リターン Average.
ほかにも参照
math.sum
ta.cum
ta.sma
syminfo.mintick で割れる最も近い値,残りを含めずに,値を丸めて表します.
math.round_to_mintick(number)
リターンについてnumber
精度で丸められます
議論
number
(int/floatシリーズ) 丸める値.ほかにも参照
math.ceil
math.floor
合計関数は x の最後の y 値の移動式和を返します
math.sum(source, length)
リターン総額source
についてlength
ロープを戻して
議論
source
(int/floatシリーズ) 処理する値のシリーズ.length
( int シリーズ) 棒数 (長さ)ほかにも参照
ta.cum
for
ラディアンで測定された角度から およそ等価な角度を 度で返します
math.todegrees(radians)
リターン角値を度で表します
議論
radians
(int/floatシリーズ) 角はラディアンで表される.グラスで測定された角度から およそ等価な角を放射数で返します
math.toradians(degrees)
リターン角値をラディアンで表します.
議論
degrees
(int/floatシリーズ) 角度は度で表される.与えられたシリーズでは NaN の値を前の NaN 以外の値に置き換える.
fixnan(source)
リターンギャップのないシリーズだ
議論
source
(シリーズ int/float/bool/color)ほかにも参照
na
nz
NaN の値を 0 (または与えられた値) で シリーズに置き換える.
nz(source, replacement)
nz(source)
例
// nz
plot(nz(ta.sma(close, 100)))
リターンその価値はsource
そうでない場合na
. もしsource
はna
0 を返します.replacement
引数を使うとき
議論
source
(int/float/bool/colorシリーズ) 処理する値のシリーズreplacement
(int/float/bool/colorシリーズ)source
series.ほかにも参照
na
fixnan
試験値がNaNである場合
na(x)
リターンtrue は,x が有効な数でない場合 (x は NaN) で,そうでなければ false です.
ほかにも参照
fixnan
nz
浮遊値を int に変換する.
int(x)
リターンint に cast した後の引数の値.
ほかにも参照
float
bool
color
string
浮くことは出来ない
float(x)
リターン引数の値が浮遊に 投げられた後
ほかにも参照
int
bool
color
string
リアルタイムバーで呼び出されると警告イベントを起動し,警告機能のイベントに基づいて警告は,先ほど"警告を作成する"ダイアログボックスを介して指標または戦略のために作成されました.
alert(message, freq)
例
// 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)
議論
message
(シリーズ文字列) 警報が起動するとメッセージが送信されます. 引数が必要です.freq
(入力文字列) 起動頻度.可能な値は: alert.freq_all (すべての関数呼び出しが警告を起動します), alert.freq_once_per_bar (バー中の最初の関数呼び出しが警告を起動します), alert.freq_once_per_bar_close (関数呼び出しがリアルタイムバーの最後のスクリプト繰り返しの際に,それが閉じるときにのみ警告を起動します).デフォルトは alert.freq_once_per_barです.コメントサポートセンターでは このようなアラートを作成する方法が説明されています
警告条件とは違って,警告呼び出しは追加のプロットとしてカウントされません.
機能の呼び出しは,グローバルおよびローカルの両方の範囲で位置付けることができます.
機能の呼び出しはチャートに何も表示されません.
ほかにも参照
alertcondition
アレート作成ダイアログで利用可能なアラートコンディションを作成します. アレートコンディションがアラートを作成しないことに注意してください. アレート作成ダイアログでより多くのオプションを与えます. また,アラートコンディション効果はチャートには見えない.
alertcondition(condition, title, message)
例
// alertcondition
alertcondition(close >= open, title='Alert on Green Bar', message='Green Bar!')
議論
condition
(series bool) 警告に使用される boolean 値のシリーズ. True 値は警告火事, false - 警告がないことを意味します. 必要な引数.title
(const string) 警告条件のタイトル 任意の引数message
(コンスト文字列) 警報が発射されたときに表示されるメッセージ.オプションの引数.コメントパインスクリプト v4/v5 では,アラートコンディションの呼び出しが追加のプロットを生成することを注意してください. このような呼び出しはすべて,スクリプトごとに出力シリーズの数を計算する際に考慮されます.
ほかにも参照
alert
条約と互換性があるため,Trading View
呼び出す必要はありません.
ほかにも参照
strategy
タイム関数は,指定されたタイムフレームとセッションの現在のバーの UNIX 時間または NaN を返します.session
arguments.
time(timeframe, session, timezone)
time(timeframe, session)
time(timeframe)
例
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"))
セッションを設定する際には,そのセッションに含まれる時間や分だけでなく,週の日も指定できます.
日が指定されていない場合,セッションは日曜日 (1) から土曜日 (7) まで設定されていると考えられます.つまり,
例
// Time
t1 = time(timeframe.period, "0000-0000:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)
1つsession
argument は,コンマで区切られたいくつかの異なるセッションを含むことができます.例えば,次のスクリプトは 10:00 から 11:00 まで,および 14:00 から 15:00 まで (実働日のみ) のバーを強調します.
例
// Time
t1 = time(timeframe.period, "1000-1100,1400-1500:23456")
bgcolor(t1 ? color.new(color.blue, 90) : na)
リターンUNIX時間
議論
timeframe
(単純な文字列) タイムフレーム.空の文字列は,チャートの現在のタイムフレームとして解釈されます.session
timezone
(簡単な文字列) タイムゾーンsession
引数. コメントUNIX時間とは,1970年1月1日,00:00:00 UTC以来経過したミリ秒の数である.
year(time)
year(time, timezone)
リターン提供された UNIX 時間のための年 (交換時帯)
議論
time
(シリーズイント) UNIX 時間はミリ秒で.timezone
(シリーズ文字列) 任意の引数 時間帯補足するUNIX時間とは,1970年1月1日,00:00:00 UTCから経過したミリ秒の数である.デフォルトでは,タイムゾーンは syminfo.timezoneであり,可能な値はタイムスタンプで見ることができます. この関数は,バーが開いている時間に基づいて年を返すことに注意してください.一夜間のセッション (例えば,月曜セッションが日曜日,UTC-417:00で始まるEURUSD) では,この値は取引日の年より1を下回る可能性があります.
ほかにも参照
year
time
month
dayofmonth
dayofweek
hour
minute
second
month(time)
month(time, timezone)
リターン月 (交換時帯で) 指定された UNIX 時間
議論
time
(シリーズイント) UNIX 時間はミリ秒で.timezone
(シリーズ文字列) 任意の引数 時間帯コメントUNIX時間とは,1970年1月1日,00:00:00 UTCから経過したミリ秒の数である.デフォルトでは,タイムゾーンは syminfo.timezoneであり,可能な値はタイムスタンプで見ることができます. この関数は,バーが開いている時間に基づいて月を返すことに注意してください. 一夜間のセッション (例えば,月曜セッションが日曜日,UTC-417:00で始まる EURUSD) では,この値は取引日の月よりも1を下回る可能性があります.
ほかにも参照
month
time
year
dayofmonth
dayofweek
hour
minute
second
hour(time)
hour(time, timezone)
リターン提供された UNIX 時間のための時間 (交換時帯)
議論
time
(シリーズイント) UNIX 時間はミリ秒で.timezone
(シリーズ文字列) オプションのパラメータ 時間帯コメントUNIX時間とは,1970年1月1日00:00:00 UTC以降のミリ秒数である.デフォルトでは syminfo.timezone でタイムゾーンで,可能な値はタイムスタンプで見ることができます.
ほかにも参照
hour
time
year
month
dayofmonth
dayofweek
minute
second
minute(time)
minute(time, timezone)
リターン指定された UNIX 時間のための分 (交換タイムゾーン)
議論
time
(シリーズイント) UNIX 時間はミリ秒で.timezone
(シリーズ文字列) 任意の引数 時間帯コメントUNIX時間とは,1970年1月1日00:00:00 UTC以降のミリ秒数である.デフォルトでは syminfo.timezone でタイムゾーンで,可能な値はタイムスタンプで見ることができます.
ほかにも参照
minute
time
year
month
dayofmonth
dayofweek
hour
second
second(time)
second(time, timezone)
リターン2秒 (交換タイムゾーン) 指定された UNIX 時間
議論
time
(シリーズイント) UNIX 時間はミリ秒で.timezone
(シリーズ文字列) オプションのパラメータ 時間帯コメントUNIX時間とは,1970年1月1日00:00:00 UTC以降のミリ秒数である.デフォルトでは syminfo.timezone でタイムゾーンで,可能な値はタイムスタンプで見ることができます.
ほかにも参照
second
time
year
month
dayofmonth
dayofweek
hour
minute
weekofyear(time)
weekofyear(time, timezone)
リターン提供された UNIX 時間 の 年の 週 (交換 時間帯 で)
議論
time
(シリーズイント) UNIX 時間はミリ秒で.timezone
(シリーズ文字列) オプションのパラメータ 時間帯コメントUNIX時間とは,1970年1月1日00:00:00 UTC以降のミリ秒数である.デフォルトでは syminfo.timezone のタイムゾーンで,可能な値はタイムスタンプで見ることができる. この関数は,バーが開いている時間に基づいて週を返すことに注意してください. 一夜間のセッション (例えば,月曜セッションが日曜日17:00に始まるEURUSD) では,この値は取引日の週よりも1を下回る可能性があります.
ほかにも参照
weekofyear
time
year
month
dayofmonth
dayofweek
hour
minute
second
dayofweek(time)
dayofweek(time, timezone)
リターン提供された UNIX 時間のための週の日 (交換時間帯)
議論
time
(シリーズイント) UNIX 時間はミリ秒で.timezone
(シリーズ文字列) オプションのパラメータ 時間帯コメントこの関数は,バーが開いている時間に基づいて日値を返すことに注意してください. 一夜間のセッション (例えば,月曜セッションが日曜日17:00に始まるEURUSD) では,この値は取引日の日より1を下回る可能性があります. UNIX時間とは,1970年1月1日00:00:00 UTC以降のミリ秒数である.デフォルトでは syminfo.timezone のタイムゾーンで,可能な値はタイムスタンプで見ることができる.
ほかにも参照
time
dayofmonth
dayofmonth(time)
dayofmonth(time, timezone)
リターン月曜日 (交換時帯) 指定された UNIX 時間
議論
time
(series int) ユニックス 時間はミリ秒で.timezone
(シリーズ文字列) オプションのパラメータ 時間帯コメントUNIX時間とは,1970年1月1日,00:00:00 UTCから経過したミリ秒の数である.デフォルトでは,タイムゾーンは syminfo.timezoneであり,可能な値はタイムスタンプで見ることができます. この関数は,バーが開いている時間に基づいて日値を返します. 一夜間のセッション (例えば,月曜セッションが日曜日,UTC-417:00で始まるEURUSD) では,この値は取引日の日より1を下回る可能性があります.
ほかにも参照
time
dayofweek
関数タイムスタンプは,指定された日付と時間のUNIX時間を返します.
timestamp(dateString)
timestamp(year, month, day, hour, minute, second)
timestamp(timezone, year, month, day, hour, minute, second)
例
// 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"))
乞食なぜ戦略広場複製のパイン戦略が実用化できないのか
発明者 量化 - 微かな夢じゃあ調べてみよう.
乞食張超大
発明者 量化 - 微かな夢こんにちは,具体的にはどんな戦略ですか?