संसाधन लोड हो रहा है... लोड करना...

FMZ PINE स्क्रिप्ट डॉक

लेखक:आविष्कारक मात्रा - छोटे सपने, बनाया गयाः 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)

निम्नलिखित उदाहरण में, हम एक pivot1 ऑब्जेक्ट बनाते हैं और इसके x फ़ील्ड को 1000 पर सेट करते हैं। फिर हम एक pivot2 चर घोषित करते हैं जिसमें pivot1 ऑब्जेक्ट का संदर्भ होता है, इसलिए वे दोनों एक ही उदाहरण की ओर इशारा करते हैं। इसलिए, pivot2.x को बदलना pivot1.x को भी बदल देता है, क्योंकि दोनों एक ही ऑब्जेक्ट के x फ़ील्ड का संदर्भ देते हैं।

मूल ऑब्जेक्ट से स्वतंत्र प्रतिलिपि बनाने के लिए, इस मामले में हम अंतर्निहित प्रतिलिपि ((() विधि का उपयोग कर सकते हैं। इस उदाहरण में, हम चर pivot2 को pivot1 ऑब्जेक्ट के कॉपी किए गए उदाहरण को संदर्भित करने के लिए घोषित करते हैं। अब, 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)

यह ध्यान दिया जाना चाहिए कि TradingView की प्रतिलिपि विधि एक उथली प्रतिलिपि है। यदि किसी ऑब्जेक्ट में विशेष प्रकार के फ़ील्ड (सरणी, आदि) हैं, तो ऑब्जेक्ट की उथली प्रतिलिपि में ये फ़ील्ड ऑब्जेक्ट के समान उदाहरण की ओर इशारा करेंगे। 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)

आप पाइन समर्थन के बाद देख सकते हैं कि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)

आप देख सकते हैं कि उपयोगकर्ता द्वारा परिभाषित विधियों की पैरामीटर सूची में पहला पैरामीटर कीवर्ड विधि के साथ घोषित किया गया हैः 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()एफएमजेड प्लेटफॉर्म पर, चूंकि पीआईएनई स्क्रिप्ट का अंतर्निहित कार्यान्वयन जावास्क्रिप्ट है, इसलिए संख्यात्मक प्रकार को फ्लोटिंग पॉइंट डेटा (फ्लोट) के रूप में माना जाएगा।

अंतर्निहित कार्य

जब आप किसी फ़ंक्शन को कॉल करते हैं, तो आप तर्क पास कर सकते हैं। आप मानों को असाइन करने के लिए तर्क नाम असाइन कर सकते हैं। आप संबंधित तर्क पदों में सीधे चर पास कर सकते हैं। मिश्रित उपयोग भी समर्थित है। उदाहरण के लिएः

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)

रिटर्नएक बार में सेकंड की संख्या का एक इंट प्रतिनिधित्व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.dataबैकटेस्ट के लिए निर्धारित समय सीमा के अनुरूप है. यदि बैकटेस्ट समय श्रृंखला में कोई डेटा क्वेरी नहीं किया जा सकता है, तो एक त्रुटि की सूचना दी जाएगी.

इस उदाहरण में डेटा-डेटा डेटा क्वेरी 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(series int/float/bool/color) एक अभिव्यक्ति की गणना और request.security कॉल से लौटाया जा सकता है। यह एक श्रृंखला या एक टपल हो सकता है जिसमें तत्व हो सकते हैं जिन्हें श्रृंखला में डाला जा सकता है।
  • gaps(barmerge_gaps) अनुरोधित डेटा के लिए विलय रणनीति (अनुरोधित डेटा स्वचालित रूप से मुख्य श्रृंखला ओएचएलसी डेटा के साथ विलय होता है). संभावित मानः 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 जोड़े दैनिक दरों पर आधारित होती हैं (उस बार के सापेक्ष जहां गणना की जाती है) । वैकल्पिक। डिफ़ॉल्ट 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

यदि सही लौटाता हैsourceस्ट्रिंग में निर्दिष्ट सबस्ट्रिंग के साथ शुरू होता हैstr, अन्यथा झूठा।

str.startswith(source, str)

रिटर्नसच है अगरsourceस्ट्रिंग में निर्दिष्ट सबस्ट्रिंग के साथ शुरू होता है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(series int) समाप्ति स्थिति. यह अनन्य है (निकाले गए स्ट्रिंग में उस स्थितिs वर्ण शामिल नहीं है). वैकल्पिक. डिफ़ॉल्ट लंबाई हैsource string.

टिप्पणीस्ट्रिंग इंडेक्सिंग 0 से शुरू होती है यदिbegin_posके बराबर हैend_pos, फ़ंक्शन एक खाली स्ट्रिंग लौटाता है.

यह भी देखें str.contains str.pos str.match

str.tonumber

str.tonumber(string)

रिटर्नस्ट्रिंग का एक फ्लोट संस्करण यदि इसमें एक वैध संख्या है, अन्यथा नहीं.

तर्क

  • string(श्रृंखला स्ट्रिंग) एक int या फ्लोट का स्ट्रिंग प्रतिनिधित्व.

