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

FMZ PINE स्क्रिप्ट दस्तावेज़

लेखक:आविष्कारक मात्रा - छोटे सपने, बनाया गयाः 2022-05-06 14:27:06, अद्यतनः 2024-10-12 15:27:04

लौटाता हैसरणी के तत्वों के मध्यवर्ती संख्याएं.

पैरामीटर

  • id(int[]/float[]) सरणी ऑब्जेक्ट।

अलविदा array.avg array.variance array.min

array.mode

यह फ़ंक्शन सरणी तत्वों के पैटर्न को लौटाता है. यदि एक ही आवृत्ति के कई मान हैं, तो न्यूनतम लौटाता है.

array.mode(id)

उदाहरण

// array.mode example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
plot(array.mode(a))

लौटाता हैसरणी तत्वों का पैटर्न।

पैरामीटर

  • id(int[]/float[]) सरणी ऑब्जेक्ट।

अलविदा array.new_float array.avg array.variance array.min

array.percentile_linear_interpolation के लिए

सरणी के मान का निर्दिष्ट प्रतिशत (प्रतिशत) उसके मान से कम या उसके बराबर है, जिसका उपयोग रैखिक प्लग-इन के साथ किया जाता है।

array.percentile_linear_interpolation(id, percentage) 

पैरामीटर

  • id(int[]/float[]) सरणी ऑब्जेक्ट।
  • percentage(series int/float) का प्रतिशत लौटाए गए मान के बराबर या उससे कम होना चाहिए.

नोट्ससांख्यिकी में, प्रतिशत किसी स्कोर पर या किसी स्कोर से नीचे के क्रम में आने वाले क्रम के प्रतिशत हैं। यह माप आपके द्वारा मापे गए प्रतिशत से नीचे के मानक आवृत्ति वितरण में प्रतिशत के प्रतिशत को दर्शाता है। रैखिक प्लग इन दो क्रम के बीच का अनुमान है।

अलविदा array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentile_nearest_rank

हाल ही में रैंकिंग विधि का उपयोग करके निर्दिष्ट प्रतिशत के लिए एक सरणी मान (प्रतिशत) लौटाता है जो इसके बराबर या उससे कम है।

array.percentile_nearest_rank(id, percentage) 

पैरामीटर

  • id(int[]/float[]) सरणी ऑब्जेक्ट।
  • percentage(series int/float) का प्रतिशत लौटाए गए मान के बराबर या उससे कम होना चाहिए.

नोट्ससांख्यिकी में, प्रतिशत किसी स्कोर पर या किसी स्कोर से नीचे की श्रेणी में आने वाले रैंकिंग विषयों का प्रतिशत होता है। यह माप आपके द्वारा मापे जा रहे प्रतिशत रैंकिंग के मानक आवृत्ति वितरण में प्रतिशत के प्रतिशत को दर्शाता है।

अलविदा array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentrank

सरणी के मध्यवर्ती मान का प्रतिशत क्रम देता है.

array.percentrank(id, index) 

पैरामीटर

  • id(int[]/float[]) सरणी ऑब्जेक्ट।
  • index(series int) इसके प्रतिशत क्रम के मान की गणना करता है.

नोट्सप्रतिशत रैंकिंग एक प्रतिशत है जो बताता है कि किसी सरणी में कितने तत्व हैं जो संदर्भ से कम या बराबर हैं।

अलविदा array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.range

यह फ़ंक्शन दिए गए सरणी के न्यूनतम और अधिकतम मानों के बीच अंतर देता है.

array.range(id) 

उदाहरण

// array.range example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
plot(array.range(a))

लौटाता हैसरणी के न्यूनतम और अधिकतम मानों के बीच का अंतर।

पैरामीटर

  • id(int[]/float[]) सरणी ऑब्जेक्ट।

अलविदा array.new_float array.min array.max array.sum

array.remove

यह फ़ंक्शन निर्दिष्ट सूचकांक वाले तत्वों को हटाकर सरणी की सामग्री को बदलता है।

array.remove(id, index)

उदाहरण

// array.remove example
a = array.new_float(5,high)
removedEl = array.remove(a, 0)
plot(array.size(a))
plot(removedEl)

लौटाता हैहटाए गए तत्वों का मान।

पैरामीटर

  • id(any array type) सरणी ऑब्जेक्ट ।
  • index(series int) हटाए जाने वाले तत्वों का सूचकांक।

अलविदा array.new_float array.set array.push array.insert array.pop array.shift

array.reverse

यह फ़ंक्शन सरणी को उलटा करता है. पहला सरणी तत्व अंतिम बन जाता है और अंतिम सरणी तत्व पहला बन जाता है.

array.reverse(id)

उदाहरण

// array.reverse example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
plot(array.get(a, 0))
array.reverse(a)
plot(array.get(a, 0))

पैरामीटर

  • id(any array type) सरणी ऑब्जेक्ट ।

अलविदा array.new_float array.sort array.push array.set array.avg

array.from

यह फ़ंक्शन इन प्रकारों में से किसी एक प्रकार के चर संख्या के लिए पैरामीटर का उपयोग करता हैः int, float, boole, string, line, color, linefill, और संबंधित प्रकार के सरणी को लौटाता है।

array.from(arg0, arg1, ...)

उदाहरण

// array.from_example
arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}.
plot(close)

लौटाता हैसरणी के तत्वों का मान।

पैरामीटर

  • arg0, arg1, ...(series int/float/bool/color/string/line/linefill) पूर्णांक पैरामीटर

array.new

यह फ़ंक्शन एक नया फ़ंक्शन बनाता है<type>तत्व सरणी वस्तुएं ।

array.new(size, initial_value)

उदाहरण

// array.new<string> example
a = array.new<string>(1, "Hello, World!")
runtime.log(array.get(a, 0))

उदाहरण

// array.new<color> example
a = array.new<color>()
array.push(a, color.red)
array.push(a, color.green)
plot(close, color = array.get(a, close > open ? 1 : 0))

उदाहरण

// array.new<float> example
length = 5
var a = array.new<float>(length, close)
if array.size(a) == length
  array.remove(a, 0)
  array.push(a, close)
plot(array.sum(a) / length, "SMA")

उदाहरण

// array.new<line> example
// draw last 15 lines
var a = array.new<line>()
array.push(a, line.new(bar_index - 1, close[1], bar_index, close))
if array.size(a) > 15
    ln = array.shift(a)
    line.delete(ln)

लौटाता हैकिसी अन्य सरणी के साथ इस्तेमाल किए जाने वाले सरणी ऑब्जेक्ट का आईडी‖*() फ़ंक्शन‖

पैरामीटर

  • size(series int) श्रृंखला का प्रारंभिक आकार↑ वैकल्पिक↑ डिफ़ॉल्ट मान 0↑ है
  • initial_value(series ) सभी अनुक्रमिक तत्वों के लिए प्रारंभिक मान↑ वैकल्पिक↑ डिफ़ॉल्ट मान है na

नोट्ससरणी सूचकांक 0 से शुरू होता है. यदि आप किसी सरणी को आरंभ करना चाहते हैं और उसके सभी तत्वों को एक साथ निर्दिष्ट करना चाहते हैं, तो array.from का उपयोग करें।

अलविदा array.from array.push array.get array.size array.remove array.shift array.sum

array.new_bool

यह फ़ंक्शन एक नई सरणी ऑब्जेक्ट बनाता है जिसमें एक बूल प्रकार का तत्व होता है.

array.new_bool(size, initial_value)

उदाहरण

// array.new_bool example
length = 5
a = array.new_bool(length, close > open)
plot(array.get(a, 0) ? close : open)

लौटाता हैकिसी अन्य सरणी के साथ इस्तेमाल किए जाने वाले सरणी ऑब्जेक्ट का आईडी‖*() फ़ंक्शन‖

पैरामीटर

  • size(series int) श्रृंखला का प्रारंभिक आकार↑ वैकल्पिक↑ डिफ़ॉल्ट मान 0↑ है
  • initial_value(series bool) सभी अनुक्रम तत्वों का प्रारंभिक मान↑ वैकल्पिक↑ डिफ़ॉल्ट मान है na

नोट्ससरणी सूचकांक 0 से शुरू होता है.

अलविदा array.new_float array.get array.slice array.sort

array.new_float

यह फ़ंक्शन एक नया फ्लोटिंग तत्व सरणी ऑब्जेक्ट बनाता है।

array.new_float(size, initial_value)

उदाहरण

// array.new_float example
length = 5
a = array.new_float(length, close)
plot(array.sum(a) / length)

