وسائل لوڈ ہو رہے ہیں... لوڈنگ...

FMZ PINE اسکرپٹ Doc

مصنف:ایجاد کاروں کی مقدار - خواب, تخلیق: 2022-04-28 16:05:05, تازہ کاری: 2024-10-12 17:25:27

فیلڈ اقدار میں ترمیم کریں

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.

صارف کے متعین کردہ طریقے

پائن صارفین کو کسٹم طریقوں کی وضاحت کرنے کی اجازت دیتا ہے جو کسی بھی بلٹ ان یا صارف کے ذریعہ بیان کردہ قسم کے اشیاء کے ساتھ کام کرتے ہیں۔ کسی طریقہ کار کی وضاحت بنیادی طور پر کسی فنکشن کی وضاحت کے برابر ہے ، جس میں دو اہم اختلافات ہیں:

  1. طریقہ کلیدی لفظ کو فنکشن کے نام سے پہلے شامل کیا جانا چاہئے.
  2. طریقہ کار کے پہلے پیرامیٹر کی قسم کو واضح طور پر بیان کیا جانا چاہئے کیونکہ یہ اس قسم کے اعتراض کی نمائندگی کرتا ہے جس سے طریقہ کار منسلک کیا جائے گا.

مثال کے طور پر ، مندرجہ ذیل کوڈ میں بولنگر اشارے کے حساب کے لئے کوڈ کو صارف کے ذریعہ بیان کردہ طریقہ کے طور پر جوڑا گیا ہے:

//@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.in_seconds وقت کا فریم۔_سیکنڈ میں

منتقل وقت کی مدت میں تبدیل کریں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>= 1M فنکشن ماہ میں 30.4167 (365/12) دنوں کی بنیاد پر سیکنڈ کی تعداد کا حساب لگاتا ہے۔

یہ بھی ملاحظہ کریں input.timeframe timeframe.period

ٹکر

ticker.heikinashi

ایک ہموار اوسط 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

بیرونی ڈیٹا کی درخواست کریں.

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.databacktest کے لئے مقرر کردہ وقت کی حد کے مطابق ہے۔ اگر 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

ایک اور قسم / قرارداد کے لئے پوچھیں.

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 جوڑوں روزانہ کی شرحوں پر مبنی ہیں۔ اختیاری۔ ڈیفالٹ syminfo.currency ہے۔ ممکنہ اقدار: آئی ایس او 4217 فارمیٹ میں کرنسی کوڈ کے ساتھ ایک تین حروف کا تار (مثال کے طور پر USD) یا کرنسی میں سے ایک مستقل.* نام کی جگہ ، مثال کے طور پر currency.USD۔

تبصرےپائن اسکرپٹ کوڈ جو اس فنکشن کا استعمال کرتا ہے تاریخ اور حقیقی وقت کے اعداد و شمار پر مختلف طریقے سے حساب کرسکتا ہے. اگر آپ مطلوبہ علامت کے لئے اضافی دلیلوں کی وضاحت کرنا چاہتے ہیں، مثال کے طور پر سیشن یا ایڈجسٹمنٹ کی قسم، آپ کو استعمال کر سکتے ہیںticker.new() فنکشن. ticker متغیر کا استعمال کرتے ہوئے اس فنکشن میں پھیلاؤ منتقل کرنا ممکن نہیں ہے۔ آپ استعمال کرسکتے ہیںticker.new متغیر یا ٹکر کی ایک تار نمائندگی، مثال کے طور پر AAPL+MSFT*TSLA. فی الحال، ایک اسکرپٹ میں 40 تک request.security کالز موجود ہوسکتی ہیں۔ براہ کرم نوٹ کریں کہ اس متغیر/فنکشن کا استعمال اشارے کو دوبارہ پینٹ کرنے کا سبب بن سکتا ہے۔

قرارداد دلیل کی اجازت شدہ اقدار ہیں: 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

str

str.contains

درست لوٹاتا ہے اگر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

str.endswith

درست لوٹاتا ہے اگرsourceسٹرنگ میں مخصوص ذیلی سٹرنگ کے ساتھ ختم ہوتا ہےstr، جھوٹا دوسری صورت میں.

str.endswith(source, str)

واپسیسچ ہے اگرsourceسٹرنگ میں مخصوص ذیلی سٹرنگ کے ساتھ ختم ہوتا ہےstr، جھوٹا دوسری صورت میں.

