ক্ষেত্রের মান পরিবর্তন করুন
type order
float price
float amount
string symbol
if strategy.position_size == 0 and open > close
strategy.entry("long", strategy.long, 1)
order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)
if strategy.position_size != 0
runtime.log(order1)
order1.price := 999
order1.amount := 100
runtime.log(order1)
runtime.error("stop")
একটি অবজেক্ট ক্ষেত্রের মান পরিবর্তন করা যেতে পারে:=
পুনঃনির্ধারণ অপারেটর।
বস্তুর সংগ্রহ
উদাহরণটি একটি খালি অ্যারে ঘোষণা করে যা ব্যবহারকারীর দ্বারা সংজ্ঞায়িত অর্ডার টাইপের বস্তুগুলিকে ধরে রাখবেঃ
type order
float price
float amount
string symbol
arrOrder = array.new<order>()
order1 = order.new(99, 1, "BTC_USDT")
order2 = order.new(100, 2, "ETH_USDT")
array.push(arrOrder, order1)
array.push(arrOrder, order2)
runtime.log(arrOrder)
runtime.error("stop")
অথবা
type order
float price
float amount
string symbol
var array<order> arrOrder = na
arrOrder := array.new<order>()
order1 = order.new(99, 1, "BTC_USDT")
order2 = order.new(100, 2, "ETH_USDT")
array.push(arrOrder, order1)
array.push(arrOrder, order2)
runtime.log(arrOrder)
runtime.error("stop")
কপি অবজেক্ট
পাইনে, অবজেক্টগুলি রেফারেন্স দ্বারা নির্ধারিত হয়। যখন একটি বিদ্যমান অবজেক্ট একটি নতুন ভেরিয়েবলকে নির্ধারিত হয়, তখন উভয়ই একই অবজেক্টকে উল্লেখ করে।
//@version=5
indicator("")
type pivotPoint
int x
float y
pivot1 = pivotPoint.new()
pivot1.x := 1000
pivot2 = pivot1
pivot2.x := 2000
// Both plot the value 2000.
plot(pivot1.x)
plot(pivot2.x)
নিম্নলিখিত উদাহরণে, আমরা একটি পিভট 1 অবজেক্ট তৈরি করি এবং এর এক্স ক্ষেত্রটি 1000 এ সেট করি। তারপর আমরা একটি পিভট 2 ভেরিয়েবল ঘোষণা করি যা পিভট 1 অবজেক্টের একটি রেফারেন্স ধারণ করে, তাই তারা উভয়ই একই উদাহরণে নির্দেশ করে। অতএব, পিভট 2 এক্স পরিবর্তন করা পিভট 1 এক্সকেও পরিবর্তন করে, কারণ উভয়ই একই বস্তুর এক্স ক্ষেত্রের উল্লেখ করে।
মূল বস্তুর থেকে স্বাধীন একটি অনুলিপি তৈরি করতে, এই ক্ষেত্রে আমরা অন্তর্নির্মিত অনুলিপি ((() পদ্ধতি ব্যবহার করতে পারি। এই উদাহরণে, আমরা pivot1 বস্তুর অনুলিপিকৃত দৃষ্টান্তটি উল্লেখ করার জন্য পরিবর্তনশীল pivot2 ঘোষণা করি। এখন, pivot2.x পরিবর্তন করা pivot1.x পরিবর্তন করবে না, কারণ এটি একটি পৃথক বস্তুর x ক্ষেত্রকে উল্লেখ করেঃ
//@version=5
indicator("")
type pivotPoint
int x
float y
pivot1 = pivotPoint.new()
pivot1.x := 1000
pivot2 = pivotPoint.copy(pivot1)
pivot2.x := 2000
// Plots 1000 and 2000.
plot(pivot1.x)
plot(pivot2.x)
এটা লক্ষ করা উচিত যে ট্রেডিং ভিউ এর কপি পদ্ধতিটি একটি অগভীর অনুলিপি। যদি কোনও বস্তুর বিশেষ ধরণের ক্ষেত্র থাকে (অ্যারে, ইত্যাদি), তবে বস্তুর অগভীর অনুলিপিতে এই ক্ষেত্রগুলি বস্তুর সাথে একই দৃষ্টান্তের দিকে নির্দেশ করবে। FMZ প্ল্যাটফর্ম সরাসরি গভীর কপি বাস্তবায়ন, এবং কোন অতিরিক্ত প্রক্রিয়াকরণের প্রয়োজন হয়. আপনি নিম্নলিখিত উদাহরণ পড়ুন করতে পারেনঃ
গভীর কপি
//@version=5
indicator("test deepCopy")
type orderInfo
float price
float amount
type labelInfo
orderInfo order
string labelMsg
labelInfo1 = labelInfo.new(orderInfo.new(100, 0.1), "test labelInfo1")
labelInfo2 = labelInfo.copy(labelInfo1)
labelInfo1.labelMsg := "labelInfo1->2" // Modify the base type field of labelInfo1 to see if it affects labelInfo2
labelInfo1.order.price := 999 // Modify the composite type field of labelInfo1 to see if it affects labelInfo2
runtime.log(labelInfo1)
runtime.log(labelInfo2)
runtime.error("stop")
পরীক্ষার ফলাফলগুলি দেখায় যে labelInfo.copy ((labelInfo1) এক্সিকিউটেড হলে একটি গভীর অনুলিপি এবং labelInfo1 এর কোনও ক্ষেত্র সংশোধন করা labelInfo2 কে প্রভাবিত করবে না।
পাইন ভাষায় পদ্ধতি হল একটি অন্তর্নির্মিত বা ব্যবহারকারী-সংজ্ঞায়িত প্রকারের একটি নির্দিষ্ট দৃষ্টান্তের সাথে যুক্ত বিশেষায়িত ফাংশন। বেশিরভাগ ক্ষেত্রে, তারা মূলত নিয়মিত ফাংশনের মতোই, তবে একটি সংক্ষিপ্ত, আরও সুবিধাজনক সিনট্যাক্স সরবরাহ করে। ব্যবহারকারীরা পাইন অবজেক্টের ক্ষেত্রগুলিতে অ্যাক্সেস করার মতো ডট নোটেশন ব্যবহার করে ভেরিয়েবলগুলিতে সরাসরি পদ্ধতি অ্যাক্সেস করতে পারে। পাইনে অ্যারে, ম্যাট্রিক্স, মানচিত্র, লাইন, ফিল লাইন এবং আরও অনেক কিছু সহ সমস্ত বিশেষ ধরণের জন্য অন্তর্নির্মিত পদ্ধতি অন্তর্ভুক্ত রয়েছে। এই পদ্ধতিগুলি ব্যবহারকারীদের স্ক্রিপ্টে এই ধরণের বিশেষায়িত প্রোগ্রামগুলি কল করার জন্য আরও সংক্ষিপ্ত উপায় সরবরাহ করে।
অন্তর্নির্মিত পদ্ধতি
উদাহরণস্বরূপ, এরকম একটি স্ক্রিপ্ট কোডঃ
//@version=5
indicator("Custom Sample BB", overlay = true)
float sourceInput = input.source(close, "Source")
int samplesInput = input.int(20, "Samples")
int n = input.int(10, "Bars")
float multiplier = input.float(2.0, "StdDev")
var array<float> sourceArray = array.new<float>(samplesInput)
var float sampleMean = na
var float sampleDev = na
// Identify if `n` bars have passed.
if bar_index % n == 0
// Update the queue.
array.push(sourceArray, sourceInput)
array.shift(sourceArray)
// Update the mean and standard deviaiton values.
sampleMean := array.avg(sourceArray)
sampleDev := array.stdev(sourceArray) * multiplier
// Calculate bands.
float highBand = sampleMean + sampleDev
float lowBand = sampleMean - sampleDev
plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)
এটি সমতুল্যভাবে পুনরায় লেখা যেতে পারেঃ
//@version=5
indicator("Custom Sample BB", overlay = true)
float sourceInput = input.source(close, "Source")
int samplesInput = input.int(20, "Samples")
int n = input.int(10, "Bars")
float multiplier = input.float(2.0, "StdDev")
var array<float> sourceArray = array.new<float>(samplesInput)
var float sampleMean = na
var float sampleDev = na
// Identify if `n` bars have passed.
if bar_index % n == 0
// Update the queue.
sourceArray.push(sourceInput)
sourceArray.shift()
// Update the mean and standard deviaiton values.
sampleMean := sourceArray.avg()
sampleDev := sourceArray.stdev() * multiplier
// Calculate band values.
float highBand = sampleMean + sampleDev
float lowBand = sampleMean - sampleDev
plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)
আপনি দেখতে পারেন যে PINE সমর্থন পরেMethods
কোডarray.avg(sourceArray)
পদ্ধতির আকারে লেখা যেতে পারেঃsourceArray.avg()
.
মনে রাখবেন যে FMZ মত কল সমর্থন করে নাarray.avg
currently.
ব্যবহারকারীর নির্ধারিত পদ্ধতি
পাইন ব্যবহারকারীদের কাস্টম পদ্ধতিগুলি সংজ্ঞায়িত করতে দেয় যা যে কোনও অন্তর্নির্মিত বা ব্যবহারকারীর সংজ্ঞায়িত ধরণের বস্তুগুলির সাথে কাজ করে। একটি পদ্ধতি সংজ্ঞায়িত করা মূলত একটি ফাংশন সংজ্ঞায়িত করার মতোই, দুটি মূল পার্থক্য সহঃ
উদাহরণস্বরূপ, নিম্নলিখিত কোডে, বলিংজার সূচক গণনার জন্য কোডটি ব্যবহারকারীর দ্বারা সংজ্ঞায়িত পদ্ধতি হিসাবে সংক্ষিপ্ত করা হয়েছেঃ
//@version=5
indicator("Custom Sample BB", overlay = true)
float sourceInput = input.source(close, "Source")
int samplesInput = input.int(20, "Samples")
int n = input.int(10, "Bars")
float multiplier = input.float(2.0, "StdDev")
var array<float> sourceArray = array.new<float>(samplesInput)
var float sampleMean = na
var float sampleDev = na
// Identify if `n` bars have passed.
if bar_index % n == 0
// Update the queue.
sourceArray.push(sourceInput)
sourceArray.shift()
// Update the mean and standard deviaiton values.
sampleMean := sourceArray.avg()
sampleDev := sourceArray.stdev() * multiplier
// Calculate band values.
float highBand = sampleMean + sampleDev
float lowBand = sampleMean - sampleDev
plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)
সংশোধিতঃ
//@version=5
indicator("Custom Sample BB", overlay = true)
float sourceInput = input.source(close, "Source")
int samplesInput = input.int(20, "Samples")
int n = input.int(10, "Bars")
float multiplier = input.float(2.0, "StdDev")
var array<float> sourceArray = array.new<float>(samplesInput)
method maintainQueue(array<float> srcArray, float value, bool takeSample = true) =>
if takeSample
srcArray.push(value)
srcArray.shift()
srcArray
method calcBB(array<float> srcArray, float mult, bool calculate = true) =>
var float mean = na
var float dev = na
if calculate
mean := srcArray.avg()
dev := srcArray.stdev() * mult
[mean, mean + dev, mean - dev]
bool newSample = bar_index % n == 0
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)
plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)
আপনি দেখতে পারেন যে ব্যবহারকারী-সংজ্ঞায়িত পদ্ধতির প্যারামিটার তালিকার প্রথম প্যারামিটার কীওয়ার্ড পদ্ধতিঃ maintainQueue এবং calcBB দিয়ে ঘোষণা করা হয়array<float>
, যার মানে হল যে পদ্ধতিটি টাইপ ভেরিয়েবলের পদ্ধতিarray<float>
, তাই আপনি দেখতে পারেন যে নিম্নলিখিত কোড বোলিঞ্জার সূচক গণনা করতে বলা হয়.
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)
অতিরিক্ত লোডিংয়ের পদ্ধতি
ব্যবহারকারী-সংজ্ঞায়িত পদ্ধতিগুলি একই সনাক্তকারী দিয়ে বিদ্যমান অন্তর্নির্মিত পদ্ধতি এবং ব্যবহারকারী-সংজ্ঞায়িত পদ্ধতিগুলিকে ওভাররাইড এবং ওভারলোড করতে পারে। এই বৈশিষ্ট্যটি ব্যবহারকারীদের একই পদ্ধতির নামের অধীনে বিভিন্ন আর্গুমেন্ট স্বাক্ষরগুলির সাথে যুক্ত একাধিক রুটিন সংজ্ঞায়িত করতে দেয়। একটি সহজ উদাহরণ হিসাবে, ধরুন আমরা একটি ভেরিয়েবলের প্রকার সনাক্ত করতে একটি পদ্ধতি সংজ্ঞায়িত করতে চাই। যেহেতু আমাদের স্পষ্টভাবে একটি ব্যবহারকারী-সংজ্ঞায়িত পদ্ধতির সাথে যুক্ত অবজেক্টের ধরণটি নির্দিষ্ট করতে হবে, তাই আমাদের প্রতিটি ধরণের জন্য ওভারলোডগুলি সংজ্ঞায়িত করতে হবে যা আমরা এটিকে স্বীকৃতি দিতে চাই। এরপরে আমরা একটি getType (()) পদ্ধতি সংজ্ঞায়িত করি যা একটি ভেরিয়েবলের স্ট্রিং উপস্থাপনা ফেরত দেয়
//@version=5
indicator("Type Inspection")
// @function Identifies an object's type.
// @param this Object to inspect.
// @returns (string) A string representation of the type.
method getType(int this) =>
na(this) ? "int(na)" : "int"
method getType(float this) =>
na(this) ? "float(na)" : "float"
method getType(bool this) =>
na(this) ? "bool(na)" : "bool"
method getType(color this) =>
na(this) ? "color(na)" : "color"
method getType(string this) =>
na(this) ? "string(na)" : "string"
a = 1 // a.getType(): float
b = 1.0 // b.getType(): float
c = true // c.getType(): bool
d = color.white // d.getType(): string(na)
e = "1" // e.getType(): string
runtime.log("a.getType():", a.getType())
runtime.log("b.getType():", b.getType())
runtime.log("c.getType():", c.getType())
runtime.log("d.getType():", d.getType())
runtime.log("e.getType():", e.getType())
runtime.error("stop")
প্রতিটি ভেরিয়েবলের বেস টাইপ নির্ধারণ করে কোন ভেরিয়েবলের ওভারলোডgetType()
FMZ প্ল্যাটফর্মে, যেহেতু PINE স্ক্রিপ্টগুলির অন্তর্নিহিত বাস্তবায়নটি জাভাস্ক্রিপ্ট, তাই সংখ্যাসূচক টাইপটি ফ্লোটিং পয়েন্ট ডেটা (ফ্লোটিং) হিসাবে বিচার করা হবে।
একটি ফাংশন কল করার সময়, আপনি আর্গুমেন্ট পাস করতে পারেন। আপনি মান বরাদ্দ করার জন্য আর্গুমেন্ট নাম বরাদ্দ করতে পারেন। আপনি সংশ্লিষ্ট আর্গুমেন্ট অবস্থানে সরাসরি ভেরিয়েবল পাস করতে পারেন। মিশ্র ব্যবহারও সমর্থিত। উদাহরণস্বরূপঃ
plot(close, title="test plot") // Pass the argument close directly; specify the argument title and assign the string "test plot"
আর্গুমেন্ট নাম বরাদ্দ নির্দিষ্ট করার পরে, আপনি আর সরাসরি একটি আর্গুমেন্ট হিসাবে পরিবর্তনশীল পাস করতে পারবেন না, এবং পরবর্তী আর্গুমেন্টগুলিকে আর্গুমেন্ট নাম বরাদ্দের আকারে লিখতে হবে।
// plot(close, title="test", color.red) // Although the third argument of plot is the color value, but this will report an error
plot(close, title="test", color=color.red) // Correct writing
plot(close, "test", color.red) // Correct writing
সময়সীমা রূপান্তর করুনtimeframe
সেকেন্ডে যুক্তি।
timeframe.in_seconds(timeframe)
উদাহরণ
// Get chart timeframe:
i_tf = input.timeframe("1D")
// Convert timeframe to the int value (number of seconds in 1 Day):
tf = timeframe.in_seconds(i_tf)
plot(tf)
রিটার্নএকটি বারে সেকেন্ডের সংখ্যা একটি int প্রতিনিধিত্বtimeframe
.
যুক্তি
timeframe
(সহজ স্ট্রিং) টাইমফ্রেম. ঐচ্ছিক. ডিফল্ট হল টাইমফ্রেম. পিরিয়ড.মন্তব্যসমূহএর জন্যtimeframe
>=
আরও দেখুন
input.timeframe
timeframe.period
একটি সমতল গড় int প্রতিনিধিত্ব মান অনুরোধ করার জন্য একটি টিকার সনাক্তকারী তৈরি করে।
ticker.heikinashi(symbol)
উদাহরণ
heikinashi_close = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)
heikinashi_aapl_60_close = request.security(ticker.heikinashi(syminfo.tickerid), "60", close)
plot(heikinashi_close)
plot(heikinashi_aapl_60_close)
রিটার্নrequest.security ফাংশনে সরবরাহ করা যেতে পারে এমন স্টক কোডের স্ট্রিং মান।
যুক্তি
symbol
(সহজ স্ট্রিং) প্রোডাক্ট কোড আইডেন্টিফায়ার।আরও দেখুন
syminfo.tickerid
syminfo.ticker
request.security
বাহ্যিক তথ্যের জন্য অনুরোধ করুন।
request.data(url, attribute)
উদাহরণ
/*backtest
start: 2024-09-01 16:00:00
end: 2024-10-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["RunMode",1,358374],["ZPrecision",0,358374]]
*/
var chart_data = "https://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data"
spotPrice = request.data(chart_data, "$.spot_close_price")
futuresPrice = request.data(chart_data, "$.future_close_price")
diff = futuresPrice - spotPrice
plot(diff, "perpetual-spot difference")
plot(futuresPrice, "futures prices", overlay=true)
plot(spotPrice, "spot prices", overlay=true)
if diff > 80 and strategy.position_size >= 0
runtime.log("diff > 80")
strategy.entry("Enter Short", strategy.short)
if diff < 60 and strategy.position_size <= 0
runtime.log("diff < 60")
strategy.entry("Enter Short", strategy.long)
রিটার্ন মানঅ্যাট্রিবিউট আর্গুমেন্ট ডেটা সিরিজ নির্দিষ্ট করে।
যুক্তি
url
(সহজ স্ট্রিং) অনুরোধকৃত ডেটা উৎস url এবং ডেটা উৎস প্রতিক্রিয়ার ডেটা বিন্যাস প্রয়োজনীয়তা পূরণ করতে হবে (অন্তত সময় এবং ডেটা বৈশিষ্ট্য সহ):{"data": [], "schema": ["time", "data"]}
. আপনি উদাহরণে ডাটা ফরম্যাটের উল্লেখ করতে পারেনঃ
{
"data": [
[1720051200000, "{\"spot_close_price\" : 57050.01, \"future_close_price\" : 57045.9}"],
[1720137600000, "{\"spot_close_price\" : 56628.79, \"future_close_price\" : 56604.9}"],
// ...
],
"schema": ["time", "data"]
}
attribute
(simple string) অ্যাট্রিবিউট নাম নির্দিষ্ট করে এবং প্রয়োজনীয় তথ্য প্রদান করে। উদাহরণস্বরূপঃ"$.spot_close_price"
, ব্যবহার$.
প্রিফিক্স হিসাবে, এবং অ্যাট্রিবিউট নামটি ডাটা উৎস অনুরোধ করার সময় প্রতিক্রিয়ায় ডাটা ক্ষেত্রে অ্যাট্রিবিউটের সাথে সামঞ্জস্যপূর্ণ
যদি একটি ত্রুটি অনুরোধ করা হয়, আপনি সময় পরিসীমা দ্বারা অনুরোধ করা হয় কিনা তা পরীক্ষা করতে হবেrequest.data
ব্যাকটেস্টের জন্য সেট করা সময়সীমার সাথে সামঞ্জস্যপূর্ণ। যদি ব্যাকটেস্টের সময় সিরিজে কোনও ডেটা অনুসন্ধান করা না যায় তবে একটি ত্রুটি রিপোর্ট করা হবে।
এই উদাহরণে ডেটা-ডেটা ডেটা ক্যোয়ারী এসকিউএল বিবৃতিটি হলঃ
WITH latest_data AS (
SELECT
klines.spot_1d.Time AS time,
CONCAT('{\"spot_close_price\" : ', klines.spot_1d.Close, ', \"future_close_price\" : ', klines.future_1d.Close, '}') AS data
FROM
klines.spot_1d
JOIN
klines.future_1d
ON
klines.spot_1d.Time = klines.future_1d.Time
WHERE
klines.spot_1d.Symbol = 'btc_usdt'
AND
klines.future_1d.Symbol = 'btc_usdt.swap'
AND
klines.spot_1d.Exchange = 'Binance'
AND
klines.future_1d.Exchange = 'Binance'
ORDER BY
klines.spot_1d.Time DESC
LIMIT 100
)
SELECT * FROM latest_data
ORDER BY time ASC;
আপনি অনুসন্ধান করতে পারেন এবং ডেটা লিঙ্ক তৈরি করতে পারেনতথ্য অনুসন্ধানএফএমজেড প্ল্যাটফর্মের পৃষ্ঠা, যাhttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data
উদাহরণে ব্যবহৃত।
আরেকটা রেজোলিউশনের জন্য জিজ্ঞাসা করুন।
request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency)
উদাহরণ
s = request.security(syminfo.tickerid, "D", close) // 1 Day
plot(s)
expr = ta.sma(close, 10)
s1 = request.security(syminfo.tickerid, "240", expr) // 240 Minutes
plot(s1)
// To avoid difference in calculation on history/realtime you can request not latest values and use merge strategy flags as follows:
s2 = request.security(syminfo.tickerid, "D", close[1], barmerge.gaps_off, barmerge.lookahead_on)
plot(s2)
f() => [open, high]
[o, h] = request.security(syminfo.tickerid, "D", f())
[l, c] = request.security(syminfo.tickerid, "D", [low, close])
plot((o + h + l + c) / 4)
রিটার্নঅনুরোধকৃত সিরিজ
যুক্তি
symbol
(সহজ স্ট্রিং) প্রতীক.timeframe
(সহজ স্ট্রিং) সময়কাল। একটি খালি স্ট্রিং চার্টের বর্তমান রেজোলিউশন হিসাবে ব্যাখ্যা করা হয়।expression
(series int/float/bool/color) একটি এক্সপ্রেশন request.security কল থেকে গণনা করা এবং ফেরত দেওয়া যেতে পারে। এটি একটি সিরিজ বা একটি টুপল হতে পারে যা সিরিজে ক্যাস্ট করা যেতে পারে এমন উপাদানগুলি ধারণ করে।gaps
(barmerge_gaps) অনুরোধ করা ডেটার জন্য মার্জ কৌশল (অনুরোধ করা ডেটা স্বয়ংক্রিয়ভাবে প্রধান সিরিজের OHLC ডেটার সাথে মার্জ হয়) । সম্ভাব্য মানঃ barmerge.gaps_on, barmerge.gaps_off. barmerge.gaps_on - অনুরোধ করা ডেটা সম্ভাব্য ফাঁকগুলির সাথে মার্জ করা হয় (না মান) । barmerge.gaps_off - অনুরোধ করা ডেটা ফাঁক ছাড়াই অবিচ্ছিন্নভাবে মার্জ করা হয়, সমস্ত ফাঁকগুলি পূর্ববর্তী নিকটতম বিদ্যমান মানগুলির সাথে পূরণ করা হয়। ডিফল্ট মানটি হল barmerge.gaps_off।lookahead
(barmerge_lookahead) অনুরোধ করা ডেটা অবস্থানের জন্য মার্জ কৌশল। সম্ভাব্য মানঃ barmerge.lookahead_on, barmerge.lookahead_off। সংস্করণ 3 থেকে শুরু করে ডিফল্ট মানটি barmerge.lookahead_off। মনে রাখবেন যে আচরণটি রিয়েল-টাইমে একই, এবং শুধুমাত্র ইতিহাসের উপর ভিন্ন।ignore_invalid_symbol
(const bool) একটি ঐচ্ছিক আর্গুমেন্ট। যদি নির্দিষ্ট চিহ্নটি পাওয়া না যায় তবে ফাংশনের আচরণ নির্ধারণ করেঃ যদি মিথ্যা হয় তবে স্ক্রিপ্টটি থামবে এবং রানটাইম ত্রুটি ফিরিয়ে দেবে; যদি সত্য হয় তবে ফাংশনটি na ফিরিয়ে দেবে এবং কার্যকর করা অব্যাহত থাকবে। ডিফল্ট মানটি মিথ্যা।currency
(সরল স্ট্রিং) যে মুদ্রায় প্রতীকটির মুদ্রার সাথে সম্পর্কিত মান (যেমন OHLC) রূপান্তর করা হবে।expression
তারপর রূপান্তরিত মানগুলির উপর ভিত্তি করে গণনা করা হয়। ব্যবহৃত রূপান্তর হারগুলি পূর্ববর্তী দিনের FX_IDC জোড়ামন্তব্যসমূহএই ফাংশন ব্যবহার করে পাইনস্ক্রিপ্ট কোড ইতিহাস এবং রিয়েল-টাইম ডেটা ভিন্নভাবে গণনা করতে পারে।
আপনি যদি অনুরোধকৃত প্রতীকের জন্য অতিরিক্ত আর্গুমেন্ট নির্দিষ্ট করতে চান, যেমন সেশন বা সমন্বয় টাইপ, আপনি ব্যবহার করতে পারেনticker.new() ফাংশন।
রেজোলিউশন আর্গুমেন্টের অনুমোদিত মান হলঃ 1S, 5S, 15S, 30S - সেকেন্ডের ব্যবধানের জন্য (গ্রাফ রেজোলিউশনটি অনুরোধ করা রেজোলিউশনের চেয়ে কম বা সমান হওয়া উচিত) ১ থেকে ১৪৪০ মিনিট পর্যন্ত ১D থেকে ৩৬৫D পর্যন্ত ১ ওয়াট থেকে ৫২ ওয়াট পর্যন্ত কয়েক সপ্তাহ 1M থেকে 12M মাস ধরে
আরও দেখুন
syminfo.ticker
syminfo.tickerid
timeframe.period
ta.correlation
barmerge.lookahead_off
barmerge.lookahead_on
true প্রদান করে যদিsource
স্ট্রিং ধারণ করেstr
সাবস্ট্রিং, অন্যথায় মিথ্যা।
str.contains(source, str)
উদাহরণ
// If the current chart is a continuous futures chart, e.g "BTC1!", then the function will return true, false otherwise.
var isFutures = str.contains(syminfo.tickerid, "!")
plot(isFutures ? 1 : 0)
রিটার্নসত্য যদিstr
পাওয়া গেছেsource
স্ট্রিং, অন্যথায় মিথ্যা.
যুক্তি
source
(সারি স্ট্রিং) উৎস স্ট্রিং.str
(সারি স্ট্রিং) অনুসন্ধান করার জন্য সাবস্ট্রিং.আরও দেখুন
str.pos
str.match
true প্রদান করে যদিsource
স্ট্রিং শেষ হয় সাবস্ট্রিং দিয়েstr
অন্যথায় মিথ্যা।
str.endswith(source, str)
রিটার্নসত্য যদিsource
স্ট্রিং শেষ হয় সাবস্ট্রিং দিয়েstr
অন্যথায় মিথ্যা।
যুক্তি
source
(সারি স্ট্রিং) উৎস স্ট্রিং.str
(সারি স্ট্রিং) অনুসন্ধান করার জন্য সাবস্ট্রিং.আরও দেখুন
str.startswith
true প্রদান করে যদিsource
স্ট্রিং শুরু হয় Substring দ্বারা নির্দিষ্টstr
অন্যথায় মিথ্যা।
str.startswith(source, str)
রিটার্নসত্য যদিsource
স্ট্রিং শুরু হয় Substring দ্বারা নির্দিষ্টstr
অন্যথায় মিথ্যা।
যুক্তি
source
(সারি স্ট্রিং) উৎস স্ট্রিং.str
(সারি স্ট্রিং) অনুসন্ধান করার জন্য সাবস্ট্রিং.আরও দেখুন
str.endswith
একটি নতুন স্ট্রিং ফেরত দেয় যা একটি সাবস্ট্রিংsource
সাবস্ট্রিং সূচক দ্বারা নির্ধারিত অক্ষর দিয়ে শুরু হয়begin_pos
এবং source
string.
str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)
উদাহরণ
sym= "EXCHANGE_NAME:SYMBOL_NAME"
pos = str.pos(sym, ":") // Get position of ":" character
tkr= str.substring(sym, pos+1) // "SYMBOL_NAME"
if barstate.islastconfirmedhistory
runtime.log(tkr)
রিটার্নসোর্স স্ট্রিং থেকে বের করা সাবস্ট্রিং।
যুক্তি
source
(সারি স্ট্রিং) উৎস স্ট্রিং থেকে সাবস্ট্রিং বের করতে।begin_pos
(series int) এক্সট্রাক্ট করা সাবস্ট্রিং এর শুরুর অবস্থান। এটি অন্তর্ভুক্তিমূলক (এক্সট্রাক্ট করা সাবস্ট্রিং সেই অবস্থানে অক্ষর অন্তর্ভুক্ত করে) ।end_pos
(series int) শেষ অবস্থান. এটি একচেটিয়া (এক্সট্রাক্ট করা স্ট্রিংটি সেই অবস্থানsource
string.মন্তব্যসমূহস্ট্রিংয়ের সূচক 0 থেকে শুরু হয় যদিbegin_pos
সমানend_pos
, ফাংশনটি একটি খালি স্ট্রিং প্রদান করে।
আরও দেখুন
str.contains
str.pos
str.match
str.tonumber(string)
রিটার্নস্ট্রিং এর একটি ফ্লোট সংস্করণ যদি এটি একটি বৈধ সংখ্যা ধারণ করে, অন্যথায় না।
যুক্তি
string
(সারি স্ট্রিং) একটি int বা float এর স্ট্রিং উপস্থাপনা।ফরম্যাটিং স্ট্রিং এবং মানগুলিকে ফরম্যাটেড স্ট্রিংয়ে রূপান্তর করে। ফরম্যাটিং স্ট্রিংটিতে প্রতিটি মানের জন্য আক্ষরিক পাঠ্য এবং কোঁকড়ানো বন্ধনীতে {} একটি প্লেসহোল্ডার থাকতে পারে। প্রতিটি প্লেসহোল্ডারে প্রয়োজনীয় আর্গুমেন্টের সূচক (০ থেকে শুরু করে) রয়েছে যা এটি প্রতিস্থাপন করবে, এবং একটি ঐচ্ছিক ফর্ম্যাট স্পেসিফায়ার। সূচকটি str.format আর্গুমেন্ট তালিকায় সেই আর্গুমেন্টের অবস্থানকে উপস্থাপন করে।
str.format(formatString, arg0, arg1, ...)
উদাহরণ
// The format specifier inside the curly braces accepts certain modifiers:
// - Specify the number of decimals to display:
s1 = str.format("{0,number,#.#}", 1.34) // returns: 1.3
runtime.log(s1)
// - Round a float value to an integer:
s2 = str.format("{0,number,integer}", 1.34) // returns: 1
runtime.log(s2)
// - Display a number in currency:
s3 = str.format("{0,number,currency}", 1.34) // returns: $1.34
runtime.log(s3)
// - Display a number as a percentage:
s4 = str.format("{0,number,percent}", 0.5) // returns: 50%
runtime.log(s4)
// EXAMPLES WITH SEVERAL ARGUMENTS
// returns: Number 1 is not equal to 4
s5 = str.format("Number {0} is not {1} to {2}", 1, "equal", 4)
runtime.log(s5)
// returns: 1.34 != 1.3
s6 = str.format("{0} != {0, number, #.#}", 1.34)
runtime.log(s6)
// returns: 1 is equal to 1, but 2 is equal to 2
s7 = str.format("{0, number, integer} is equal to 1, but {1, number, integer} is equal to 2", 1.34, 1.52)
runtime.log(s7)
// returns: The cash turnover amounted to $1,340,000.00
s8 = str.format("The cash turnover amounted to {0, number, currency}", 1340000)
runtime.log(s8)
// returns: Expected return is 10% - 20%
s9 = str.format("Expected return is {0, number, percent} - {1, number, percent}", 0.1, 0.2)
runtime.log(s9)
রিটার্নফরম্যাট করা স্ট্রিং।
যুক্তি
formatString
(সিরিজ স্ট্রিং) ফরম্যাট স্ট্রিং.arg0, arg1, ...
(সারি int/float/bool/string/na/int[]/float[]/bool[]/string[]) ফরম্যাট করা মান।মন্তব্যসমূহএকটি অ-উল্লিখিত প্যাটার্নের মধ্যে যে কোনও কোঁকড়ানো স্ট্র্যাপগুলি ভারসাম্যপূর্ণ হতে হবে। উদাহরণস্বরূপ,
যে স্ট্রিং এর অক্ষরের পরিমাণের সাথে সামঞ্জস্যপূর্ণ একটি পূর্ণসংখ্যা প্রদান করে।
str.length(string)
রিটার্নউৎস স্ট্রিং এর অক্ষরের সংখ্যা।
যুক্তি
string
(সারি স্ট্রিং) উৎস স্ট্রিং.সমস্ত অক্ষরকে ছোট আকারে রূপান্তরিত করে একটি নতুন স্ট্রিং প্রদান করে।
str.lower(source)
রিটার্নসব অক্ষর ছোট আকারে রূপান্তরিত একটি নতুন স্ট্রিং.
যুক্তি
source
(সারি স্ট্রিং) স্ট্রিং রূপান্তর করা হবে.আরও দেখুন
str.upper
সব অক্ষরকে বড় আকারে রূপান্তরিত করে একটি নতুন স্ট্রিং প্রদান করে।
str.upper(source)
রিটার্নসব অক্ষর বড় অক্ষরে রূপান্তরিত একটি নতুন স্ট্রিং.
যুক্তি
source
(সারি স্ট্রিং) স্ট্রিং রূপান্তর করা হবে.আরও দেখুন
str.lower
নতুন সাবস্ট্রিং ফেরত দেয়source
স্ট্রিং যদি এটি একটি মেলেregex
নিয়মিত অভিব্যক্তি,
str.match(source, regex)
উদাহরণ
s = input.string("It's time to sell some EXCHANGE_NAME:SYMBOL_NAME!")
// finding first substring that matches regular expression "[\w]+:[\w]+"
var string tickerid = str.match(s, "[\\w]+:[\\w]+")
if barstate.islastconfirmedhistory
runtime.log(tickerid) // "EXCHANGE_NAME:SYMBOL_NAME"
রিটার্ননতুন সাবস্ট্রিংsource
স্ট্রিং যদি এটি একটি মেলেregex
নিয়মিত অভিব্যক্তি,
যুক্তি
source
(সারি স্ট্রিং) উৎস স্ট্রিং.regex
(সারি স্ট্রিং) নিয়মিত এক্সপ্রেশন যার সাথে এই স্ট্রিংটি মেলে।মন্তব্যসমূহফাংশন রিটার্ন প্রথম ঘটনার নিয়মিত অভিব্যক্তি মধ্যেsource
স্ট্রিং.
ব্যাকস্ল্যাশ regex
স্ট্রিং অতিরিক্ত ব্যাকস্ল্যাশ দিয়ে পালাতে হবে, উদাহরণস্বরূপ
আরও দেখুন
str.contains
str.substring
প্রথম ঘটনার অবস্থান প্রদান করেstr
মধ্যে স্ট্রিংsource
string,
str.pos(source, str)
রিটার্নরাষ্ট্রের অবস্থানstr
মধ্যে স্ট্রিংsource
string.
যুক্তি
source
(সারি স্ট্রিং) উৎস স্ট্রিং.str
(সারি স্ট্রিং) অনুসন্ধান করার জন্য সাবস্ট্রিং.মন্তব্যসমূহস্ট্রিং ইন্ডেক্সিং শূন্য থেকে শুরু হয়।
আরও দেখুন
str.contains
str.match
str.substring
একটি নতুন স্ট্রিং N + 1th ঘটনার সাথে ফেরত দেয়target
স্ট্রিং এবং পূর্ববর্তী ঘটনাtarget
স্ট্রিং দ্বারা প্রতিস্থাপিতreplacement
string, যেখানে N নির্দিষ্ট করা হয়occurrence
. N হ'ল উৎস স্ট্রিংয়ে প্রতিস্থাপিত হবার লক্ষ্য স্ট্রিংয়ের মিলের সূচক।
str.replace(source, target, replacement, occurrence)
উদাহরণ
var source = "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"
// Replace first occurrence of "EXCHANGE1" with "EXCHANGE2" replacement string
var newSource = str.replace(source, "EXCHANGE1", "EXCHANGE2", 0)
if barstate.islastconfirmedhistory
// Display "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"
runtime.log(newSource)
রিটার্নপ্রক্রিয়াকৃত স্ট্রিং।
যুক্তি
source
(সারি স্ট্রিং) উৎস স্ট্রিং.target
(সিরিজ স্ট্রিং) স্ট্রিং প্রতিস্থাপন করা হবে.replacement
(সিরিজ স্ট্রিং) লক্ষ্য স্ট্রিং এর পরিবর্তে স্ট্রিং সন্নিবেশ করানো হবে।occurrence
(series int) সোর্স স্ট্রিংয়ে প্রতিস্থাপিত লক্ষ্য স্ট্রিংয়ের উপস্থিতির মেলে এমন সূচক সূচক প্রথম মেলে 0 থেকে শুরু হয়। ঐচ্ছিক। ডিফল্ট মান 0।আরও দেখুন
str.replace_all
str.match
উৎস স্ট্রিং-এ লক্ষ্য স্ট্রিং-এর প্রতিটি ঘটনা প্রতিস্থাপন স্ট্রিং-এর সাথে প্রতিস্থাপন করে।
str.replace_all(source, target, replacement)
রিটার্নপ্রক্রিয়াকৃত স্ট্রিং।
যুক্তি
source
(সারি স্ট্রিং) উৎস স্ট্রিং.target
(সিরিজ স্ট্রিং) স্ট্রিং প্রতিস্থাপন করা হবে.replacement
(সিরিজ স্ট্রিং) লক্ষ্য স্ট্রিং এর প্রতিটি ঘটনার জন্য প্রতিস্থাপন করা স্ট্রিং।একটি স্ট্রিংকে সাবস্ট্রিংগুলির একটি অ্যারেতে বিভক্ত করে এবং এর অ্যারে আইডি প্রদান করে।
str.split(string, separator)
রিটার্নস্ট্রিং এর আইডি।
যুক্তি
string
(সারি স্ট্রিং) উৎস স্ট্রিং.separator
(সিরিজ স্ট্রিং) প্রতিটি সাবস্ট্রিং পৃথক স্ট্রিং.str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)
রিটার্নস্ট্রিং উপস্থাপনাvalue
তর্ক।
যদিvalue
আর্গুমেন্ট একটি স্ট্রিং, এটি যেমন আছে তেমনই ফেরত দেওয়া হয়।
যখনvalue
is na, ফাংশনটি স্ট্রিং
যুক্তি
value
(series int/float/bool/string/int[]/float[]/bool[]/string[]) মান বা অ্যারে আইডি যার উপাদানগুলি একটি স্ট্রিংয়ে রূপান্তরিত হয়।format
(সিরিজ স্ট্রিং) বিন্যাস স্ট্রিং. এই বিন্যাস গ্রহণ করে.* ধ্রুবকঃ format.mintick, format.percent, format.volume. ঐচ্ছিক. ডিফল্ট মান মন্তব্যসমূহফ্লোট মানগুলির ফর্ম্যাটিং প্রয়োজনীয় হলে সেই মানগুলিও বৃত্তাকার করবে, উদাহরণস্বরূপ str.tostring ((3.99,
ফাংশন রঙ প্রদত্ত রঙে নির্দিষ্ট স্বচ্ছতা প্রয়োগ করে।
color.new(color, transp)
উদাহরণ
plot(close, color=color.new(color.red, 50))
রিটার্ননির্দিষ্ট স্বচ্ছতার সাথে রঙ।
যুক্তি
color
(সারি রঙ)transp
(series int/float) সম্ভাব্য মান 0 (অস্বচ্ছ) থেকে 100 (অদৃশ্য) পর্যন্ত।মন্তব্যসমূহধ্রুবক নয় এমন আর্গুমেন্ট ব্যবহার করা (যেমন,
আরজিবি রঙের মডেল ব্যবহার করে স্বচ্ছতার সাথে একটি নতুন রঙ তৈরি করে।
color.rgb(red, green, blue, transp)
উদাহরণ
plot(close, color=color.rgb(255, 0, 0, 50))
রিটার্ননির্দিষ্ট স্বচ্ছতার সাথে রঙ।
যুক্তি
red
(সিরিজ int/float) লাল রঙের উপাদান। সম্ভাব্য মান 0 থেকে 255 পর্যন্ত।green
(সারি int/float) সবুজ রঙের উপাদান। সম্ভাব্য মান 0 থেকে 255 পর্যন্ত।blue
(সারি int/float) নীল রঙের উপাদান। সম্ভাব্য মান 0 থেকে 255 পর্যন্ত।transp
(সারি int/float) ঐচ্ছিক. রঙ স্বচ্ছতা. সম্ভাব্য মান 0 (অস্পষ্ট) থেকে 100 (অদৃশ্য) । ডিফল্ট মান 0।মন্তব্যসমূহধ্রুবক নয় এমন আর্গুমেন্ট ব্যবহার করা (যেমন,
কনসোলে ভেরিয়েবলের তথ্য মুদ্রণ করুন।
FMZ PINE ভাষার নির্দিষ্ট ফাংশন,runtime.debug(value)
, শুধু একটা যুক্তি দিয়ে।
লগ-এ আউটপুট সামগ্রী।
FMZ PINE ভাষার নির্দিষ্ট ফাংশন,runtime.log(1, 2, 3, close, high, ...)
, আপনি একাধিক আর্গুমেন্ট পাস করতে পারেন.
যখন কল করা হয়, তখন একটি রানটাইম ত্রুটির কারণ হয়message
argument.
runtime.error(message)
যুক্তিবার্তা (সিরিজ স্ট্রিং) ত্রুটি বার্তা।
আপনার স্ক্রিপ্টের সেটিংসের ইনপুট ট্যাবে একটি ইনপুট যোগ করে, যা আপনাকে স্ক্রিপ্ট ব্যবহারকারীদের কনফিগারেশন বিকল্পগুলি সরবরাহ করতে দেয়। এই ফাংশনটি স্বয়ংক্রিয়ভাবে
input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)
উদাহরণ
i_switch = input(true, "On/Off") // Set true, the default is checked.
plot(i_switch ? open : na)
i_len = input(7, "Length")
i_src = input(close, "Source") // Drop-down box, select close by default.
plot(ta.sma(i_src, i_len))
i_col = input(color.red, "Plot Color")
plot(close, color=i_col)
i_text = input("Hello!", "Message")
runtime.log(i_text)
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(const int/float/bool/string/color or source-type built-in) স্ক্রিপ্ট close
, hlc3
ইত্যাদি।title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।tooltip
(const string) যে স্ট্রিংটি ব্যবহারকারীর কাছে দেখানো হবে যখন টুলটিপ আইকনের উপর হিভার করা হবে।inline
(const string) একটি লাইনে একই আর্গুমেন্ট ব্যবহার করে সমস্ত ইনপুট কল একত্রিত করে। একটি আর্গুমেন্ট হিসাবে ব্যবহৃত স্ট্রিং প্রদর্শিত হয় না। এটি শুধুমাত্র একই লাইনের অন্তর্গত ইনপুট সনাক্ত করতে ব্যবহৃত হয়।group
(const string) একই গ্রুপ আর্গুমেন্ট স্ট্রিং ব্যবহার করে সমস্ত ইনপুটের উপরে একটি শিরোনাম তৈরি করে। স্ট্রিংটি শিরোনামের পাঠ্য হিসাবেও ব্যবহৃত হয়।মন্তব্যসমূহইনপুট ফাংশনের ফলাফল সর্বদা একটি ভেরিয়েবলকে বরাদ্দ করা উচিত, উপরের উদাহরণগুলি দেখুন।
আরও দেখুন
input.bool
input.color
input.int
input.float
input.string
input.timeframe
input.source
আপনার স্ক্রিপ্টের সেটিংসের ইনপুট ট্যাবে একটি ইনপুট যোগ করে, যা আপনাকে স্ক্রিপ্ট ব্যবহারকারীদের কনফিগারেশন বিকল্পগুলি সরবরাহ করতে দেয়। এই ফাংশনটি একটি ড্রপডাউন যুক্ত করে যা ব্যবহারকারীকে গণনার জন্য একটি উত্স নির্বাচন করতে দেয়, যেমন বন্ধ, hl2, ইত্যাদি। যদি স্ক্রিপ্টটিতে কেবলমাত্র একটি ইনপুট.সোর্স() কল অন্তর্ভুক্ত থাকে তবে ব্যবহারকারী তাদের চার্টের অন্য সূচক থেকে উত্স হিসাবে একটি আউটপুট নির্বাচন করতে পারেন।
input.source(defval, title, tooltip, inline, group)
উদাহরণ
i_src = input.source(close, "Source")
plot(i_src)
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(series int/float) স্ক্রিপ্টের title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।tooltip
(const string) যে স্ট্রিংটি ব্যবহারকারীর কাছে দেখানো হবে যখন টুলটিপ আইকনের উপর হিভার করা হবে।inline
(const string) একটি লাইনে একই আর্গুমেন্ট ব্যবহার করে সমস্ত ইনপুট কল একত্রিত করে। একটি আর্গুমেন্ট হিসাবে ব্যবহৃত স্ট্রিং প্রদর্শিত হয় না। এটি শুধুমাত্র একই লাইনের অন্তর্গত ইনপুট সনাক্ত করতে ব্যবহৃত হয়।group
(const string) একই গ্রুপ আর্গুমেন্ট স্ট্রিং ব্যবহার করে সমস্ত ইনপুটের উপরে একটি শিরোনাম তৈরি করে। স্ট্রিংটি শিরোনামের পাঠ্য হিসাবেও ব্যবহৃত হয়।মন্তব্যসমূহইনপুট.সোর্স ফাংশনের ফলাফল সর্বদা একটি ভেরিয়েবলকে নির্ধারিত করা উচিত, উপরের উদাহরণগুলি দেখুন।
আরও দেখুন
input.bool
input.int
input.float
input.string
input.timeframe
input.color
input
আপনার স্ক্রিপ্টের সেটিংসের ইনপুট ট্যাবে একটি ইনপুট যোগ করে, যা আপনাকে স্ক্রিপ্ট ব্যবহারকারীদের কনফিগারেশন বিকল্পগুলি সরবরাহ করতে দেয়। এই ফাংশনটি স্ক্রিপ্টের ইনপুটগুলিতে স্ট্রিং ইনপুটের জন্য একটি ক্ষেত্র যুক্ত করে।
input.string(defval, title, options, tooltip, inline, group, confirm)
উদাহরণ
i_text = input.string("Hello!", "Message")
runtime.log(i_text)
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(const string) স্ক্রিপ্টের options
যুক্তি, মান তাদের মধ্যে একটি হতে হবে.title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।options
(কনস্ট্যান্টের তালিকাঃ [< টাইপ>...]) বিকল্পগুলির একটি তালিকা।tooltip
(const string) যে স্ট্রিংটি ব্যবহারকারীর কাছে দেখানো হবে যখন টুলটিপ আইকনের উপর হিভার করা হবে।inline
(const string) একটি লাইনে একই আর্গুমেন্ট ব্যবহার করে সমস্ত ইনপুট কল একত্রিত করে। একটি আর্গুমেন্ট হিসাবে ব্যবহৃত স্ট্রিং প্রদর্শিত হয় না। এটি শুধুমাত্র একই লাইনের অন্তর্গত ইনপুট সনাক্ত করতে ব্যবহৃত হয়।group
(const string) একই গ্রুপ আর্গুমেন্ট স্ট্রিং ব্যবহার করে সমস্ত ইনপুটের উপরে একটি শিরোনাম তৈরি করে। স্ট্রিংটি শিরোনামের পাঠ্য হিসাবেও ব্যবহৃত হয়।confirm
(const bool) যদি true হয়, তাহলে চার্টে সূচক যোগ করার আগে ব্যবহারকারীকে ইনপুট মানটি নিশ্চিত করতে বলা হবে। ডিফল্ট মানটি মিথ্যা।মন্তব্যসমূহইনপুট.স্ট্রিং ফাংশনের ফলাফল সর্বদা একটি ভেরিয়েবলকে নির্ধারণ করা উচিত, উপরের উদাহরণগুলি দেখুন।
আরও দেখুন
input.bool
input.int
input.float
input.timeframe
input.source
input.color
input
আপনার স্ক্রিপ্টের সেটিংসের ইনপুট ট্যাবে একটি ইনপুট যোগ করে, যা আপনাকে স্ক্রিপ্ট ব্যবহারকারীদের কনফিগারেশন বিকল্পগুলি সরবরাহ করতে দেয়। এই ফাংশনটি স্ক্রিপ্টের ইনপুটগুলিতে একটি চেকমার্ক যুক্ত করে।
input.bool(defval, title, tooltip, inline, group, confirm)
উদাহরণ
i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(const bool) স্ক্রিপ্টের title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।tooltip
(const string) যে স্ট্রিংটি ব্যবহারকারীর কাছে দেখানো হবে যখন টুলটিপ আইকনের উপর হিভার করা হবে।inline
(const string) একটি লাইনে একই আর্গুমেন্ট ব্যবহার করে সমস্ত ইনপুট কল একত্রিত করে। একটি আর্গুমেন্ট হিসাবে ব্যবহৃত স্ট্রিং প্রদর্শিত হয় না। এটি শুধুমাত্র একই লাইনের অন্তর্গত ইনপুট সনাক্ত করতে ব্যবহৃত হয়।group
(const string) একই গ্রুপ আর্গুমেন্ট স্ট্রিং ব্যবহার করে সমস্ত ইনপুটের উপরে একটি শিরোনাম তৈরি করে। স্ট্রিংটি শিরোনামের পাঠ্য হিসাবেও ব্যবহৃত হয়।confirm
(const bool) যদি true হয়, তাহলে চার্টে সূচক যোগ করার আগে ব্যবহারকারীকে ইনপুট মানটি নিশ্চিত করতে বলা হবে। ডিফল্ট মানটি মিথ্যা।মন্তব্যসমূহইনপুট.বুল ফাংশনের ফলাফল সর্বদা একটি ভেরিয়েবলকে বরাদ্দ করা উচিত, উপরের উদাহরণগুলি দেখুন।
আরও দেখুন
input.int
input.float
input.string
input.timeframe
input.source
input.color
input
আপনার স্ক্রিপ্টের সেটিংসের ইনপুট ট্যাবে একটি ইনপুট যোগ করে, যা আপনাকে স্ক্রিপ্ট ব্যবহারকারীদের কনফিগারেশন বিকল্পগুলি সরবরাহ করতে দেয়। এই ফাংশনটি স্ক্রিপ্টের ইনপুটগুলিতে একটি পূর্ণসংখ্যা ইনপুটের জন্য একটি ক্ষেত্র যুক্ত করে।
input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.int(defval, title, options, tooltip, inline, group, confirm)
উদাহরণ
i_len1 = input.int(10, "Length 1", minval=5, maxval=21, step=1)
plot(ta.sma(close, i_len1))
i_len2 = input.int(10, "Length 2", options=[5, 10, 21])
plot(ta.sma(close, i_len2))
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(const int) স্ক্রিপ্টের options
যুক্তি, মান তাদের মধ্যে একটি হতে হবে.title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।minval
(const int) ইনপুট ভেরিয়েবলের সর্বনিম্ন সম্ভাব্য মান। ঐচ্ছিক।maxval
(const int) ইনপুট ভেরিয়েবলের সর্বোচ্চ সম্ভাব্য মান। ঐচ্ছিক।step
(const int) ইনপুট বৃদ্ধি / হ্রাস করার জন্য ব্যবহৃত পদক্ষেপ মান। ঐচ্ছিক। ডিফল্ট হল 1।options
[val1, val2,...]) একটি ড্রপডাউন মেনু থেকে বেছে নেওয়ার জন্য বিকল্পগুলির একটি তালিকা, কমা দ্বারা পৃথক এবং বর্গাকার বন্ধনীতে আবদ্ধঃ [val1, val2,...] এই যুক্তি ব্যবহার করার সময়,minval
, maxval
এবংstep
আর্গুমেন্ট ব্যবহার করা যাবে না.tooltip
(const string) যে স্ট্রিংটি ব্যবহারকারীর কাছে দেখানো হবে যখন টুলটিপ আইকনের উপর হিভার করা হবে।inline
(const string) একটি লাইনে একই আর্গুমেন্ট ব্যবহার করে সমস্ত ইনপুট কল একত্রিত করে। একটি আর্গুমেন্ট হিসাবে ব্যবহৃত স্ট্রিং প্রদর্শিত হয় না। এটি শুধুমাত্র একই লাইনের অন্তর্গত ইনপুট সনাক্ত করতে ব্যবহৃত হয়।group
(const string) একই গ্রুপ আর্গুমেন্ট স্ট্রিং ব্যবহার করে সমস্ত ইনপুটের উপরে একটি শিরোনাম তৈরি করে। স্ট্রিংটি শিরোনামের পাঠ্য হিসাবেও ব্যবহৃত হয়।confirm
(const bool) যদি true হয়, তাহলে চার্টে সূচক যোগ করার আগে ব্যবহারকারীকে ইনপুট মানটি নিশ্চিত করতে বলা হবে। ডিফল্ট মানটি মিথ্যা।মন্তব্যসমূহএর ফলাফলinput.intফাংশন সবসময় একটি পরিবর্তনশীল বরাদ্দ করা উচিত, উপরে উদাহরণ দেখুন।
আরও দেখুন
input.bool
input.float
input.string
input.timeframe
input.source
input.color
input
আপনার স্ক্রিপ্টের সেটিংসের ইনপুট ট্যাবে একটি ইনপুট যোগ করে, যা আপনাকে স্ক্রিপ্ট ব্যবহারকারীদের কনফিগারেশন বিকল্পগুলি সরবরাহ করতে দেয়। এই ফাংশনটি স্ক্রিপ্টের ইনপুটগুলিতে একটি ভাসমান ইনপুটের জন্য একটি ক্ষেত্র যুক্ত করে।
input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)
উদাহরণ
i_angle1 = input.float(0.5, "Sin Angle", minval=-3.14, maxval=3.14, step=0.02)
plot(math.sin(i_angle1) > 0 ? close : open, "sin", color=color.green)
i_angle2 = input.float(0, "Cos Angle", options=[-3.14, -1.57, 0, 1.57, 3.14])
plot(math.cos(i_angle2) > 0 ? close : open, "cos", color=color.red)
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(const int/float) স্ক্রিপ্টের options
যুক্তি, মান তাদের মধ্যে একটি হতে হবে.title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।minval
(const int/float) ইনপুট ভেরিয়েবলের সর্বনিম্ন সম্ভাব্য মান। ঐচ্ছিক।maxval
(const int/float) ইনপুট ভেরিয়েবলের সর্বোচ্চ সম্ভাব্য মান। ঐচ্ছিক।step
(const int/float) ইনপুট বাড়াতে বা হ্রাস করতে ব্যবহৃত ধাপের মান। ঐচ্ছিক। ডিফল্ট হল 1.options
(const int/float values এর টিপলঃ [val1, val2,...]) একটি ড্রপডাউন মেনু থেকে বেছে নেওয়ার জন্য বিকল্পগুলির একটি তালিকা, কমা দ্বারা পৃথক এবং বর্গাকার বন্ধনীতে সংযুক্তঃ [val1, val2,...] এই যুক্তি ব্যবহার করার সময়,minval
, maxval
এবংstep
আর্গুমেন্ট ব্যবহার করা যাবে না.tooltip
(const string) যে স্ট্রিংটি ব্যবহারকারীর কাছে দেখানো হবে যখন টুলটিপ আইকনের উপর হিভার করা হবে।inline
(const string) একটি লাইনে একই আর্গুমেন্ট ব্যবহার করে সমস্ত ইনপুট কল একত্রিত করে। একটি আর্গুমেন্ট হিসাবে ব্যবহৃত স্ট্রিং প্রদর্শিত হয় না। এটি শুধুমাত্র একই লাইনের অন্তর্গত ইনপুট সনাক্ত করতে ব্যবহৃত হয়।group
(const string) একই গ্রুপ আর্গুমেন্ট স্ট্রিং ব্যবহার করে সমস্ত ইনপুটের উপরে একটি শিরোনাম তৈরি করে। স্ট্রিংটি শিরোনামের পাঠ্য হিসাবেও ব্যবহৃত হয়।confirm
(const bool) যদি true হয়, তাহলে চার্টে সূচক যোগ করার আগে ব্যবহারকারীকে ইনপুট মানটি নিশ্চিত করতে বলা হবে। ডিফল্ট মানটি মিথ্যা।মন্তব্যসমূহইনপুট.ফ্লট ফাংশনের ফলাফল সর্বদা একটি ভেরিয়েবলকে বরাদ্দ করা উচিত, উপরের উদাহরণগুলি দেখুন।
আরও দেখুন
input.bool
input.int
input.string
input.timeframe
input.source
input.color
input
আপনার স্ক্রিপ্টের সেটিংসের ইনপুট ট্যাবে একটি ইনপুট যোগ করে, যা আপনাকে স্ক্রিপ্ট ব্যবহারকারীদের কনফিগারেশন বিকল্পগুলি সরবরাহ করতে দেয়। এই ফাংশনটি একটি রঙ পিকার যুক্ত করে যা ব্যবহারকারীকে একটি প্যালেট বা হেক্স মান থেকে একটি রঙ এবং স্বচ্ছতা নির্বাচন করতে দেয়।
input.color(defval, title, tooltip, inline, group, confirm)
উদাহরণ
i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(const color) স্ক্রিপ্টের title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।tooltip
(const string) যে স্ট্রিংটি ব্যবহারকারীর কাছে দেখানো হবে যখন টুলটিপ আইকনের উপর হিভার করা হবে।inline
(const string) একটি লাইনে একই আর্গুমেন্ট ব্যবহার করে সমস্ত ইনপুট কল একত্রিত করে। একটি আর্গুমেন্ট হিসাবে ব্যবহৃত স্ট্রিং প্রদর্শিত হয় না। এটি শুধুমাত্র একই লাইনের অন্তর্গত ইনপুট সনাক্ত করতে ব্যবহৃত হয়।group
(const string) একই গ্রুপ আর্গুমেন্ট স্ট্রিং ব্যবহার করে সমস্ত ইনপুটের উপরে একটি শিরোনাম তৈরি করে। স্ট্রিংটি শিরোনামের পাঠ্য হিসাবেও ব্যবহৃত হয়।confirm
(const bool) যদি true হয়, তাহলে চার্টে সূচক যোগ করার আগে ব্যবহারকারীকে ইনপুট মানটি নিশ্চিত করতে বলা হবে। ডিফল্ট মানটি মিথ্যা।মন্তব্যসমূহইনপুট.কলার ফাংশনের ফলাফল সর্বদা একটি ভেরিয়েবলকে নির্ধারণ করা উচিত, উপরের উদাহরণগুলি দেখুন।
আরও দেখুন
input.bool
input.int
input.float
input.string
input.timeframe
input.source
input
স্ক্রিপ্টের confirm = true
চার্টে ক্লিক করে একটি মূল্য নির্বাচন করা হয় যেখানে ইন্টারেক্টিভ ইনপুট মোড সক্রিয় করে।
input.price(defval, title, tooltip, inline, group, confirm)
উদাহরণ
price1 = input.price(title="Date", defval=42)
plot(price1)
price2 = input.price(54, title="Date")
plot(price2)
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(const int/float) স্ক্রিপ্টের title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।tooltip
(const string) যে স্ট্রিংটি ব্যবহারকারীর কাছে দেখানো হবে যখন টুলটিপ আইকনের উপর হিভার করা হবে।inline
(const string) একটি লাইনে একই আর্গুমেন্ট ব্যবহার করে সমস্ত ইনপুট কল একত্রিত করে। একটি আর্গুমেন্ট হিসাবে ব্যবহৃত স্ট্রিং প্রদর্শিত হয় না। এটি শুধুমাত্র একই লাইনের অন্তর্গত ইনপুট সনাক্ত করতে ব্যবহৃত হয়।group
(const string) একই গ্রুপ আর্গুমেন্ট স্ট্রিং ব্যবহার করে সমস্ত ইনপুটের উপরে একটি শিরোনাম তৈরি করে। স্ট্রিংটি শিরোনামের পাঠ্য হিসাবেও ব্যবহৃত হয়।confirm
(const bool) যদি সত্য হয়, ইন্টারেক্টিভ ইনপুট মোড সক্ষম করা হয় এবং চার্টে নির্দেশক যোগ করার সময় চার্টে ক্লিক করে বা নির্দেশক নির্বাচন করে এবং তারপরে নির্বাচনটি সরিয়ে দিয়ে নির্বাচন করা হয়। ঐচ্ছিক। ডিফল্টটি মিথ্যা।মন্তব্যসমূহইন্টারেক্টিভ মোড ব্যবহার করার সময়, একটি সময় ইনপুট একটি মূল্য ইনপুট সঙ্গে একত্রিত করা যেতে পারে যদি উভয় ফাংশন কল তাদের জন্য একই যুক্তি ব্যবহার করেinline
argument.
আরও দেখুন
input.bool
input.int
input.float
input.string
input.resolution
input.source
input.color
input
আপনার স্ক্রিপ্টের সেটিংসের ইনপুট ট্যাবে একটি ইনপুট যুক্ত করে, যা আপনাকে স্ক্রিপ্ট ব্যবহারকারীদের কনফিগারেশন বিকল্পগুলি সরবরাহ করতে দেয়। এই ফাংশনটি একটি ড্রপডাউন যুক্ত করে যা ব্যবহারকারীকে টাইমফ্রেম নির্বাচকের মাধ্যমে একটি নির্দিষ্ট সময়সীমা নির্বাচন করতে দেয় এবং এটি একটি স্ট্রিং হিসাবে ফেরত দেয়। নির্বাচকটিতে ব্যবহারকারী চার্টটি ব্যবহার করে কাস্টম টাইমফ্রেমগুলি অন্তর্ভুক্ত থাকতে পারে।
input.timeframe(defval, title, options, tooltip, inline, group, confirm)
উদাহরণ
i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M'])
s = request.security("syminfo.tickerid", i_res, close)
plot(s)
রিটার্নইনপুট ভেরিয়েবলের মান।
যুক্তি
defval
(const string) স্ক্রিপ্টের options
যুক্তি, মান তাদের মধ্যে একটি হতে হবে.title
(const string) ইনপুট শিরোনাম। যদি নির্দিষ্ট না করা হয়, ভেরিয়েবল নাম ইনপুট শিরোনাম হিসাবে ব্যবহৃত হয়। যদি শিরোনাম নির্দিষ্ট করা হয়, কিন্তু এটি খালি, নাম একটি খালি স্ট্রিং হবে।options
(টপ)ভিক্ষুককেন কৌশল স্কোয়ার অনুলিপি পাইন কৌশল বাস্তবায়ন করতে পারে না
উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নঠিক আছে, আমরা পরীক্ষা করে দেখি।
ভিক্ষুকচ্যাং সুপারড্যাং এর অপ্টিমাইজড ট্রেন্ড ট্র্যাকার
উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নহ্যালো, কোন কৌশলটি আপনি ব্যবহার করছেন?