लौटाता हैकिसी अन्य सरणी के साथ इस्तेमाल किए जाने वाले सरणी ऑब्जेक्ट का आईडी‖*() फ़ंक्शन‖

पैरामीटर

  • size(series int) श्रृंखला का प्रारंभिक आकार↑ वैकल्पिक↑ डिफ़ॉल्ट मान 0↑ है
  • initial_value(series int/float) सभी श्रृंखला तत्वों के लिए प्रारंभिक मान↑ वैकल्पिक↑ डिफ़ॉल्ट मान है na

नोट्ससरणी सूचकांक 0 से शुरू होता है.

अलविदा array.new_bool array.get array.slice array.sort

array.new_int

यह फ़ंक्शन int प्रकार के तत्वों से बना एक नया सरणी ऑब्जेक्ट बनाता है।

array.new_int(size, initial_value)

उदाहरण

// array.new_int example
length = 5
a = array.new_int(length, int(close))
plot(array.sum(a) / length)

लौटाता हैकिसी अन्य सरणी के साथ इस्तेमाल किए जाने वाले सरणी ऑब्जेक्ट का आईडी‖*() फ़ंक्शन‖

पैरामीटर

  • size(series int) श्रृंखला का प्रारंभिक आकार↑ वैकल्पिक↑ डिफ़ॉल्ट मान 0↑ है
  • initial_value(series int) सभी श्रृंखला तत्वों का प्रारंभिक मान↑ वैकल्पिक↑ डिफ़ॉल्ट मान है na

नोट्ससरणी सूचकांक 0 से शुरू होता है.

अलविदा array.new_float array.get array.slice array.sort

array.new_string

यह फ़ंक्शन एक स्ट्रिंग प्रकार के तत्व के लिए एक नया सरणी ऑब्जेक्ट बनाता है।

array.new_string(size, initial_value)

उदाहरण

// array.new_string example
length = 5
a = array.new_string(length, "text")
runtime.log(array.get(a, 0))

लौटाता हैकिसी अन्य सरणी के साथ इस्तेमाल किए जाने वाले सरणी ऑब्जेक्ट का आईडी‖*() फ़ंक्शन‖

पैरामीटर

  • size(series int) श्रृंखला का प्रारंभिक आकार↑ वैकल्पिक↑ डिफ़ॉल्ट मान 0↑ है
  • initial_value(series string) सभी अनुक्रम तत्वों का प्रारंभिक मान↑ वैकल्पिक↑ डिफ़ॉल्ट मान है na

नोट्ससरणी सूचकांक 0 से शुरू होता है.

अलविदा array.new_float array.get array.slice

array.get

यह फ़ंक्शन निर्दिष्ट सूचकांक बिंदु तत्व का मान लौटाता है.

array.get(id, index)

उदाहरण

// array.get example
a = array.new_float(0)
for i = 0 to 9
  array.push(a, close[i] - open[i])
plot(array.get(a, 9))

लौटाता हैसरणी के तत्वों का मान।

पैरामीटर

  • id(any array type) सरणी ऑब्जेक्ट ।
  • index(series int) उस तत्व का सूचकांक है जिसका मान लौटाया जाना है.

अलविदा array.new_float array.set array.slice array.sort

array.push

यह फ़ंक्शन एक मान को सरणी में जोड़ता है।

array.push(id, value)

उदाहरण

// array.push example
a = array.new_float(5, 0)
array.push(a, open)
plot(array.get(a, 5))