دلائل

  • source(سلسلہ تار) ماخذ تار.
  • str(سیریز سٹرنگ) تلاش کرنے کے لئے ذیلی سٹرنگ.

یہ بھی ملاحظہ کریں str.startswith

str.startswith

درست لوٹاتا ہے اگرsourcestring میں مخصوص ذیلی string کے ساتھ شروع ہوتا ہےstr، جھوٹا دوسری صورت میں.

str.startswith(source, str)

واپسیسچ ہے اگرsourcestring میں مخصوص ذیلی string کے ساتھ شروع ہوتا ہےstr، جھوٹا دوسری صورت میں.

دلائل

  • source(سلسلہ تار) ماخذ تار.
  • str(سیریز سٹرنگ) تلاش کرنے کے لئے ذیلی سٹرنگ.

یہ بھی ملاحظہ کریں str.endswith

str.substring

ایک نئی تار واپس کرتا ہے جو کہ ایک ذیلی تار ہےsourceسٹرنگ. سبسٹرنگ اشاریہ کی طرف سے مخصوص کردار کے ساتھ شروع ہوتا ہےbegin_posاور end_pos - 1 تک پھیلا ہوا ہے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(سیریز انٹ) اختتامی پوزیشن۔ یہ خصوصی ہے (خراب شدہ تار میں اس پوزیشنs کردار شامل نہیں ہے۔ اختیاری۔ ڈیفالٹ لمبائی ہےsource string.

تبصرےسٹرنگ انڈیکسنگ 0 سے شروع ہوتا ہے اگرbegin_posکے برابر ہےend_pos، فنکشن ایک خالی تار واپس کرتا ہے.

یہ بھی ملاحظہ کریں str.contains str.pos str.match

str.tonumber

str.tonumber(string)

واپسیایک فلوٹ ورژن اگر اس میں ایک درست نمبر شامل ہے، یا دوسری صورت میں.

دلائل

  • string(سیریز سٹرنگ) ایک int یا فلوٹ کی سٹرنگ نمائندگی.

str.format

فارمیٹنگ سٹرنگ اور ویلیو ((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[]) فارمیٹ کرنے کے لئے اقدار.

تبصرےکسی بھی غیر منقولہ پیٹرن کے اندر کوئی بھی کرلی بریس متوازن ہونا ضروری ہے۔ مثال کے طور پر ، ab {0} de اور ab } de درست پیٹرن ہیں ، لیکن ab {0} de ، ab } de اور { نہیں ہیں۔

str.length

اس تار میں حروف کی تعداد کے مطابق ایک عدد لوٹاتا ہے.

str.length(string)

واپسیماخذ سٹرنگ میں حروف کی تعداد.

دلائل

  • string(سلسلہ تار) ماخذ تار.

str.lower

تمام حروف کو چھوٹے حروف میں تبدیل کرنے کے ساتھ ایک نئی تار لوٹاتا ہے.

str.lower(source)

واپسیتمام حروف کو چھوٹے حروف میں تبدیل کرنے کے ساتھ ایک نئی تار.

دلائل

  • source(سلسلہ تار) تبدیل کرنے کے لئے تار.

یہ بھی ملاحظہ کریں str.upper

str.upper

تمام حروف کو بڑے حروف میں تبدیل کرنے کے ساتھ ایک نئی تار لوٹاتا ہے.

str.upper(source)

واپسیتمام حروف کو بڑے حروف میں تبدیل کرنے کے ساتھ ایک نئی تار.

دلائل

  • source(سلسلہ تار) تبدیل کرنے کے لئے تار.

یہ بھی ملاحظہ کریں str.lower

str.match

کی نئی ذیلی تار لوٹاتا ہےsourceتار اگر یہ ایک سے میل کھاتا ہےregexباقاعدہ اظہار، na دوسری صورت میں.

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باقاعدہ اظہار، na دوسری صورت میں.

دلائل

  • source(سلسلہ تار) ماخذ تار.
  • regex(سیریز سٹرنگ) باقاعدہ اظہار جس سے یہ سٹرنگ مماثل ہونا ہے.

تبصرےتقریب میں باقاعدہ اظہار کی پہلی بار ظاہر ہوتا ہے لوٹاتاsourceتار. علامتregexstring اضافی backslash کے ساتھ فرار ہونے کی ضرورت ہے، مثال کے طور پر \d باقاعدہ اظہار \d کے لئے کھڑا ہے.

یہ بھی ملاحظہ کریں str.contains str.substring

str.pos

پہلی بار کے واقع ہونے کی پوزیشن لوٹاتا ہےstrمیں تارsourcestring، na دوسری صورت میں.

str.pos(source, str)

واپسیریاست کا موقفstrمیں تارsource string.

دلائل

  • source(سلسلہ تار) ماخذ تار.
  • str(سیریز سٹرنگ) تلاش کرنے کے لئے ذیلی سٹرنگ.

تبصرےسٹرنگ انڈیکسنگ 0 سے شروع ہوتی ہے۔

یہ بھی ملاحظہ کریں str.contains str.match str.substring

str.replace

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

ماخذ سٹرنگ میں ہدف سٹرنگ کے ہر واقعے کو متبادل سٹرنگ کے ساتھ تبدیل کرتا ہے۔

str.replace_all(source, target, replacement)

واپسیعملدرآمد تار.

دلائل

  • source(سلسلہ تار) ماخذ تار.
  • target(سیریز سٹرنگ) سٹرنگ تبدیل کرنے کے لئے.
  • replacement(سیریز سٹرنگ) ہدف سٹرنگ کے ہر واقعے کے لئے متبادل سٹرنگ.

str.split

ایک تار کو ذیلی تاروں کی صف میں تقسیم کرتا ہے اور اس کی صف کی شناخت واپس کرتا ہے۔

str.split(string, separator)

واپسیتاروں کی ایک صف کی شناخت.

دلائل

  • string(سلسلہ تار) ماخذ تار.
  • separator(سیریز سٹرنگ) ہر ذیلی سٹرنگ کو الگ کرنے والی سٹرنگ.

str.tostring

str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)