str.format

स्वरूपण स्ट्रिंग और मानों को स्वरूपित स्ट्रिंग में परिवर्तित करता है. स्वरूपण स्ट्रिंग में प्रत्येक मूल्य के लिए लकी ब्रैकेट {} में शाब्दिक पाठ और एक प्लेसहोल्डर हो सकता है। प्रत्येक प्लेसहोल्डर में आवश्यक तर्क का सूचकांक (० से शुरू) होता है जो इसे बदल देगा, और एक वैकल्पिक प्रारूप निर्दिष्टकर्ता। सूचकांक 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नियमित अभिव्यक्ति, ना अन्यथा।

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स्ट्रिंग को अतिरिक्त बैकस्लैश के साथ बचाने की आवश्यकता है, उदाहरण के लिए \d नियमित अभिव्यक्ति \d के लिए खड़ा है.

यह भी देखें str.contains str.substring

str.pos

की पहली घटना की स्थिति देता हैstrस्ट्रिंग मेंsourceस्ट्रिंग, ना अन्यथा।

str.pos(source, str)

रिटर्नस्थितिstrस्ट्रिंग मेंsource string.

तर्क

  • sourceस्रोत स्ट्रिंग.
  • str(श्रृंखला स्ट्रिंग) खोज करने के लिए सबस्ट्रिंग.

टिप्पणीस्ट्रिंग इंडेक्सिंग 0 से शुरू होती है.

यह भी देखें str.contains str.match str.substring

str.replace

एक नई स्ट्रिंग N + 1 वें घटना के साथ लौटाता है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तर्क एक स्ट्रिंग है, यह है के रूप में लौटाया जाता है. जबvaluena है, फ़ंक्शन स्ट्रिंग NaN लौटाता है.

तर्क

  • value(श्रृंखला int/float/bool/string/int[]/float[]/bool[]/string[]) मान या सरणी आईडी जिसका तत्व स्ट्रिंग में परिवर्तित किया जाता है.
  • format(श्रृंखला स्ट्रिंग) प्रारूप स्ट्रिंग. इन प्रारूपों को स्वीकार करता है.* स्थिरांकः format.mintick, format.percent, format.volume. वैकल्पिक. डिफ़ॉल्ट मान है #.##########.

टिप्पणीफ्लोट मानों का स्वरूपण भी आवश्यक होने पर उन मानों को गोल करेगा, उदाहरण के लिए 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

आरजीबी रंग मॉडल का उपयोग करके पारदर्शिता के साथ एक नया रंग बनाता है.

color.rgb(red, green, blue, transp)

उदाहरण

plot(close, color=color.rgb(255, 0, 0, 50))

रिटर्ननिर्दिष्ट पारदर्शिता के साथ रंग।

तर्क

  • red(सीरीज इंट/फ्लोट) लाल रंग घटक. संभावित मान 0 से 255 तक हैं.
  • green(सीरीज इंट/फ्लोट) हरा रंग घटक. संभावित मान 0 से 255 तक हैं.
  • blue(सीरीज इंट/फ्लोट) नीले रंग का घटक. संभावित मूल्य 0 से 255 तक हैं.
  • transp(सीरीज int/float) वैकल्पिक. रंग पारदर्शिता. संभावित मान 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

आपके स्क्रिप्ट की सेटिंग्स के इनपुट टैब में एक इनपुट जोड़ता है, जो आपको स्क्रिप्ट उपयोगकर्ताओं को कॉन्फ़िगरेशन विकल्प प्रदान करने की अनुमति देता है। यह फ़ंक्शन एक ड्रॉपडाउन जोड़ता है जो उपयोगकर्ता को गणना के लिए एक स्रोत का चयन करने की अनुमति देता है, जैसे कि बंद, hl2, आदि। यदि स्क्रिप्ट में केवल एक input.source() कॉल शामिल है, तो उपयोगकर्ता अपने चार्ट पर किसी अन्य संकेतक से स्रोत के रूप में आउटपुट का चयन भी कर सकता है।

input.source(defval, title, tooltip, inline, group)

उदाहरण

i_src = input.source(close, "Source")
plot(i_src)

रिटर्नइनपुट चर का मान.

