فیلڈ اقدار میں ترمیم کریں
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.x کو تبدیل کرنے سے محور 1.x بھی بدل جاتا ہے ، کیونکہ دونوں ایک ہی آبجیکٹ کے ایکس فیلڈ کا حوالہ دیتے ہیں۔
اصل آبجیکٹ سے آزاد کاپی بنانے کے لئے ، اس معاملے میں ہم بلٹ ان کاپی ((() طریقہ استعمال کرسکتے ہیں۔ اس مثال میں ، ہم متغیر pivot2 کو pivot1 آبجیکٹ کی کاپی شدہ مثال کی نشاندہی کرنے کے لئے اعلان کرتے ہیں۔ اب ، pivot2.x کو تبدیل کرنے سے pivot1.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)
یہ نوٹ کیا جانا چاہئے کہ ٹریڈنگ ویو
گہری کاپی
//@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)
آپ دیکھ سکتے ہیں کہ صارف کی وضاحت کے طریقوں کے پیرامیٹر کی فہرست میں پہلا پیرامیٹر مطلوبہ الفاظ کے طریقہ کار کے ساتھ اعلان کیا: برقرار رکھیںQueue اور 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()
استعمال کیا جائے گا۔ ایف ایم زیڈ پلیٹ فارم پر ، چونکہ 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
(سادہ تار) درخواست کردہ ڈیٹا ماخذ یو آر ایل اور ڈیٹا ماخذ کے جواب کی ڈیٹا فارمیٹ کو ضروریات کو پورا کرنا ضروری ہے (جس میں کم از کم وقت اور ڈیٹا صفات شامل ہیں):{"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
(سادہ تار) صفات کا نام بتاتا ہے اور مطلوبہ ڈیٹا واپس کرتا ہے۔ مثال کے طور پر:"$.spot_close_price"
، استعمال$.
پہلے لفظ کے طور پر، اور صفت کا نام ڈیٹا کے میدان میں صفت کے ساتھ مطابقت رکھتا ہے جب ڈیٹا ماخذ کی درخواست میں جواب میں ڈیٹا
اگر ایک غلطی کے لئے کہا جاتا ہے، آپ کو چیک کرنے کی ضرورت ہے کہ آیا وقت کی حد کی طرف سے درخواست کیrequest.data
backtest کے لئے مقرر کردہ وقت کی حد کے مطابق ہے۔ اگر backtest وقت کی سیریز میں کوئی ڈیٹا نہیں پوچھا جاسکتا ہے تو ، ایک غلطی کی اطلاع دی جائے گی۔
اس مثال میں ڈیٹا-ڈیٹا ڈیٹا استفسار SQL بیان ہے:
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
(سیریز int/float/bool/color) ایک اظہار کا حساب لگایا جاسکتا ہے اور request.security کال سے واپس کیا جاسکتا ہے۔ یہ ایک سیریز یا ٹپل ہوسکتا ہے جس میں عناصر شامل ہوں جو سیریز میں ڈالے جاسکتے ہیں۔gaps
(barmerge_gaps) مطلوبہ اعداد و شمار کے لئے ضم کرنے کی حکمت عملی (مطلوبہ اعداد و شمار خود بخود مرکزی سیریز OHLC ڈیٹا کے ساتھ ضم ہوجاتے ہیں۔ ممکنہ اقدار: barmerge.gaps_on ، barmerge.gaps_off۔ barmerge.gaps_on - مطلوبہ اعداد و شمار کو ممکنہ خلاؤں (na اقدار) کے ساتھ ضم کیا جاتا ہے۔ barmerge.gaps_off - مطلوبہ اعداد و شمار کو بغیر کسی خلا کے مستقل طور پر ضم کیا جاتا ہے ، تمام خلاؤں کو پچھلی قریب ترین موجودہ اقدار سے بھرا جاتا ہے۔ ڈیفالٹ قیمت barmerge.gaps_off ہے۔lookahead
(barmerge_lookahead) مطلوبہ ڈیٹا پوزیشن کے لئے ضم کرنے کی حکمت عملی۔ ممکنہ اقدار: barmerge.lookahead_on ، barmerge.lookahead_off۔ ورژن 3 سے شروع ہونے والا ڈیفالٹ ویلیو barmerge.lookahead_off ہے۔ نوٹ کریں کہ رویہ ریئل ٹائم پر ایک جیسا ہے ، اور صرف تاریخ پر مختلف ہے۔ignore_invalid_symbol
(const bool) ایک اختیاری دلیل۔ اگر مخصوص علامت نہیں ملتی ہے تو فنکشن کے رویے کا تعین کرتی ہے۔ اگر غلط ہے تو ، اسکرپٹ رک جائے گا اور رن ٹائم غلطی واپس کرے گا۔ اگر سچ ہے تو ، فنکشن واپس آئے گا اور عملدرآمد جاری رہے گا۔ ڈیفالٹ ویلیو غلط ہے۔currency
(سادہ تار) وہ کرنسی جس میں علامت کے کرنسی سے متعلق اقدار (جیسے OHLC) کو تبدیل کیا جانا ہے۔expression
اس کے بعد تبدیل شدہ اقدار کی بنیاد پر حساب لگایا جاتا ہے۔ استعمال شدہ تبادلوں کی شرحیں پچھلے دن کی FX_IDC جوڑوںتبصرےپائن اسکرپٹ کوڈ جو اس فنکشن کا استعمال کرتا ہے تاریخ اور حقیقی وقت کے اعداد و شمار پر مختلف طریقے سے حساب کرسکتا ہے.
اگر آپ مطلوبہ علامت کے لئے اضافی دلیلوں کی وضاحت کرنا چاہتے ہیں، مثال کے طور پر سیشن یا ایڈجسٹمنٹ کی قسم، آپ کو استعمال کر سکتے ہیںticker.new() فنکشن.
قرارداد دلیل کی اجازت شدہ اقدار ہیں: 1S، 5S، 15S، 30S - سیکنڈ کے وقفے کے لئے (گراف کی قرارداد مطلوبہ قرارداد سے کم یا برابر ہونا چاہئے) منٹ کے لئے 1 سے 1440 تک دن کے لئے 1D سے 365D تک ہفتوں تک 1W سے 52W تک ماہ کے لئے 1M سے 12M تک
یہ بھی ملاحظہ کریں
syminfo.ticker
syminfo.tickerid
timeframe.period
ta.correlation
barmerge.lookahead_off
barmerge.lookahead_on
درست لوٹاتا ہے اگر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
درست لوٹاتا ہے اگرsource
سٹرنگ میں مخصوص ذیلی سٹرنگ کے ساتھ ختم ہوتا ہےstr
، جھوٹا دوسری صورت میں.
str.endswith(source, str)
واپسیسچ ہے اگرsource
سٹرنگ میں مخصوص ذیلی سٹرنگ کے ساتھ ختم ہوتا ہےstr
، جھوٹا دوسری صورت میں.
دلائل
source
(سلسلہ تار) ماخذ تار.str
(سیریز سٹرنگ) تلاش کرنے کے لئے ذیلی سٹرنگ.یہ بھی ملاحظہ کریں
str.startswith
درست لوٹاتا ہے اگرsource
string میں مخصوص ذیلی string کے ساتھ شروع ہوتا ہےstr
، جھوٹا دوسری صورت میں.
str.startswith(source, str)
واپسیسچ ہے اگرsource
string میں مخصوص ذیلی string کے ساتھ شروع ہوتا ہے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
(سیریز انٹ) نکالے گئے سب سٹرنگ کی ابتدائی پوزیشن۔ یہ شامل ہے ( نکالے گئے سب سٹرنگ میں اس پوزیشن میں کردار شامل ہے) ۔end_pos
(سیریز انٹ) اختتامی پوزیشن۔ یہ خصوصی ہے (خراب شدہ تار میں اس پوزیشنsource
string.تبصرےسٹرنگ انڈیکسنگ 0 سے شروع ہوتا ہے اگرbegin_pos
کے برابر ہےend_pos
، فنکشن ایک خالی تار واپس کرتا ہے.
یہ بھی ملاحظہ کریں
str.contains
str.pos
str.match
str.tonumber(string)
واپسیایک فلوٹ ورژن اگر اس میں ایک درست نمبر شامل ہے، یا دوسری صورت میں.
دلائل
string
(سیریز سٹرنگ) ایک int یا فلوٹ کی سٹرنگ نمائندگی.فارمیٹنگ سٹرنگ اور ویلیو ((s) کو فارمیٹڈ سٹرنگ میں تبدیل کرتا ہے۔ فارمیٹنگ سٹرنگ میں ہر فارمیٹ ہونے والی قدر کے لئے لفظی متن اور ایک پلیس ہولڈر کرلی بریکٹ {} میں شامل ہوسکتا ہے۔ ہر پلیس ہولڈر میں مطلوبہ دلیل کا انڈیکس ہوتا ہے (جو 0 سے شروع ہوتا ہے) جو اس کی جگہ لے گا ، اور ایک اختیاری فارمیٹ وضاحت کنندہ۔ انڈیکس اس دلیل کی پوزیشن کی نمائندگی کرتا ہے 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
string اضافی backslash کے ساتھ فرار ہونے کی ضرورت ہے، مثال کے طور پر
یہ بھی ملاحظہ کریں
str.contains
str.substring
پہلی بار کے واقع ہونے کی پوزیشن لوٹاتا ہےstr
میں تارsource
string،
str.pos(source, str)
واپسیریاست کا موقفstr
میں تارsource
string.
دلائل
source
(سلسلہ تار) ماخذ تار.str
(سیریز سٹرنگ) تلاش کرنے کے لئے ذیلی سٹرنگ.تبصرےسٹرنگ انڈیکسنگ 0 سے شروع ہوتی ہے۔
یہ بھی ملاحظہ کریں
str.contains
str.match
str.substring
N + 1th واقعہ کے ساتھ ایک نئی تار لوٹاتا ہےtarget
تار اور کی سابقہ واقعtarget
سٹرنگ کی جگہreplacement
تار، جہاں 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
(سیریز انٹ) ماخذ سٹرنگ میں تبدیل کرنے کے لئے ہدف سٹرنگ کی موجودگی کا مماثلت انڈیکسنگ پہلی میچ کے لئے 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
ہے na، فنکشن تار واپس کرتا ہے
دلائل
value
(سیریز int/float/bool/string/int[]/float[]/bool[]/string[]) قدر یا صف ID جس کے عناصر کو ایک تار میں تبدیل کر رہے ہیں.format
(سیریز سٹرنگ) فارمیٹ سٹرنگ۔ ان فارمیٹ کو قبول کرتا ہے۔ * مستقل: فارمیٹ.منٹیک ، فارمیٹ.فیصد ، فارمیٹ.جلد۔ اختیاری۔ ڈیفالٹ ویلیو تبصرےفلوٹ ویلیوز کی فارمیٹنگ بھی ضرورت پڑنے پر ان اقدار کو راؤنڈ کرے گی، مثال کے طور پر str.tostring ((3.99،
فنکشن رنگ مخصوص شفافیت کو دیئے گئے رنگ پر لاگو کرتا ہے.
color.new(color, transp)
مثال
plot(close, color=color.new(color.red, 50))
واپسیمخصوص شفافیت کے ساتھ رنگ
دلائل
color
(سیریز کا رنگ)transp
(سیریز int/float) ممکنہ اقدار 0 (غیر شفاف) سے 100 (غیر مرئی) تک ہیں۔تبصرےاگر آپ کسی ایسے آرگیومنٹ کا استعمال کرتے ہیں جو مستقل نہیں ہے (جیسے
RGB رنگ ماڈل کا استعمال کرتے ہوئے شفافیت کے ساتھ ایک نیا رنگ بناتا ہے.
color.rgb(red, green, blue, transp)
مثال
plot(close, color=color.rgb(255, 0, 0, 50))
واپسیمخصوص شفافیت کے ساتھ رنگ
دلائل
red
(سیریز int/float) سرخ رنگ کا جزو۔ ممکنہ اقدار 0 سے 255 تک ہیں۔green
(سیریز انٹ / فلوٹ) سبز رنگ کا جزو۔ ممکنہ اقدار 0 سے 255 تک ہیں۔blue
(سیریز انٹ / فلوٹ) نیلے رنگ کا جزو۔ ممکنہ اقدار 0 سے 255 تک ہیں۔transp
(سیریز انٹ / فلوٹ) اختیاری۔ رنگ کی شفافیت۔ ممکنہ اقدار 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
آپ کے اسکرپٹ کی ترتیبات کے ان پٹ ٹیب میں ایک ان پٹ شامل کرتا ہے ، جو آپ کو اسکرپٹ صارفین کو تشکیل کے اختیارات فراہم کرنے کی اجازت دیتا ہے۔ یہ فنکشن ایک ڈراپ ڈاؤن شامل کرتا ہے جو صارف کو حساب کتاب کے لئے کسی ماخذ کا انتخاب کرنے کی اجازت دیتا ہے ، جیسے قریب ، ایچ ایل 2 ، وغیرہ۔ اگر اسکرپٹ میں صرف ایک ان پٹ.سورس (()) کال شامل ہے تو ، صارف اپنے چارٹ پر کسی دوسرے اشارے سے آؤٹ پٹ کو بھی ماخذ کے طور پر منتخب کرسکتا ہے۔
input.source(defval, title, tooltip, inline, group)
مثال
i_src = input.source(close, "Source")
plot(i_src)
واپسیان پٹ متغیر کی قدر.
دلائل
defval
(سیریز 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) اگر درست ہے تو ، صارف سے چارٹ میں اشارے کو شامل کرنے سے پہلے ان پٹ ویلیو کی تصدیق کرنے کے لئے کہا جائے گا۔ ڈیفالٹ ویلیو غلط ہے۔تبصرےinput.string فنکشن کا نتیجہ ہمیشہ متغیر کو تفویض کیا جانا چاہئے ، اوپر کی مثالیں دیکھیں۔
یہ بھی ملاحظہ کریں
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) اگر درست ہے تو ، صارف سے چارٹ میں اشارے کو شامل کرنے سے پہلے ان پٹ ویلیو کی تصدیق کرنے کے لئے کہا جائے گا۔ ڈیفالٹ ویلیو غلط ہے۔تبصرےان پٹ.بول فنکشن کا نتیجہ ہمیشہ متغیر کو تفویض کیا جانا چاہئے ، اوپر کی مثالیں دیکھیں۔
یہ بھی ملاحظہ کریں
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
(const int اقدار کی ایک جوڑی: [val1، val2،...]) ایک ڈراپ ڈاؤن مینو سے منتخب کرنے کے لئے اختیارات کی ایک فہرست، کوما کی طرف سے الگ اور مربع قوسین میں شامل: [val1، val2،...].minval
, maxval
اورstep
دلیلوں کا استعمال نہیں کیا جا سکتا.tooltip
(const string) اس تار کو جو صارف کو دکھایا جائے گا جب وہ ٹول ٹپ آئیکن پر ہوور کرے گا۔inline
(const string) ایک لائن میں ایک ہی دلیل کا استعمال کرتے ہوئے تمام ان پٹ کالوں کو یکجا کرتا ہے۔ دلیل کے طور پر استعمال ہونے والی تار کو ظاہر نہیں کیا جاتا ہے۔ یہ صرف اسی لائن سے تعلق رکھنے والے ان پٹ کی نشاندہی کرنے کے لئے استعمال ہوتا ہے۔group
(const string) ایک ہی گروپ دلیل سٹرنگ کا استعمال کرتے ہوئے تمام ان پٹ کے اوپر ہیڈر بناتا ہے۔ اس سٹرنگ کو ہیڈرconfirm
(const bool) اگر درست ہے تو ، صارف سے چارٹ میں اشارے کو شامل کرنے سے پہلے ان پٹ ویلیو کی تصدیق کرنے کے لئے کہا جائے گا۔ ڈیفالٹ ویلیو غلط ہے۔تبصرےنتیجہ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 اقدار کی ایک جوڑی: [val1, val2,...]) ایک ڈراپ ڈاؤن مینو میں سے منتخب کرنے کے لئے اختیارات کی ایک فہرست، کوما کی طرف سے الگ اور مربع قوسین میں شامل: [val1, val2,...].minval
, maxval
اورstep
دلیلوں کا استعمال نہیں کیا جا سکتا.tooltip
(const string) اس تار کو جو صارف کو دکھایا جائے گا جب وہ ٹول ٹپ آئیکن پر ہوور کرے گا۔inline
(const string) ایک لائن میں ایک ہی دلیل کا استعمال کرتے ہوئے تمام ان پٹ کالوں کو یکجا کرتا ہے۔ دلیل کے طور پر استعمال ہونے والی تار کو ظاہر نہیں کیا جاتا ہے۔ یہ صرف اسی لائن سے تعلق رکھنے والے ان پٹ کی نشاندہی کرنے کے لئے استعمال ہوتا ہے۔group
(const string) ایک ہی گروپ دلیل سٹرنگ کا استعمال کرتے ہوئے تمام ان پٹ کے اوپر ہیڈر بناتا ہے۔ اس سٹرنگ کو ہیڈرconfirm
(const bool) اگر درست ہے تو ، صارف سے چارٹ میں اشارے کو شامل کرنے سے پہلے ان پٹ ویلیو کی تصدیق کرنے کے لئے کہا جائے گا۔ ڈیفالٹ ویلیو غلط ہے۔تبصرےinput.float فنکشن کا نتیجہ ہمیشہ متغیر کو تفویض کیا جانا چاہئے، اوپر مثالیں دیکھیں.
یہ بھی ملاحظہ کریں
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) اگر درست ہے تو ، صارف سے چارٹ میں اشارے کو شامل کرنے سے پہلے ان پٹ ویلیو کی تصدیق کرنے کے لئے کہا جائے گا۔ ڈیفالٹ ویلیو غلط ہے۔تبصرےinput.color فنکشن کا نتیجہ ہمیشہ متغیر کو تفویض کیا جانا چاہئے ، اوپر کی مثالیں دیکھیں۔
یہ بھی ملاحظہ کریں
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
(ٹپ)بھیک مانگنے والاکیوں حکمت عملی اسکوائر کاپی پائن کی حکمت عملی نہیں کر سکتے ہیں
ایجاد کاروں کی مقدار - خواباچھا، ہم چیک کریں گے۔
بھیک مانگنے والاچانگ سپر ڈائیونگ کا اصلاح شدہ رجحان ٹریکر
ایجاد کاروں کی مقدار - خوابہیلو ، براہ کرم بتائیں کہ آپ کی حکمت عملی کیا ہے؟