واپسیکی سٹرنگ نمائندگیvalueبحث. اگرvalueدلیل ایک تار ہے، یہ ہے کے طور پر واپس کیا جاتا ہے. جبvalueہے na، فنکشن تار واپس کرتا ہے NaN.

دلائل

  • value(سیریز int/float/bool/string/int[]/float[]/bool[]/string[]) قدر یا صف ID جس کے عناصر کو ایک تار میں تبدیل کر رہے ہیں.
  • format(سیریز سٹرنگ) فارمیٹ سٹرنگ۔ ان فارمیٹ کو قبول کرتا ہے۔ * مستقل: فارمیٹ.منٹیک ، فارمیٹ.فیصد ، فارمیٹ.جلد۔ اختیاری۔ ڈیفالٹ ویلیو # ہے۔########### ہے۔

تبصرےفلوٹ ویلیوز کی فارمیٹنگ بھی ضرورت پڑنے پر ان اقدار کو راؤنڈ کرے گی، مثال کے طور پر str.tostring ((3.99، #) 4 واپس کرے گا۔ پچھلے صفروں کو ظاہر کرنے کے لئے ، # کی بجائے 0 استعمال کریں۔ مثال کے طور پر ، #.000۔ جب format.mintick استعمال کیا جاتا ہے تو ، قدر کو قریب ترین نمبر تک گول کردیا جائے گا جو باقی کے بغیر syminfo.mintick کے ذریعہ تقسیم کیا جاسکتا ہے۔ تار کو پچھلے صفر کے ساتھ واپس کیا جاتا ہے۔ اگر x دلیل ایک تار ہے، اسی تار قدر واپس کیا جائے گا. بول ٹائپ دلیلیں true یا false لوٹاتی ہیں۔ جب x na ہوتا ہے تو ، فنکشن NaN لوٹاتا ہے۔

رنگ

color.new

فنکشن رنگ مخصوص شفافیت کو دیئے گئے رنگ پر لاگو کرتا ہے.

color.new(color, transp)

مثال

plot(close, color=color.new(color.red, 50))

واپسیمخصوص شفافیت کے ساتھ رنگ

دلائل

  • color(سیریز کا رنگ)
  • transp(سیریز int/float) ممکنہ اقدار 0 (غیر شفاف) سے 100 (غیر مرئی) تک ہیں۔

تبصرےاگر آپ کسی ایسے آرگیومنٹ کا استعمال کرتے ہیں جو مستقل نہیں ہے (جیسے simple، input یا series) تو اس کا اثر اسکرپٹ کے Settings/Style ٹیب میں دکھائے جانے والے رنگوں پر پڑے گا۔ مزید معلومات کے لیے صارف دستی دیکھیں۔

color.rgb

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 ہے۔

تبصرےاگر آپ کسی ایسے آرگیومنٹ کا استعمال کرتے ہیں جو مستقل نہیں ہے (جیسے simple، input یا series) تو اس کا اثر اسکرپٹ کے Settings/Style ٹیب میں دکھائے جانے والے رنگوں پر پڑے گا۔ مزید معلومات کے لیے صارف دستی دیکھیں۔

رن ٹائم

runtime.debug

کنسول پر متغیر کی معلومات پرنٹ کریں.

FMZ PINE زبان کے مخصوص افعال،runtime.debug(value)، صرف ایک بحث کے ساتھ.

runtime.log

لاگ میں آؤٹ پٹ مواد.

FMZ PINE زبان کے مخصوص افعال،runtime.log(1, 2, 3, close, high, ...)، آپ کو متعدد دلائل منتقل کر سکتے ہیں.

runtime.error

جب بلایا جاتا ہے تو، ایک رن ٹائم غلطی کا سبب بنتا ہےmessage argument.

runtime.error(message)

دلائلپیغام (سیریز سٹرنگ) غلطی کا پیغام.

ان پٹ

ان پٹ

آپ کے اسکرپٹ کی ترتیبات کے ان پٹ ٹیب میں ان پٹ شامل کرتا ہے ، جو آپ کو اسکرپٹ صارفین کو ترتیب کے اختیارات فراہم کرنے کی اجازت دیتا ہے۔ یہ فنکشن خود بخود defval کے لئے استعمال ہونے والی دلیل کی قسم کا پتہ لگاتا ہے اور اس کے مطابق ان پٹ ویجیٹ استعمال کرتا ہے۔

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) اسکرپٹ s Settings/Inputs ٹیب میں تجویز کردہ ان پٹ متغیر کی ڈیفالٹ قیمت کا تعین کرتا ہے ، جہاں سے اسکرپٹ صارفین اسے تبدیل کرسکتے ہیں۔ سورس ٹائپ بلٹ انز بلٹ ان سیریز فلوٹ متغیرات ہیں جو حساب کتاب کا ذریعہ بتاتے ہیں: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

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

آپ کے اسکرپٹ کی ترتیبات کے ان پٹ ٹیب میں ان پٹ شامل کرتا ہے ، جو آپ کو اسکرپٹ صارفین کو ترتیب کے اختیارات فراہم کرنے کی اجازت دیتا ہے۔ یہ فنکشن اسکرپٹ کے ان پٹ میں تار ان پٹ کے لئے ایک فیلڈ شامل کرتا ہے۔

input.string(defval, title, options, tooltip, inline, group, confirm)

مثال

i_text = input.string("Hello!", "Message")
runtime.log(i_text)

واپسیان پٹ متغیر کی قدر.

دلائل

  • defval(const string) اسکرپٹ s Settings/Inputs ٹیب میں تجویز کردہ ان پٹ متغیر کی ڈیفالٹ قیمت کا تعین کرتا ہے ، جہاں سے صارف اسے تبدیل کرسکتا ہے۔ جب اقدار کی فہرست کو اسکرپٹ کے ساتھ استعمال کیا جاتا ہے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

آپ کے اسکرپٹ کی ترتیبات کے ان پٹ ٹیب میں ایک ان پٹ شامل کرتا ہے ، جس سے آپ اسکرپٹ صارفین کو ترتیب کے اختیارات فراہم کرسکتے ہیں۔ یہ فنکشن اسکرپٹ کے ان پٹ میں ایک چیک مارک شامل کرتا ہے۔

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

آپ کے اسکرپٹ کی ترتیبات کے ان پٹ ٹیب میں ان پٹ شامل کرتا ہے ، جو آپ کو اسکرپٹ صارفین کو تشکیل کے اختیارات فراہم کرنے کی اجازت دیتا ہے۔ یہ فنکشن اسکرپٹ کے ان پٹ میں انٹیجر ان پٹ کے لئے فیلڈ شامل کرتا ہے۔

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) اسکرپٹ s Settings/Inputs ٹیب میں تجویز کردہ ان پٹ متغیر کی ڈیفالٹ قیمت کا تعین کرتا ہے ، جہاں سے اسکرپٹ صارفین اسے تبدیل کرسکتے ہیں۔ جب اقدار کی فہرست کو اسکرپٹ کے ساتھ استعمال کیا جاتا ہے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