पैरामीटर

  • id(any array type) सरणी ऑब्जेक्ट ।
  • value (series <type of the array's elements>) को सरणी के अंत में तत्व मानों में जोड़ा जाता है.

अलविदा array.new_float array.set array.insert array.remove array.pop array.unshift

array.set

यह फ़ंक्शन तत्व के मान को निर्दिष्ट सूचकांक के रूप में सेट करता है.

array.set(id, index, value) 

उदाहरण

// array.set example
a = array.new_float(10)
for i = 0 to 9
  array.set(a, i, close[i])
plot(array.sum(a) / 10)

पैरामीटर

  • id(any array type) सरणी ऑब्जेक्ट ।
  • index(series int) तत्वों के सूचकांक को संशोधित करने के लिए।
  • value (series <type of the array's elements>) सेट करने के लिए नया मान।

अलविदा array.new_float array.get array.slice

array.sum

यह फ़ंक्शन सरणी तत्वों के योग को लौटाता है.

array.sum(id) 

उदाहरण

// array.sum example
a = array.new_float(0)
for i = 0 to 9
  array.push(a, close[i])
plot(array.sum(a))

लौटाता हैसरणी के तत्वों का योग।

पैरामीटर

  • id(int[]/float[]) सरणी ऑब्जेक्ट।

अलविदा array.new_float array.max array.min

array.avg

यह फ़ंक्शन सरणी के तत्वों के औसत को लौटाता है.

array.avg(id)

उदाहरण

// array.avg example
a = array.new_float(0)
for i = 0 to 9
  array.push(a, close[i])
plot(array.avg(a))

लौटाता हैसरणी के तत्वों का औसत है।

पैरामीटर

  • id(int[]/float[]) सरणी ऑब्जेक्ट।

अलविदा array.new_float array.max array.min array.stdev

array.indexof

यह फ़ंक्शन उस सूचकांक को लौटाता है जहां मान पहली बार आया था. यदि यह नहीं मिला है, तो -1 लौटाता है.

array.indexof(id, value)

उदाहरण

// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)

लौटाता हैतत्वों का सूचकांक ।

पैरामीटर

  • id(any array type) सरणी ऑब्जेक्ट ।
  • value (series <type of the array's elements>) सरणी में खोजे जाने वाले मानों के लिए।

अलविदा array.lastindexof array.get array.lastindexof array.remove array.insert

रणनीति

मेंstrategyसंबंधित अंतर्निहित कार्यों में, स्टॉप-लॉस पॉइंट नंबर, स्टॉप-टॉप पॉइंट नंबर को एक बार की कीमत के गुणक के रूप में परिभाषित किया गया है; उदाहरण के लिए।strategy.exitफ़ंक्शन काprofitlossपैरामीटर के बिंदुओं को रोकना, रोकना, पैरामीटरprofit10 पर सेट करें, यानी कीमत में एक छलांग 10 से गुणा करें, जो कि स्टॉप-अप मूल्य अंतर है, और कीमत में एक छलांग अंतर्निहित चर हैsyminfo.mintick

रणनीति

यह फ़ंक्शन कई नीतिगत गुणों को सेट करता है. ध्यान दें, केवल समर्थनtitleshorttitleoverlaypyramidingdefault_qty_typedefault_qty_valueपैरामीटर, अन्य पैरामीटर को पाइन भाषा नीति के इंटरफ़ेस पैरामीटर के माध्यम से सेट किया जा सकता है।

strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, risk_free_rate) 

उदाहरण

strategy("Strategy", overlay = true)

// Enter long by market if current open is greater than previous high.
strategy.entry("Long", strategy.long, 1, when = open > high[1])
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.exit("Exit", "Long", profit = 10, loss = 5)

पैरामीटर

  • title(const string) निर्देशांक/नीति प्लगइन में दिखाई देने वाले निर्देशांक के शीर्षक को प्रदर्शित करता है. पैरामीटर आवश्यक है.
  • shorttitle(const string) चार्ट उदाहरण में देखे गए संकेतक का छोटा शीर्षक होगा. पैरामीटर वैकल्पिक है.
  • overlay(const bool) यदि true है, तो यह निर्देशांक मुख्य सरणी के ओवरले में जोड़ा जाता है. यदि false है - यह एक अलग चार्ट विंडो में जोड़ा जाता है. डिफ़ॉल्ट रूप से false.
  • format(const string) मूल्य-अक्ष पर प्रारूपित सूचक मान के प्रकार के संभावित मान हैंः format.inherit、format.price、format.volume、डिफ़ॉल्ट रूप से format.inherit。
  • precision(const int) मूल्य-अक्ष पर सूचक मान के फ्लोटिंग बिंदुओं के बाद का अंक. यह एक गैर-ऋणात्मक पूर्णांक होना चाहिए और 16 से अधिक नहीं होना चाहिए. यदि इसे छोड़ दिया जाता है, तो मूल श्रृंखला का प्रारूप प्रयोग किया जाता है. यदि प्रारूप.inherit है और यह पैरामीटर सेट किया गया है, तो प्रारूप.price बन जाता है।
  • scale(scale_type) संकेतक को मूल्य निर्देशांक के साथ होना चाहिए. संभव मान हैंः scale.right, scale.left, scale.none.scale.none का उपयोग केवल अलंकार overlay=true अलंकार सेटिंग के साथ किया जा सकता है.
  • pyramiding(const int) एक ही दिशा में अनुमति दी गई अधिकतम संख्या. यदि यह मान 0 है, तो एक ही दिशा में केवल एक ही प्रवेश आदेश खोला जा सकता है, और किसी भी अन्य प्रवेश आदेश को अस्वीकार कर दिया जाएगा. डिफ़ॉल्ट मान 0 है.
  • calc_on_order_fills(const bool) अतिरिक्त इंट्राबार ऑर्डर गणना। यदि पैरामीटर को true पर सेट किया गया है, तो नीति एक बार जब आदेश के बाद K लाइन में भरी जाती है, तो नीति को फिर से गणना की जाती है (न केवल जब k लाइन बंद हो जाती है) । डिफ़ॉल्ट मान false है।
  • calc_on_every_tick(const bool) अतिरिक्त इंट्राबार नीति गणना; यदि पैराग्राफ true है, तो नीति वास्तविक समय में kstring को बंद किए बिना प्रत्येक कालक्रम की गणना करेगी; यह पैराग्राफ ऐतिहासिक डेटा की नीति गणना को प्रभावित नहीं करता है; डिफ़ॉल्ट मान false है।
  • max_bars_back(const int) इतिहास संदर्भ नीति के लिए उपलब्ध अधिकतम बार संख्या है. यदि स्क्रिप्ट कोड में चर के इतिहास डेटा का संदर्भ दिया गया है, तो यह पैरामीटर स्क्रिप्ट में प्रत्येक अंतर्निहित चर या उपयोगकर्ता चर पर लागू होता है. पाइन स्क्रिप्ट में परिवर्तनीय बफ़र क्षेत्र का आकार आमतौर पर स्वचालित रूप से पता लगाया जाता है. हालांकि, कुछ मामलों में यह असंभव है, यही कारण है कि पैरामीटर उपयोगकर्ता को मैन्युअल रूप से इस मूल्य के निचले सीमा को सेट करने की अनुमति देता है. नोटः max_bars_back फ़ंक्शन का उपयोग करना सबसे अच्छा है, क्योंकि यह केवल एक चर के लिए लागू होता है।
  • backtest_fill_limits_assumption(const int) लिमिट ऑर्डर निष्पादन परिकल्पना. लिमिट ऑर्डर केवल तब इंट्राबार में लेनदेन करता है जब बाजार मूल्य लिमिट ऑर्डर के स्तर पर निर्दिष्ट टिक की संख्या से अधिक हो जाता है.
  • default_qty_type(const string) के लिए निर्धारित किया गया हैqtyपैरामीटर का मान रणनीति.प्रविष्टि या रणनीति.आदेश फ़ंक्शन में दर्शाया गया है। संभावित मान हैंः रणनीति.फिक्स्ड अनुबंध/स्टॉक/हैंड्स की संख्या को दर्शाता है, रणनीति.कैश मौद्रिक राशि को दर्शाता है, या रणनीति.प्रतिशत_ऑफ_इक्विटी उपलब्ध हक के प्रतिशत को दर्शाता है।
  • default_qty_value(const int/float) strategy.entry या strategy.order फ़ंक्शन के लिए डिफ़ॉल्ट लेनदेन की संख्या, जब उनके qty पैरामीटर परिभाषित नहीं होते हैं, तो उनकी इकाई default_qty_type पैरामीटर के साथ उपयोग किए जाने वाले पैरामीटर द्वारा निर्धारित की जाती है।
  • currency(const string) इस नीति के लिए खाता मुद्राएँ↑ वैकल्पिक↑ डिफ़ॉल्ट मान चार्ट पर वस्तुओं की मुद्राएँ हैं↑ संभावित मानः currency.NONE, currency.USD, currency.EUR, currency.AUD, currency.GBP, currency.NZD, currency.CAD, currency.CHF, currency.HKD, currency.JPY, currency.NOK, currency.SEK, currency.SGD, currency.TRY, currency.ZAR, currency.BTC, currency.ETH, currency.MYR, currency.KRW。
  • slippage(const int) बोली इकाई के लिए टिक के साथ स्लाइड, खरीद / बिक्री बाजार मूल्य या स्टॉप लॉस आदेश के लेनदेन मूल्य से जोड़ा / घटाया जाता है। यदि मिनटिक = 0.01 और स्लाइड = 5, तो कुल स्लाइड 5 * 0.01 = 0.05 होगा।
  • commission_type(const string) प्रत्येक ऑर्डर के लिए कमीशन का प्रकार. अनुमत मान हैंः strategy.commission.percent (ऑर्डर की नकद राशि का प्रतिशत), strategy.commission.cash_per_contract (प्रत्येक अनुबंध के लिए खाता मुद्रा में राशि प्रदर्शित करना), strategy.commission.cash_per_order (प्रत्येक ऑर्डर के लिए खाता मुद्रा में राशि प्रदर्शित करना) ।
  • commission_value(const int/float) ऑर्डर कमीशन का मान.
  • process_orders_on_close(const bool) जब सेट किया जाता है, तो ऑर्डर को निष्पादित करने के लिए अन्य प्रयास किए जाते हैं जब चार्ट बंद हो जाता है और नीति गणना पूरी हो जाती है। यदि ऑर्डर बाजार मूल्य के ऑर्डर हैं, तो ब्रोकर एमुलेटर उन्हें अगले चार्ट के उद्घाटन से पहले निष्पादित करेगा। यदि ऑर्डर मूल्य सीमा है, तो ऑर्डर केवल तब निष्पादित किया जाएगा जब मूल्य की शर्तें पूरी हो जाएंगी। यह विकल्प उपयोगी है यदि आप वर्तमान चार्ट के स्थान को बंद करना चाहते हैं। डिफ़ॉल्ट मान झूठा चार्ट है।
  • close_entries_rule(const string) आदेश बंद होने का क्रम निर्धारित करता है. अनुमत मान है: FIFO या ANY; FIFO (पहले आना, पहले आना; First-In, First-Out) जिसका अर्थ है कि जब कई ट्रेड खुले होते हैं, तो सबसे पहले ट्रेड को बंद करना आवश्यक होता है. यह नियम स्टॉक, फ्यूचर्स और अमेरिकी विदेशी मुद्रा (NFA अनुपालन नियम 2-43b) के लिए लागू होता है.
  • max_lines_count(const int) हाल के रेखाचित्रों की संख्या दिखाता है. डिफ़ॉल्ट मान 50 है, अधिकतम अनुमत मान 500 है.
  • max_labels_count(const int) हाल के टैग चित्रों की संख्या दिखाता है. डिफ़ॉल्ट मान 50 है, अधिकतम अनुमत मान 500 है.
  • max_boxes_count(const int) प्रदर्शित अंतिम बॉक्स चित्रों की संख्या; डिफ़ॉल्ट मान 50 है और अधिकतम मान 500 है।
  • margin_long(const int/float) बहुअर्थी प्रतिभूति की खरीद मूल्य का प्रतिशत है जिसमें बहुअर्थी स्थिति को नकदी या प्रतिभूतियों के साथ कवर किया जाना चाहिए। यह गैर-नकारात्मक होना चाहिए। यह विकल्प है। डिफ़ॉल्ट मूल्य 100 है।
  • margin_short(const int/float) कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस कैशलेस
  • explicit_plot_zorder(const bool) निर्दिष्ट करता है कि निर्देशक के चित्र, भरने और क्षैतिज रेखाओं का प्रदर्शन किस क्रम में होता है। यदि true है, तो निर्देशक कोड में उनके आने के क्रम के अनुसार चार्ट को चित्रित किया जाता है, प्रत्येक नए चार्ट को पिछले चार्ट के ऊपर चित्रित किया जाता है। यह केवल प्लॉट * (() फ़ंक्शन, भरने और हलाइन के लिए लागू होता है।
  • initial_capital(const int/float) मूल रूप से रणनीतिक लेन-देन के लिए उपयोग की जाने वाली धनराशि का एक सेट है, जो कि मुद्राओं के रूप में परिभाषित है।
  • risk_free_rate(const int/float) जोखिम मुक्त रिटर्न जोखिम न्यूनतम या शून्य निवेश के मूल्य में वार्षिक प्रतिशत परिवर्तन है, जिसे शार्प और सॉर्टिनो अनुपात की गणना के लिए उपयोग किया जाता है; डिफ़ॉल्ट मान 2 है।

नोट्सहर रणनीति स्क्रिप्ट में एक रणनीति कॉल होना चाहिए। पैरामीटर का उपयोग करके पाइनस्क्रिप्ट कोड calc_on_every_tick = true इतिहास रिकॉर्ड और वास्तविक समय डेटा के लिए अलग-अलग गणना कर सकते हैं। जब आप रणनीति के आधार के रूप में गैर-मानक प्रकार के चार्ट का उपयोग करते हैं, तो आपको यह जानना आवश्यक है कि परिणाम अलग-अलग होंगे। ऑर्डर उस तालिका के मूल्य पर निष्पादित होंगे (उदाहरण के लिए, हेकिन एशी के लिए हेकिन एशी की कीमत का उपयोग किया जाएगा (औसत) वास्तविक बाजार मूल्य नहीं है) । इसलिए, हम दृढ़ता से अनुशंसा करते हैं कि आप अपनी रणनीति में मानक चार्ट प्रकार का उपयोग करें।

अलविदा indicator

strategy.entry

यह बाजार में प्रवेश करने का आदेश है. यदि एक ही आईडी के साथ ऑर्डर पहले से ही लटका हुआ है, तो ऑर्डर को संशोधित किया जा सकता है. यदि कोई आईडी निर्दिष्ट नहीं है, तो एक नया ऑर्डर जारी किया जाएगा. प्रवेश निर्देशों को बंद करने के लिए, आदेश strategy.cancel या strategy.cancel_all का उपयोग करना चाहिए. रणनीति.entry फ़ंक्शन पिरामिड से प्रभावित है और बाजार की स्थिति को सही ढंग से उलट सकता है, जबकि रणनीति.ऑर्डर फ़ंक्शन के विपरीत। यदि एलईडी लिमिट और एलईडी स्टॉप पैरामीटर दोनों एलईडी NaN हैं, तो ऑर्डर प्रकार बाजार ऑर्डर है।

strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message) 

उदाहरण

strategy(title = "simple strategy entry example")
strategy.entry("enter long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.entry("enter short", strategy.short, 1, when = open < low[1]) // enter short by market if current open less then previous low

पैरामीटर

  • id(series string) आवश्यक पैरामीटर↑ ऑर्डर आइडेंटिफ़ायर↑ ऑर्डर को रद्द या संशोधित किया जा सकता है, इसके आइडेंटिफ़ायर का हवाला देकर↑
  • direction(strategy_direction) एक आवश्यक पैरामीटर. बाजार में होल्डिंग की दिशाः'strategy.long ताला बहुआयामी है,''strategy.short ताला रिक्त ताला है' ।
  • qty(series int/float) वैकल्पिक पैरामीटर↑ सौदे के लिए अनुबंध/शेयर संख्या/बंद संख्या/इकाइयों की संख्या↑ पूर्वनिर्धारित मान है NaN
  • limit(series int/float) वैकल्पिक पैरामीटर↑ आदेश की सीमाएँ↑ यदि निर्दिष्ट है, तो आदेश का प्रकार "सीमा" या "रोक-सीमा" है↑ अन्य आदेश प्रकार "NaN" हैं↑
  • stop(series int/float) वैकल्पिक पैरामीटर↑ आदेश का स्टॉप-लॉस मूल्य↑ यदि निर्दिष्ट किया गया है, तो आदेश प्रकार "स्टॉप" या "स्टॉप-लिमिट" होगा。 अन्य आदेश प्रकार "NaN" होंगे。
  • oca_name(series string) वैकल्पिक पैरामीटर. यह ऑर्डर ओसीए समूह के नाम से संबंधित है. यदि ऑर्डर किसी भी ओसीए समूह से संबंधित नहीं है, तो एक खाली वर्ण होना चाहिए.ध्यान देंः FMZ इस पैरामीटर का समर्थन नहीं करता है.
  • oca_type(input string) विकल्पों का चयन करना; OCA ऑर्डर समूह प्रकार; अनुमत मानः strategy.oca.none - ऑर्डर किसी विशेष OCA समूह में नहीं होना चाहिए; strategy.oca.cancel - ऑर्डर OCA समूह में होना चाहिए, एक बार ऑर्डर पूरा होने के बाद, उसी समूह के सभी अन्य ऑर्डर रद्द हो जाएंगे; strategy.oca.reduce - ऑर्डर OCA समूह में होना चाहिए, यदि ऑर्डर अनुबंधों की संख्या X रखी गई है, तो उसी OCA समूह के अन्य ऑर्डर अनुबंधों की संख्या X कम हो जाएगी;ध्यान देंः FMZ इस पैरामीटर का समर्थन नहीं करता है.
  • comment(series string) वैकल्पिक पैरामीटर. आदेश के अन्य विवरण.
  • when(series bool) वैकल्पिक पैरामीटर↑ ऑर्डर की स्थिति↑ यदि "true" है, तो ऑर्डर रखा गया है↑ यदि "false" है, तो कुछ भी नहीं हुआ ((पहले रखे गए एक ही आईडी वाले ऑर्डर को रद्द नहीं किया गया है)↑ डिफ़ॉल्ट मान "true" है。
  • alert_message(series string) एक वैकल्पिक पैरामीटर जब आप चेतावनी बॉक्स बनाने के लिए चेतावनी बॉक्स संवाद बॉक्स में चेतावनी संदेश बॉक्स के क्षेत्र में {{strategy.order.alert_message}} का उपयोग करते हैं।

strategy.close

यह एक निर्दिष्ट आईडी के साथ बाहर निकलने के आदेश का आदेश है। यदि एक ही आईडी के साथ कई प्रवेश आदेश हैं, तो वे सभी एक ही समय में बाहर निकलेंगे। यदि आदेश को ट्रिगर करते समय आईडी निर्दिष्ट नहीं किया गया है, तो आदेश निष्पादित नहीं होगा। यह आदेश बाजार आदेश का उपयोग करता है। प्रत्येक प्रवेश को अलग-अलग बाजार आदेशों द्वारा बंद कर दिया जाता है।

strategy.close(id, when, comment, qty, qty_percent, alert_message) 

उदाहरण

strategy("closeEntry Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close("buy", when = open < close, qty_percent = 50, comment = "close buy entry for 50%")
plot(strategy.position_size)

पैरामीटर

  • id(series string) आवश्यक पैरामीटर↑ ऑर्डर आइडेंटिफ़ायर↑ ऑर्डर को उसके आइडेंटिफ़ायर का हवाला देकर बंद किया जा सकता है↑
  • when(series bool) चयन योग्य पैरामीटर. आदेश की शर्त.
  • qty(series int/float) वैकल्पिक पैरामीटर↑ व्यापार से बाहर निकलने के लिए अनुबंध/शेयर संख्या/अंक संख्या/इकाइयों की संख्या↑ डिफ़ॉल्ट मान है NaN
  • qty_percent(series int/float) समता का प्रतिशत परिभाषित करता है ((0-100) ). इसकी प्राथमिकता qty पैरामीटर की प्राथमिकता से कम है. विकल्प है. डिफ़ॉल्ट मान 100 है.
  • comment(series string) वैकल्पिक पैरामीटर. आदेश के अन्य विवरण.
  • alert_message(series string) एक वैकल्पिक पैरामीटर जब आप चेतावनी बॉक्स बनाने के लिए चेतावनी बॉक्स संवाद बॉक्स में चेतावनी संदेश बॉक्स के क्षेत्र में {{strategy.order.alert_message}} का उपयोग करते हैं।

रणनीति.close_all

इस तरह की स्थिति में, हम अपने मौजूदा बाजार की स्थिति से बाहर निकलते हैं और इसे समतल करते हैं।

strategy.close_all(when, comment, alert_message) 

उदाहरण

strategy("closeAll Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close_all(when = open < close, comment = "close all entries")
plot(strategy.position_size)

पैरामीटर

  • when(series bool) चयन योग्य पैरामीटर. आदेश की शर्त.
  • comment(series string) वैकल्पिक पैरामीटर. आदेश के अन्य विवरण.
  • alert_message(series string) एक वैकल्पिक पैरामीटर जब आप चेतावनी बॉक्स बनाने के लिए चेतावनी बॉक्स संवाद बॉक्स में चेतावनी संदेश बॉक्स के क्षेत्र में {{strategy.order.alert_message}} का उपयोग करते हैं।

strategy.exit

यह एक बाहर निकलने का आदेश है जो प्रवेश या पूरे बाजार की स्थिति को निर्दिष्ट करता है. यदि एक ही आईडी वाले ऑर्डर पहले से ही लटका हुआ है, तो ऑर्डर को संशोधित किया जा सकता है. यदि प्रवेश आदेश निष्पादित नहीं होता है, लेकिन एक बाहर निकलने का आदेश आता है, तो यह बाहर निकलने का आदेश तब तक रोक दिया जाता है जब तक कि प्रवेश आदेश निष्पादित नहीं हो जाता है। बाहर निकलने के आदेश का उपयोग करने के लिए, आदेश strategy.cancel या strategy.cancel_all का उपयोग करना चाहिए। यदि फ़ंक्शन strategy.exit को एक बार बुलाया जाता है, तो केवल एक बार बाहर निकलना होगा। यदि कई बार बाहर निकलना है, तो एक बार बाहर निकलना होगा।应该多次调用命令strategy.exitयदि आप स्टॉप-लॉस और ट्रैक-लॉस का उपयोग करते हैं, तो ऑर्डर का प्रकार स्टॉप-लॉस है और उनमें से केवल एक को ही रखा जाएगा (पहले किया जाएगा) । यदि निम्नलिखित सभी पैरामीटर हैं, तो ऑर्डर विफल हो जाएगा।

strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message) 

उदाहरण

strategy(title = "simple strategy exit example")
strategy.entry("long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.exit("exit", "long", profit = 10, loss = 5) // generate full exit bracket (profit 10 points, loss 5 points per contract) from entry with name "long"

पैरामीटर

  • id(series string) आवश्यक पैरामीटर↑ ऑर्डर आइडेंटिफ़ायर↑ ऑर्डर को रद्द या संशोधित किया जा सकता है, इसके आइडेंटिफ़ायर का हवाला देकर↑
  • from_entry(series string) वैकल्पिक पैरामीटर↑ प्रविष्टि निर्देश चिह्न निर्दिष्ट करने के लिए बाहर निकलें↑ सभी पदों से बाहर निकलने के लिए खाली स्ट्रिंग का उपयोग करें↑ डिफ़ॉल्ट मान खाली स्ट्रिंग है↑
  • qty(series int/float) वैकल्पिक पैरामीटर↑ व्यापार से बाहर निकलने के लिए अनुबंध/शेयर संख्या/अंक संख्या/इकाइयों की संख्या↑ डिफ़ॉल्ट मान है NaN
  • qty_percent(series int/float) समता का प्रतिशत परिभाषित करता है ((0-100) ). इसकी प्राथमिकता qty पैरामीटर की प्राथमिकता से कम है. विकल्प है. डिफ़ॉल्ट मान 100 है.
  • profit(series int/float) वैकल्पिक पैरामीटर↑ लाभ लक्ष्य (डॉट्स में दर्शाया गया)↑ यदि निर्दिष्ट किया गया है, तो निर्दिष्ट लाभ राशि (डॉट्स) तक पहुंचने पर बाजार स्थिति से बाहर निकलने के लिए एक सीमा आदेश दें↑ डिफ़ॉल्ट मान NaN
  • limit(series int/float) वैकल्पिक पैरामीटर── लाभ लक्ष्य (मूल्य निर्दिष्ट करना आवश्यक है) ─ यदि निर्दिष्ट किया गया है, तो निर्दिष्ट मूल्य (मूल्य या बेहतर) पर बाजार की स्थिति से बाहर निकलें── पैरामीटर limit की प्राथमिकता पैरामीटर profit की प्राथमिकता से अधिक है── यदि गैर-NaN का मान है, तो limit profit को बदल देता है── डिफ़ॉल्ट मान NaN है।
  • loss(series int/float) वैकल्पिक पैरामीटर↑ स्टॉप लॉस (डॉट्स से इंगित)↑ यदि निर्दिष्ट किया गया है, तो निर्दिष्ट हानि राशि (डॉट्स) पर पहुंचने पर स्टॉप लॉस के साथ बाजार की स्थिति से बाहर निकलें↑ डिफ़ॉल्ट मान NaN
  • stop(series int/float) वैकल्पिक पैरामीटर── स्टॉप लॉस ((मूल्य निर्दिष्ट करना आवश्यक है) ─ यदि निर्दिष्ट किया गया है, तो निर्दिष्ट मूल्य ((या इससे भी बदतर) पर बाजार की स्थिति से बाहर निकलें─ पैरामीटर स्टॉप लॉस लॉस की प्राथमिकता पैरामीटर स्टॉप लॉस लॉस लॉस लॉस लॉस लॉस की प्राथमिकता से अधिक है── यदि गैर-स्टॉप लॉस लॉस लॉस लॉस के बजाय स्टॉप लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉस लॉ
  • trail_price(series int/float) वैकल्पिक पैरामीटर── ट्रैकिंग स्टॉप लॉस सक्रियण स्तर (मूल्य निर्दिष्ट करना आवश्यक है) ─ यदि निर्दिष्ट किया गया है, तो जब निर्दिष्ट मूल्य स्तर तक पहुंच जाता है तो ट्रैकिंग स्टॉप लॉस सेट रखा जाएगा── टैगट्रेल_ऑफसेट टैग पैरामीटर में ट्रैकिंग स्टॉप लॉस के प्रारंभिक मूल्य को निर्धारित करने के लिए विचलन का आकार निर्दिष्ट किया गया है (बिंदु के रूप में): एक्स पॉइंट सक्रियण स्तर से कम है बहु-अंतों से बाहर निकलने के लिए; एक्स पॉइंट सक्रियण स्तर से अधिक है रिक्त स्थान से बाहर निकलने के लिए── डिफ़ॉल्ट मान है NaN─।
  • trail_points(series int/float) वैकल्पिक पैरामीटर↑ ट्रैकिंग स्टॉप लॉस सक्रियण स्तर (प्रॉफिट बिंदुओं में दर्शाया गया)↑ यदि निर्दिष्ट किया गया है, तो जब गणना की गई मूल्य स्तर (प्रोफिट राशि निर्दिष्ट की जाती है) तक पहुंच जाता है, तो ट्रैकिंग स्टॉप लॉस सूची रखी जाएगी。 पिनट्रेल_ऑफसेट सूची पैरामीटर में पिनट्रेल_ऑफसेट सूची के प्रारंभिक मूल्य को निर्धारित करने के लिए विचलन की मात्रा निर्दिष्ट की जाती है (पिनट्रेल_ऑफसेट सूची में): एक्स बिंदु सक्रियण स्तर से नीचे बहु-शीर्षक से बाहर निकलने के लिए; एक्स बिंदु सक्रियण स्तर से ऊपर रिक्त स्थान से बाहर निकलने के लिए。 डिफ़ॉल्ट मान पिन NaN पिन है。
  • trail_offset(series int/float) वैकल्पिक पैरामीटर── ट्रैकिंग स्टॉप-लॉस सक्रियण स्तर (अंकित) ─ पॉइंट-मीटर विचलन का उपयोग ट्रैकिंग स्टॉप-लॉस ऑर्डर के प्रारंभिक मूल्य को निर्धारित करने के लिए किया जाता हैः X बिंदु से कम है trail_price or 'trail_points' टैप करने के लिए; X बिंदु से अधिक है trail_price या 'trail_points' टैप करने के लिए; डिफ़ॉल्ट मान है NaN टैप करना।
  • oca_name(series string) वैकल्पिक पैरामीटर; ओसीए समूह का नाम (oca_type = strategy.oca.reduce) लाभ लक्ष्य, स्टॉप / ट्रैक स्टॉप; यदि कोई नाम निर्दिष्ट नहीं किया गया है, तो यह नाम स्वचालित रूप से उत्पन्न होगा;ध्यान देंः FMZ इस पैरामीटर का समर्थन नहीं करता है.
  • comment(series string) वैकल्पिक पैरामीटर. आदेश के अन्य विवरण.
  • when(series bool) वैकल्पिक पैरामीटर↑ ऑर्डर की स्थिति↑ यदि "true" है, तो ऑर्डर रखा गया है↑ यदि "false" है, तो कुछ भी नहीं हुआ ((पहले रखे गए एक ही आईडी वाले ऑर्डर को रद्द नहीं किया गया है)↑ डिफ़ॉल्ट मान "true" है。
  • alert_message(series string) एक वैकल्पिक पैरामीटर जब आप चेतावनी बॉक्स बनाने के लिए चेतावनी बॉक्स संवाद बॉक्स में चेतावनी संदेश बॉक्स के क्षेत्र में {{strategy.order.alert_message}} का उपयोग करते हैं।

strategy.cancel

यह एक संदर्भ नाम है जो सभी पूर्वनिर्मित आदेशों को रद्द/निष्क्रिय करने के लिए है, जो निम्नलिखित कार्यों द्वारा उत्पन्न होता हैः strategy.order, strategy.entry andstrategy.exit

strategy.cancel(id, when) 

उदाहरण

strategy(title = "simple order cancellation example")
conditionForBuy = open > high[1]
strategy.entry("long", strategy.long, 1, limit = low, when = conditionForBuy) // enter long using limit order at low price of current bar if conditionForBuy is true
strategy.cancel("long", when = not conditionForBuy) // cancel the entry order with name "long" if conditionForBuy is false

पैरामीटर

  • id(series string) अपरिहार्य पैरामीटर↑ आदेश चिह्न↑ आदेश को रद्द करने के लिए इस चिह्न का पता लगाएं↑
  • when(series bool) वैकल्पिक पैरामीटर↑ आईडी के आधार पर एक आदेश रद्द करना↑ यदि "सही" है, तो यह आदेश रद्द कर दिया जाएगा↑ डिफ़ॉल्ट मान "सही" है↑

strategy.cancel_all सभी रद्द करें

这是取消/停用所有预挂单命令,由以下功能生成:strategy.order,strategy.entry和strategy.exit

strategy.cancel_all(when) 

उदाहरण

strategy(title = "simple all orders cancellation example")
conditionForBuy1 = open > high[1]
strategy.entry("long entry 1", strategy.long, 1, limit = low, when = conditionForBuy1) // enter long by limit if conditionForBuy1 is true
conditionForBuy2 = conditionForBuy1 and open[1] > high[2]
strategy.entry("long entry 2", strategy.long, 1, limit = ta.lowest(low, 2), when = conditionForBuy2) // enter long by limit if conditionForBuy2 is true
conditionForStopTrading = open < ta.lowest(low, 2)
strategy.cancel_all(conditionForStopTrading) // cancel both limit orders if the conditon conditionForStopTrading is true

पैरामीटर

  • when(series bool) वैकल्पिक पैरामीटर↑ सभी ऑर्डर की शर्त रद्द करें↑ यदि शर्त सही है तो सभी सक्रिय ऑर्डर रद्द कर दिए जाएंगे↑ डिफ़ॉल्ट मान है true

strategy.order

यह अगले आदेश का आदेश है. यदि एक ही आईडी के साथ आदेश पहले से ही लटका हुआ है, तो आदेश को संशोधित किया जा सकता है. यदि कोई आईडी निर्दिष्ट नहीं है, तो एक नया आदेश जारी किया जाएगा. आदेश को रोकने के लिए, आदेश को रणनीति.cancel या रणनीति.cancel_all का उपयोग करना चाहिए. रणनीति.entry के विपरीत, रणनीति.order एक पिरामिड के रूप से प्रभावित नहीं है।

strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)

उदाहरण

strategy(title = "simple strategy order example")
strategy.order("buy", strategy.long, 1, when = open > high[1]) // buy by market if current open great then previous high
strategy.order("sell", strategy.short, 1, when = open < low[1]) // sell by market if current open less then previous low

पैरामीटर

  • id(series string) आवश्यक पैरामीटर↑ ऑर्डर आइडेंटिफ़ायर↑ ऑर्डर को रद्द या संशोधित किया जा सकता है, इसके आइडेंटिफ़ायर का हवाला देकर↑
  • direction(strategy_direction) एक आवश्यक पैरामीटर. आदेश दिशाः'strategy.long' खरीद के लिए,'strategy.short' बेच के लिए।
  • qty(series int/float) वैकल्पिक पैरामीटर↑ सौदे के लिए अनुबंध/शेयर संख्या/बंद संख्या/इकाइयों की संख्या↑ पूर्वनिर्धारित मान है NaN
  • limit(series int/float) वैकल्पिक पैरामीटर↑ आदेश की सीमाएँ↑ यदि निर्दिष्ट है, तो आदेश का प्रकार "सीमा" या "रोक-सीमा" है↑ अन्य आदेश प्रकार "NaN" हैं↑
  • stop(series int/float) वैकल्पिक पैरामीटर↑ आदेश का स्टॉप-लॉस मूल्य↑ यदि निर्दिष्ट किया गया है, तो आदेश प्रकार "स्टॉप" या "स्टॉप-लिमिट" होगा。 अन्य आदेश प्रकार "NaN" होंगे。
  • oca_name(series string) वैकल्पिक पैरामीटर. यह ऑर्डर ओसीए समूह के नाम से संबंधित है. यदि ऑर्डर किसी भी ओसीए समूह से संबंधित नहीं है, तो एक खाली वर्ण होना चाहिए.ध्यान देंः FMZ इस पैरामीटर का समर्थन नहीं करता है.
  • oca_type(input string) विकल्पों का चयन करना; OCA ऑर्डर समूह प्रकार; अनुमत मानः strategy.oca.none - ऑर्डर किसी विशेष OCA समूह में नहीं होना चाहिए; strategy.oca.cancel - ऑर्डर OCA समूह में होना चाहिए, एक बार ऑर्डर पूरा होने के बाद, उसी समूह के सभी अन्य ऑर्डर रद्द हो जाएंगे; strategy.oca.reduce - ऑर्डर OCA समूह में होना चाहिए, यदि ऑर्डर अनुबंधों की संख्या X रखी गई है, तो उसी OCA समूह के अन्य ऑर्डर अनुबंधों की संख्या X कम हो जाएगी;ध्यान देंः FMZ इस पैरामीटर का समर्थन नहीं करता है.
  • comment(series string) वैकल्पिक पैरामीटर. आदेश के अन्य विवरण.
  • when(series bool) वैकल्पिक पैरामीटर↑ ऑर्डर की स्थिति↑ यदि "true" है, तो ऑर्डर रखा गया है↑ यदि "false" है, तो कुछ भी नहीं हुआ ((पहले रखे गए एक ही आईडी वाले ऑर्डर को रद्द नहीं किया गया है)↑ डिफ़ॉल्ट मान "true" है。
  • alert_message(series string) एक वैकल्पिक पैरामीटर जब आप चेतावनी बॉक्स बनाने के लिए चेतावनी बॉक्स संवाद बॉक्स में चेतावनी संदेश बॉक्स के क्षेत्र में {{strategy.order.alert_message}} का उपयोग करते हैं।

strategy.opentrades.entry_bar_index

bar_index वापस करता है जो एक अनलिमिटेड ट्रेड में प्रवेश करता है.

strategy.opentrades.entry_bar_index(trade_num)

10 K लाइनों का इंतजार करें और समतल करें

उदाहरण

strategy("`strategy.opentrades.entry_bar_index` Example")

barsSinceLastEntry() =>
    strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) : na

// Enter a long position if there are no open positions.
if strategy.opentrades == 0
    strategy.entry("Long",  strategy.long)

// Close the long position after 10 bars. 
if barsSinceLastEntry() >= 10
    strategy.close("Long")

पैरामीटर

  • trade_num(series int) अनप्लॉइंग लेनदेन का लेनदेन संख्या. पहला लेनदेन संख्या शून्य है.

अलविदा strategy.closedtrades.entry_bar_index strategy.closedtrades.exit_bar_index

strategy.opentrades.entry_id

एक अनप्लग किए गए लेनदेन में प्रवेश करने के लिए आईडी वापस करता है।

strategy.opentrades.entry_id(trade_num)

उदाहरण

strategy("`strategy.opentrades.entry_id` Example", overlay = true)

// We enter a long position when 14 period sma crosses over 28 period sma.
// We enter a short position when 14 period sma crosses under 28 period sma.
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

// Strategy calls to enter a long or short position when the corresponding condition is met.
if longCondition
    strategy.entry("Long entry at bar #" + str.tostring(bar_index), strategy.long)
if shortCondition
    strategy.entry("Short entry at bar #" + str.tostring(bar_index), strategy.short)

// Display ID of the latest open position.
if barstate.islastconfirmedhistory
    runtime.log("Last opened position is " + strategy.opentrades.entry_id(strategy.opentrades - 1))

लौटाता हैएक अनप्लग किए गए लेनदेन में प्रवेश करने के लिए आईडी वापस करता है।

पैरामीटर

  • trade_num(series int) अनप्लॉइंग लेनदेन का लेनदेन संख्या. पहला लेनदेन संख्या शून्य है.

नोट्सयदि trade_num सीमा में नहीं है, तो यह फ़ंक्शन na:0 को strategy.opentrades-1 पर लौटाता है।

अलविदा strategy.opentrades.entry_bar_index strategy.opentrades.entry_time

रणनीति.खुले व्यापार.प्रवेश मूल्य

एक बार जब आप एक ट्रेडिंग खाता खोलते हैं, तो आप एक ट्रेडिंग खाता खोलते हैं।

strategy.opentrades.entry_price(trade_num)

उदाहरण

strategy("strategy.closedtrades.entry_price Example 1")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Return the entry price for the latest closed trade.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)

plot(entryPrice, "Long entry price")

औसत अनपॉइंट मूल्य की गणना करें

उदाहरण

strategy("strategy.opentrades.entry_price Example 2", pyramiding = 2)

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Calculate average open position price.
avgOpenPositionPrice() =>
    sumOpenPositionPrice = 0.0
    for tradeNo = 0 to strategy.opentrades - 1
        sumOpenPositionPrice += strategy.opentrades.entry_price(tradeNo) * strategy.opentrades.size(tradeNo) / strategy.position_size
    result = nz(sumOpenPositionPrice / strategy.opentrades)

plot(avgOpenPositionPrice())

पैरामीटर

  • trade_num(series int) अनप्लॉइंग लेनदेन का लेनदेन संख्या. पहला लेनदेन संख्या शून्य है.

अलविदा strategy.closedtrades.exit_price

रणनीति.ओपन ट्रेड.प्रवेश_समय

UNIX समय को वापस करता है जब एक अनप्लॉइंग ट्रेड में प्रवेश किया जाता है।

strategy.opentrades.entry_time(trade_num)

उदाहरण

strategy("strategy.opentrades.entry_time Example")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Calculates duration in milliseconds since the last position was opened.
timeSinceLastEntry()=>
    strategy.opentrades > 0 ? (time - strategy.opentrades.entry_time(strategy.opentrades - 1)) : na

plot(timeSinceLastEntry() / 1000 * 60 * 60 * 24, "Days since last entry")

पैरामीटर

  • trade_num(series int) अनप्लॉइंग लेनदेन का लेनदेन संख्या. पहला लेनदेन संख्या शून्य है.

अलविदा strategy.closedtrades.entry_time strategy.closedtrades.exit_time

strategy.opentrades.profit

गैर-पॉलिट ट्रेडों के लिए लाभ और हानि लौटाते हैं। हानि को नकारात्मक माना जाता है।

strategy.opentrades.profit(trade_num)

अंतिम ट्रेड के लाभ को वापस करें

उदाहरण

strategy("`strategy.opentrades.profit` Example 1", commission_type = strategy.commission.percent, commission_value = 0.1)

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

plot(strategy.opentrades.profit(strategy.opentrades - 1), "Profit of the latest open trade")

सभी अनप्लग किए गए लेनदेन पर लाभ की गणना करें

उदाहरण

strategy("`strategy.opentrades.profit` Example 2", pyramiding = 5)

// Strategy calls to enter 5 long positions every 2 bars.
if bar_index % 2 == 0
    strategy.entry("Long", strategy.long, qty = 5)

// Calculate open profit or loss for the open positions.
tradeOpenPL() =>
    sumProfit = 0.0
    for tradeNo = 0 to strategy.opentrades - 1
        sumProfit += strategy.opentrades.profit(tradeNo)
    result = sumProfit
    
plot(tradeOpenPL(), "Profit of all open trades")

पैरामीटर

  • trade_num(series int) अनप्लॉइंग लेनदेन का लेनदेन संख्या. पहला लेनदेन संख्या शून्य है.

अलविदा strategy.closedtrades.profit strategy.openprofit strategy.netprofit strategy.grossprofit

strategy.opentrades.size

अनप्लॉइंग ट्रेडों में ट्रेडिंग दिशा और अनुबंधों की संख्या लौटाता है. यदि यह मान > 0 है, तो बाजार की स्थिति बहुआयामी है. यदि यह मान < 0 है, तो बाजार की स्थिति खाली है.

strategy.opentrades.size(trade_num)

उदाहरण

strategy("`strategy.opentrades.size` Example 1")

// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
    strategy.close("Long")

// Plot the number of contracts in the latest open trade.
plot(strategy.opentrades.size(strategy.opentrades - 1), "Amount of contracts in latest open trade")

औसत मुनाफे के प्रतिशत की गणना करें

उदाहरण

strategy("`strategy.opentrades.size` Example 2")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Calculate profit for all open trades.
profitPct = 0.0
for tradeNo = 0 to strategy.opentrades - 1
    entryP = strategy.opentrades.entry_price(tradeNo)
    exitP = close
    profitPct += (exitP - entryP) / entryP * strategy.opentrades.size(tradeNo) * 100
    
// Calculate average profit percent for all open trades.
avgProfitPct = nz(profitPct / strategy.opentrades)

पैरामीटर

  • trade_num(series int) अनप्लॉइंग लेनदेन का लेनदेन संख्या. पहला लेनदेन संख्या शून्य है.

अलविदा strategy.closedtrades.size strategy.position_size strategy.opentrades strategy.closedtrades

रणनीति. बंद व्यापार. प्रविष्टि_बार_इंडेक्स

वापस लाइटिंग ट्रेड में प्रवेश करने के लिए bar_index.

strategy.closedtrades.entry_bar_index(trade_num)

उदाहरण

strategy("strategy.closedtrades.entry_bar_index Example")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
    strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
    strategy.close("Long")
// Function that calculates the average amount of bars in a trade.
avgBarsPerTrade() =>
    sumBarsPerTrade = 0
    for tradeNo = 0 to strategy.closedtrades - 1
        // Loop through all closed trades, starting with the oldest.
        sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
    result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())

पैरामीटर

  • trade_num(series int) लेन-देन का नंबर जिसके लिए लेन-देन समाप्त हो गया है. पहली लेन-देन का नंबर शून्य है.

अलविदा strategy.closedtrades.exit_bar_index strategy.opentrades.entry_bar_index

रणनीति.बंद ट्रेड.प्रस्थान_मूल्य

एक बार जब आप एक ट्रेडिंग खाता खोलते हैं, तो आप अपने ट्रेडों को वापस कर सकते हैं।

strategy.closedtrades.exit_price(trade_num)

उदाहरण

strategy("strategy.closedtrades.exit_price Example 1")

// We are creating a long trade every 5 bars
if bar_index % 5 == 0
    strategy.entry("Long",  strategy.long)
strategy.close("Long")

// Return the exit price from the latest closed trade.
exitPrice = strategy.closedtrades.exit_price(strategy.closedtrades - 1)

plot(exitPrice, "Long exit price")

औसत लाभ का प्रतिशत गणना करें

उदाहरण

strategy("strategy.closedtrades.exit_price Example 2")

// Strategy calls to create single short and long trades.
if bar_index == last_bar_index - 15
    strategy.entry("Long Entry",  strategy.long)
else if bar_index == last_bar_index - 10
    strategy.close("Long Entry")
    strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
    strategy.close("Short")

// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
    entryP = strategy.closedtrades.entry_price(tradeNo)
    exitP = strategy.closedtrades.exit_price(tradeNo)
    profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
    
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)

plot(avgProfitPct)

पैरामीटर

  • trade_num(series int) लेन-देन का नंबर जिसके लिए लेन-देन समाप्त हो गया है. पहली लेन-देन का नंबर शून्य है.

अलविदा strategy.closedtrades.entry_price

strategy.closedtrades.exit_bar_index

बार्_इंडेक्स वापस करें।

strategy.closedtrades.exit_bar_index(trade_num)

उदाहरण

strategy("strategy.closedtrades.exit_bar_index Example 1")

// Strategy calls to place a single short trade. We enter the trade at the first bar and exit the trade at 10 bars before the last chart bar.
if bar_index == 0
    strategy.entry("Short",  strategy.short)
if bar_index == last_bar_index - 10
    strategy.close("Short")

// Calculate the amount of bars since the last closed trade.
barsSinceClosed = strategy.closedtrades > 0 ? bar_index - strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) : na

plot(barsSinceClosed, "Bars since last closed trade")

प्रत्येक लेन-देन के लिए औसत K लाइनों की गणना करें।

उदाहरण

strategy("strategy.closedtrades.exit_bar_index Example 2")

// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
    strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
    strategy.close("Long")

// Function that calculates the average amount of bars per trade.
avgBarsPerTrade() =>
    sumBarsPerTrade = 0
    for tradeNo = 0 to strategy.closedtrades - 1
        // Loop through all closed trades, starting with the oldest.
        sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
    result = nz(sumBarsPerTrade / strategy.closedtrades)

plot(avgBarsPerTrade())

पैरामीटर

  • trade_num(series int) लेन-देन का नंबर जिसके लिए लेन-देन समाप्त हो गया है. पहली लेन-देन का नंबर शून्य है.

अलविदा bar_index

रणनीति. बंद व्यापार. प्रविष्टि_आईडी

एक लॉगिन आईडी लौटाता है जो पहले से ही ट्रेडों को समाप्त कर चुका है।

strategy.closedtrades.entry_id(trade_num)

उदाहरण

strategy("strategy.closedtrades.entry_id Example", overlay = true)
var isOpen = false 
var openIndex = -1
// Enter a short position and close at the previous to last bar.
if not barstate.ishistory and not isOpen
    strategy.entry("Short at bar #" + str.tostring(bar_index), strategy.short)
    isOpen := true
    openIndex := bar_index
if openIndex != -1 and bar_index > openIndex + 100
    strategy.close_all()
    
// Display ID of the last entry position.
if barstate.islastconfirmedhistory
    runtime.log("Last Entry ID is: " + strategy.closedtrades.entry_id(strategy.closedtrades - 1))

लौटाता हैएक लॉगिन आईडी लौटाता है जो पहले से ही ट्रेडों को समाप्त कर चुका है।

पैरामीटर

  • trade_num(series int) लेन-देन का नंबर जिसके लिए लेन-देन समाप्त हो गया है. पहली लेन-देन का नंबर शून्य है.

नोट्सयदि trade_num सीमा में नहीं है, तो फ़ंक्शन na:0 को strategy.closedtrades-1 पर लौटाता है।

अलविदा strategy.closedtrades.entry_bar_index strategy.closedtrades.entry_time

रणनीति. बंद व्यापार. प्रवेश_मूल्य

एक बार जब आप एक ट्रेडिंग खाता खोलते हैं, तो आप पहले से ही ट्रेडों के लिए प्रवेश मूल्य वापस कर सकते हैं।

strategy.closedtrades.entry_price(trade_num)

उदाहरण

strategy("strategy.closedtrades.entry_price Example 1")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Return the entry price for the latest  entry.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)

plot(entryPrice, "Long entry price")

औसत लाभ का प्रतिशत गणना करें

उदाहरण

strategy("strategy.closedtrades.entry_price Example 2")

// Strategy calls to create single short and long trades
if bar_index == last_bar_index - 15
    strategy.entry("Long Entry",  strategy.long)
else if bar_index == last_bar_index - 10
    strategy.close("Long Entry")
    strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
    strategy.close("Short")

// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
    entryP = strategy.closedtrades.entry_price(tradeNo)
    exitP = strategy.closedtrades.exit_price(tradeNo)
    profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
    
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)

plot(avgProfitPct)

पैरामीटर

  • trade_num(series int) लेन-देन का नंबर जिसके लिए लेन-देन समाप्त हो गया है. पहली लेन-देन का नंबर शून्य है.

अलविदा strategy.closedtrades.exit_price strategy.closedtrades.size strategy.closedtrades

रणनीति.बंद व्यापार.प्रवेश समय_

यूनिक्स समय को वापस करें, जब लेनदेन समाप्त हो गया हो।

strategy.closedtrades.entry_time(trade_num)

उदाहरण

strategy("strategy.closedtrades.entry_time Example", overlay = true)

// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
    strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
    strategy.close("Long")

// Calculate the average trade duration 
avgTradeDuration() =>
    sumTradeDuration = 0
    for i = 0 to strategy.closedtrades - 1
        sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i)
    result = nz(sumTradeDuration / strategy.closedtrades)

// Display average duration converted to seconds and formatted using 2 decimal points
if barstate.islastconfirmedhistory
    runtime.log(str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")

पैरामीटर

  • trade_num(series int) लेन-देन का नंबर जिसके लिए लेन-देन समाप्त हो गया है. पहली लेन-देन का नंबर शून्य है.

अलविदा strategy.opentrades.entry_time strategy.closedtrades.exit_time time

strategy.closedtrades.profit

व्यापार के लाभ और हानि को बहाल किया जाता है। हानि नकारात्मक है।

strategy.closedtrades.profit(trade_num)

उदाहरण

strategy("`strategy.closedtrades.profit` Example")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")

// Calculate average gross profit by adding the difference between gross profit and commission.
avgGrossProfit() =>
    sumGrossProfit = 0.0
    for tradeNo = 0 to strategy.closedtrades - 1
        sumGrossProfit += strategy.closedtrades.profit(tradeNo) - strategy.closedtrades.commission(tradeNo)
    result = nz(sumGrossProfit / strategy.closedtrades)
    
plot(avgGrossProfit(), "Average gross profit")

पैरामीटर

  • trade_num(series int) लेन-देन का नंबर जिसके लिए लेन-देन समाप्त हो गया है. पहली लेन-देन का नंबर शून्य है.

अलविदा strategy.opentrades.profit strategy.closedtrades.commission

strategy.closedtrades.size

ट्रेडिंग दिशा और समतल ट्रेडों में अनुबंधों की संख्या लौटाता है. यदि यह मान > 0, तो बाजार की स्थिति बहुआयामी है. यदि यह मान < 0, तो बाजार की स्थिति खाली है.

strategy.closedtrades.size(trade_num)

उदाहरण

strategy("`strategy.closedtrades.size` Example 1")

// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
    strategy.close("Long")

// Plot the number of contracts traded in the last closed trade.     
plot(strategy.closedtrades.size(strategy.closedtrades - 1), "Number of contracts traded")

औसत लाभ प्रतिशत की गणना करें

उदाहरण

strategy("`strategy.closedtrades.size` Example 2")

// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
    strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
    strategy.close("Long")


// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
    entryP = strategy.closedtrade

अधिक

वूहुओयनएक ही समय में कई लेनदेन कैसे चलेंगे?

हल्के बादलकृपया मुझे बताएं, क्या पाइन अधिक लेनदेन कर सकता है? या JS की तरह लेनदेन को पार कर सकता है? धन्यवाद.

लिसा20231अधिक जानकारी के लिए धन्यवाद।

कलात्मकताओह, यह पाइन स्क्रिप्ट प्लेटफॉर्म पर ओकेएक्स के सिमुलेटर का उपयोग कैसे करती है?

कलात्मकतायह ट्रेडिंग व्यू प्लेटफॉर्म की रणनीति को सीधे आविष्कारक प्लेटफॉर्म पर कॉपी करने के बराबर है!

आविष्कारक मात्रा - छोटे सपनेPINE भाषा केवल एकल-प्रजाति रणनीतियों को कर सकती है, बहु-प्रजाति रणनीतियों के लिए सबसे अच्छा है या पायथन, जावास्क्रिप्ट, सी ++ में डिजाइन लिखना।

आविष्कारक मात्रा - छोटे सपनेओह, हाँ, ओकेएक्स विशेष है, उनके एनालॉग वातावरण और वास्तविक डिस्क वातावरण एक ही पते पर हैं, केवल एक अंतर है।

हल्के बादलokx एनालॉग डिस्क का उपयोग नहीं किया जा सकता है ।

आविष्कारक मात्रा - छोटे सपनेइस विविध वास्तुकला समस्या का समाधान नहीं किया जा सकता है, क्योंकि प्रत्येक एक्सचेंज का इंटरफ़ेस अलग है, और इंटरफ़ेस आवृत्ति सीमाएं अलग नहीं हैं, जिससे कई समस्याएं उत्पन्न होती हैं।

आविष्कारक मात्रा - छोटे सपनेठीक है, सुझाव देने के लिए धन्यवाद, और इस आवश्यकता को रिपोर्ट करें।

हल्के बादलमुझे लगता है कि JS के साथ मिश्रण करना बेहतर है, क्योंकि JS विभिन्न प्रकार के लेनदेन के लिए बेहतर अनुकूल है।

ट्रेंडिंग शिकारीक्या आप बाद में कई किस्मों पर विचार करेंगे?

आविष्कारक मात्रा - छोटे सपनेअशिष्टता।

हल्के बादलअच्छा, शुक्रिया ड्रीम डैड।

आविष्कारक मात्रा - छोटे सपनेनमस्ते, अभी के लिए, PINE भाषा नीति केवल एक ही किस्म का काम करती है।

आविष्कारक मात्रा - छोटे सपनेअजनबी, आपके समर्थन के लिए धन्यवाद. दस्तावेज को और भी बेहतर किया जाएगा.

आविष्कारक मात्रा - छोटे सपनेहाँ।

आविष्कारक मात्रा - छोटे सपनेPINE टेम्पलेट क्लासरूम, पैरामीटर पर स्विच एक्सचेंज बेस एड्रेस सेट किया जा सकता है.