तर्क

  • defval(series int/float) स्क्रिप्ट के Settings/Inputs टैब में प्रस्तावित इनपुट चर का डिफ़ॉल्ट मान निर्धारित करता है, जहां से उपयोगकर्ता इसे बदल सकता है।
  • 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) स्क्रिप्ट के Settings/Inputs टैब में प्रस्तावित इनपुट चर का डिफ़ॉल्ट मान निर्धारित करता है, जहां से उपयोगकर्ता इसे बदल सकता है।optionsतर्क, मूल्य उनमें से एक होना चाहिए.
  • title(const string) इनपुट का शीर्षक. यदि निर्दिष्ट नहीं है, तो चर नाम इनपुट के शीर्षक के रूप में उपयोग किया जाता है. यदि शीर्षक निर्दिष्ट है, लेकिन यह खाली है, तो नाम एक खाली स्ट्रिंग होगा.
  • options(निरंतरों की सूचीः [<प्रकार>...]) विकल्पों की एक सूची चुनने के लिए।
  • tooltip(const string) वह स्ट्रिंग जो टूलटिप आइकन पर होवर करते समय उपयोगकर्ता को दिखाई जाएगी.
  • inline(const string) एक ही पंक्ति में एक ही तर्क का उपयोग करके सभी इनपुट कॉल को जोड़ता है। एक तर्क के रूप में उपयोग की जाने वाली स्ट्रिंग प्रदर्शित नहीं की जाती है। इसका उपयोग केवल एक ही पंक्ति से संबंधित इनपुट की पहचान करने के लिए किया जाता है।
  • group(const string) एक ही समूह तर्क स्ट्रिंग का उपयोग करके सभी इनपुट के ऊपर एक हेडर बनाता है. स्ट्रिंग का उपयोग हेडर के पाठ के रूप में भी किया जाता है.
  • confirm(const bool) यदि सही है, तो उपयोगकर्ता को चार्ट में सूचक जोड़ने से पहले इनपुट मान की पुष्टि करने के लिए कहा जाएगा. डिफ़ॉल्ट मान गलत है.

टिप्पणीइनपुट.स्ट्रिंग फ़ंक्शन का परिणाम हमेशा एक चर को सौंपा जाना चाहिए, ऊपर उदाहरण देखें.

यह भी देखें 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) स्क्रिप्ट के Settings/Inputs टैब में प्रस्तावित इनपुट चर का डिफ़ॉल्ट मान निर्धारित करता है, जहां से उपयोगकर्ता इसे बदल सकता है.
  • 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) स्क्रिप्ट में प्रस्तावित इनपुट चर का डिफ़ॉल्ट मान निर्धारित करता है 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) स्क्रिप्ट के 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.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) स्क्रिप्ट के Settings/Inputs टैब में प्रस्तावित इनपुट चर का डिफ़ॉल्ट मान निर्धारित करता है, जहां से उपयोगकर्ता इसे बदल सकता है.
  • title(const string) इनपुट का शीर्षक. यदि निर्दिष्ट नहीं है, तो चर नाम इनपुट के शीर्षक के रूप में उपयोग किया जाता है. यदि शीर्षक निर्दिष्ट है, लेकिन यह खाली है, तो नाम एक खाली स्ट्रिंग होगा.
  • tooltip(const string) वह स्ट्रिंग जो टूलटिप आइकन पर होवर करते समय उपयोगकर्ता को दिखाई जाएगी.
  • inline(const string) एक ही पंक्ति में एक ही तर्क का उपयोग करके सभी इनपुट कॉल को जोड़ता है। एक तर्क के रूप में उपयोग की जाने वाली स्ट्रिंग प्रदर्शित नहीं की जाती है। इसका उपयोग केवल एक ही पंक्ति से संबंधित इनपुट की पहचान करने के लिए किया जाता है।
  • group(const string) एक ही समूह तर्क स्ट्रिंग का उपयोग करके सभी इनपुट के ऊपर एक हेडर बनाता है. स्ट्रिंग का उपयोग हेडर के पाठ के रूप में भी किया जाता है.
  • confirm(const bool) यदि सही है, तो उपयोगकर्ता को चार्ट में सूचक जोड़ने से पहले इनपुट मान की पुष्टि करने के लिए कहा जाएगा. डिफ़ॉल्ट मान गलत है.

टिप्पणीइनपुट.कलर फ़ंक्शन का परिणाम हमेशा एक चर को असाइन किया जाना चाहिए, उपरोक्त उदाहरण देखें।

यह भी देखें input.bool input.int input.float input.string input.timeframe input.source input

input.price

स्क्रिप्ट के सेटिंग्स/इनपुट टैब में एक मूल्य इनपुट जोड़ता है.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) स्क्रिप्ट के 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) स्क्रिप्ट के Settings/Inputs टैब में प्रस्तावित इनपुट चर का डिफ़ॉल्ट मान निर्धारित करता है, जहां से उपयोगकर्ता इसे बदल सकता है।optionsतर्क, मूल्य उनमें से एक होना चाहिए.
  • title(const string) इनपुट का शीर्षक. यदि निर्दिष्ट नहीं है, तो चर नाम इनपुट के शीर्षक के रूप में उपयोग किया जाता है. यदि शीर्षक निर्दिष्ट है, लेकिन यह खाली है, तो नाम एक खाली स्ट्रिंग होगा.
  • options(टॉप

अधिक

भिखारीक्यों रणनीति स्क्वायर की नकल पाइन रणनीति वास्तविक नहीं हो सकता है

आविष्कारक मात्रा - छोटे सपनेठीक है, हम जाँच करेंगे।

भिखारीचांग सुपरबायो का अनुकूलित ट्रेंड ट्रैकर

आविष्कारक मात्रा - छोटे सपनेनमस्ते, क्या आप मुझे बता सकते हैं कि क्या रणनीति है?