آپ کے اسکرپٹ کی ترتیبات کے ان پٹ ٹیب میں ان پٹ شامل کرتا ہے ، جو آپ کو اسکرپٹ صارفین کو ترتیب کے اختیارات فراہم کرنے کی اجازت دیتا ہے۔ یہ فنکشن اسکرپٹ کے ان پٹ میں فلوٹ ان پٹ کے لئے فیلڈ شامل کرتا ہے۔

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) اسکرپٹ s Settings/Inputs ٹیب میں تجویز کردہ ان پٹ متغیر کی ڈیفالٹ قیمت کا تعین کرتا ہے ، جہاں سے اسکرپٹ صارفین اسے تبدیل کرسکتے ہیں۔ جب اسکرپٹ کے ساتھ اقدار کی فہرست کا استعمال کیا جاتا ہے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

آپ کے اسکرپٹ کی ترتیبات کے ان پٹ ٹیب میں ان پٹ شامل کرتا ہے ، جو آپ کو اسکرپٹ صارفین کو ترتیب کے اختیارات فراہم کرنے کی اجازت دیتا ہے۔ یہ فنکشن ایک رنگ چننے والا شامل کرتا ہے جو صارف کو رنگ اور شفافیت کا انتخاب کرنے کی اجازت دیتا ہے ، یا تو پیلیٹ یا ہیکس ویلیو سے۔

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

input.price

اسکرپٹ کی Settings/Inputs ٹیب میں قیمت ان پٹ شامل کرتا ہے۔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) اسکرپٹ s Settings/Inputs ٹیب میں تجویز کردہ ان پٹ متغیر کی ڈیفالٹ قیمت کا تعین کرتا ہے، جہاں سے صارف اسے تبدیل کرسکتا ہے۔
  • 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

آپ کے اسکرپٹ کی ترتیبات کے ان پٹ ٹیب میں ایک ان پٹ شامل کرتا ہے ، جو آپ کو اسکرپٹ صارفین کو تشکیل کے اختیارات فراہم کرنے کی اجازت دیتا ہے۔ یہ فنکشن ایک ڈراپ ڈاؤن شامل کرتا ہے جو صارف کو ٹائم فریم سلیکٹر کے ذریعے ایک مخصوص ٹائم فریم منتخب کرنے کی اجازت دیتا ہے اور اسے ایک تار کے طور پر واپس کرتا ہے۔ سلیکٹر میں صارف نے چارٹ ٹائم فریم ڈراپ ڈاؤن کا استعمال کرتے ہوئے شامل کیے ہوئے کسٹم ٹائم فریم شامل ہیں۔

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) اسکرپٹ s Settings/Inputs ٹیب میں تجویز کردہ ان پٹ متغیر کی ڈیفالٹ قیمت کا تعین کرتا ہے ، جہاں سے صارف اسے تبدیل کرسکتا ہے۔ جب اقدار کی فہرست کو اسکرپٹ کے ساتھ استعمال کیا جاتا ہےoptionsدلیل، قدر ان میں سے ایک ہونا ضروری ہے.
  • title(const string) ان پٹ کا عنوان۔ اگر مخصوص نہیں کیا گیا ہے تو ، متغیر کا نام ان پٹ کے عنوان کے طور پر استعمال ہوتا ہے۔ اگر عنوان مخصوص ہے ، لیکن یہ خالی ہے تو ، نام ایک خالی تار ہوگا۔
  • options(ٹپ)

مزید

بھیک مانگنے والاکیوں حکمت عملی اسکوائر کاپی پائن کی حکمت عملی نہیں کر سکتے ہیں

ایجاد کاروں کی مقدار - خواباچھا، ہم چیک کریں گے۔

بھیک مانگنے والاچانگ سپر ڈائیونگ کا اصلاح شدہ رجحان ٹریکر

ایجاد کاروں کی مقدار - خوابہیلو ، براہ کرم بتائیں کہ آپ کی حکمت عملی کیا ہے؟