রিসোর্স লোড হচ্ছে... লোডিং...

FMZ PINE স্ক্রিপ্ট নথিপত্র

লেখক:উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্ন, তৈরিঃ ২০২২-০৫-০৬ ১৪ঃ২৭ঃ০৬, আপডেটঃ ২০২৪-০১-১২ ১৫ঃ২৭ঃ০৪

রিটার্ন মানঅ্যারের উপাদানগুলির মধ্যপন্থী সংখ্যা।

প্যারামিটার

  • 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

এই ফাংশনটি একটি নতুন অ্যারে অবজেক্ট তৈরি করে যা boolean টাইপের উপাদানগুলির সমন্বয়ে গঠিত।

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 দ্বারা 10 হিসাবে স্টপ-ডাউন দামের পার্থক্য, দামের এক লাফ একটি অন্তর্নির্মিত পরিবর্তনশীলsyminfo.mintick

কৌশল

এই ফাংশনটি একাধিক নীতিগত বৈশিষ্ট্য সেট করে। সাবধান, শুধুমাত্র সমর্থন।titleshorttitleoverlaypyramidingdefault_qty_typedefault_qty_valueপ্যারামিটার, অন্যান্য প্যারামিটারগুলি PINE ভাষা নীতির ইন্টারফেস প্যারামিটারগুলির মাধ্যমে সেট করা যেতে পারে।

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 এর চেয়ে বড় হতে হবে। যদি এটি বাদ দেওয়া হয় তবে পিতা সিরিজের ফর্ম্যাট ব্যবহার করা হয়। যদি ফর্ম্যাটটি format.inherit হয় এবং এই প্যারামিটারটি সেট করা থাকে তবে ফর্ম্যাটটি format.price হয়ে যায়।
  • scale(scale_type) সূচকটি মূল্যের কোঅর্ডিনেটর অনুসরণ করা উচিত। সম্ভাব্য মানগুলি হলঃ scale.right, scale.left, scale.none。scale.none মানটি কেবলমাত্র true overlay=true প্যাকেজ সেটিংয়ের সাথে ব্যবহার করা যেতে পারে।
  • pyramiding(const int) একই দিকের সর্বাধিক অনুমোদিত সংখ্যা। যদি এই মানটি 0 হয় তবে একই দিকের মধ্যে কেবলমাত্র একটি প্রবেশের আদেশ খোলা যেতে পারে এবং অন্য কোনও প্রবেশের আদেশ প্রত্যাখ্যান করা হবে। ডিফল্ট মানটি 0।
  • calc_on_order_fills(const bool) অতিরিক্ত ইনট্রাবার অর্ডার গণনা করা হয়। যদি প্যারামিটারটি true সেট করা হয়, তবে false এর ডিফল্ট মান হল false
  • calc_on_every_tick(const bool) অতিরিক্ত ইনট্রাবার পলিসি গণনা করা হয়. যদি প্যারামিটারটি true হয়, তবে প্যারামিটারটি k-শ্রেণীর বন্ধ না করে রিয়েল-টাইমে প্রতিটি স্টেপ গণনা করবে। প্যারামিটারটি historicalতিহাসিক ডেটার প্যারামিটার গণনাকে প্রভাবিত করে না। ডিফল্ট মানটি false
  • max_bars_back(const int) ইতিহাসের রেফারেন্স নীতিতে ব্যবহার করা যেতে পারে; যদি স্ক্রিপ্ট কোডে ভেরিয়েবলের ইতিহাসের ডেটা উল্লেখ করা হয় ((কনস্ট []' অপারেটর ব্যবহার করা হয়), তবে এই পরামিতিটি স্ক্রিপ্টের প্রতিটি অন্তর্নির্মিত ভেরিয়েবল বা ব্যবহারকারী ভেরিয়েবলের জন্য প্রয়োগ করা হবে; পাইন স্ক্রিপ্টের পরিবর্তনশীল বাফারের আকারটি সাধারণত স্বয়ংক্রিয়ভাবে সনাক্ত করা হয়; তবে কিছু ক্ষেত্রে এটি অসম্ভব, যা এই কারণেই প্যারামিটারটি ব্যবহারকারীকে এই মানটির নীচের সীমাটি ম্যানুয়ালি সেট করতে দেয়; দ্রষ্টব্যঃ প্যারামিটারের পরিবর্তে max_bars_back ফাংশনটি ব্যবহার করা সর্বোত্তম, কারণ এটি কেবলমাত্র একটি ভেরিয়েবলের জন্য প্রযোজ্য।
  • backtest_fill_limits_assumption(const int) সীমাবদ্ধ মূল্য তালিকা কার্যকর অনুমান করা হয়। সীমাবদ্ধ মূল্য তালিকা শুধুমাত্র যখন বাজার মূল্য সীমাবদ্ধ মূল্য তালিকা স্তর নির্দিষ্ট টিক সংখ্যা অতিক্রম করে, সীমাবদ্ধ মূল্য তালিকা intrabar লেনদেন করা হয়।
  • default_qty_type(const string) এর জন্য নির্ধারিতqtyপ্যারামিটারের মান strategy.entry বা strategy.order ফাংশনে প্রদর্শিত হয়। সম্ভাব্য মান হলঃ strategy.fixed চুক্তি/স্টক/হ্যান্ড সংখ্যা, strategy.cash মুদ্রা পরিমাণ, বা strategy.percent_of_equity উপলব্ধ ইক্যুইটি শতাংশ।
  • 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) যখন টেমপ্লেটটি true টেমপ্লেট হিসাবে সেট করা হয়, তখন টেমপ্লেটটি বন্ধ হয়ে গেলে এবং কৌশল গণনা শেষ হওয়ার পরে, অর্ডারগুলি কার্যকর করার জন্য অন্যান্য প্রচেষ্টা করা হবে। যদি অর্ডারগুলি বাজার মূল্যের হয়, তবে ব্রোকার সিমুলেটরগুলি পরবর্তী টেমপ্লেটটি খুলার আগে তাদের কার্যকর করবে। যদি অর্ডারগুলি সীমাবদ্ধ মূল্য হয় তবে কেবলমাত্র মূল্যের শর্তগুলি পূরণ করা হলে অর্ডারগুলি কার্যকর করা হবে। যদি বর্তমান টেমপ্লেটের অবস্থানগুলি বন্ধ করতে হয় তবে এই বিকল্পটি কার্যকর। ডিফল্টটি টেমপ্লেটটি false টেমপ্লেট।
  • close_entries_rule(const string) অর্ডার বন্ধ হওয়ার ক্রম নির্ধারণ করে। অনুমোদিত মান হলঃ FIFO string অথবা ANY string、FIFO ((প্রথম আসা;First-In, First-Out) অর্থ হল যেহেতু একাধিক লেনদেন খোলা আছে, তাই প্রথম লেনদেনটি বন্ধ করা আবশ্যক। এই নিয়মটি স্টক, ফিউচার এবং মার্কিন বৈদেশিক মুদ্রার ক্ষেত্রে প্রযোজ্য। ANY string অর্থ হল যে কোনও ক্রমে লেনদেন বন্ধ করা যেতে পারে; এটি অ-মার্কিন বৈদেশিক মুদ্রার লেনদেনের ক্ষেত্রে অনুমোদিত। ডিফল্ট মান হল FIFO string。
  • 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) শূন্যমূল্য হল শূন্যমূল্য পজিশনের শতকরা হার, যা নগদ বা বন্ধক দ্বারা আবৃত হওয়া আবশ্যক। এটি অবশ্যই অ-নেতিবাচক হতে হবে। এটি অপশনাল। এর ডিফল্ট মান 100।
  • explicit_plot_zorder(const bool) নির্দেশকগুলির অঙ্কন, ভরাট এবং অনুভূমিক রেখার উপস্থাপনের ক্রম নির্দিষ্ট করে। যদি সত্য হয় তবে নির্দেশক কোডে প্রদর্শিত ক্রম অনুসারে চার্টগুলি অঙ্কন করা হবে, প্রতিটি নতুন চার্ট পূর্ববর্তী চার্টের উপরে অঙ্কিত হবে। এটি কেবলমাত্র প্লট * (() ফাংশন, ফিল এবং হ্লিনের জন্য প্রযোজ্য।
  • initial_capital(const int/float) প্রাথমিকভাবে কৌশলগত লেনদেনের জন্য ব্যবহার করা যেতে পারে, যা টাকাপয়সার মুদ্রা প্যাকেজে সংজ্ঞায়িত মুদ্রা দ্বারা প্রতিনিধিত্ব করা হয়।
  • risk_free_rate(const int/float) ঝুঁকিমুক্ত রিটার্ন হ'ল ঝুঁকিমুক্ত ন্যূনতম বা শূন্য বিনিয়োগের মূল্যের বার্ষিক শতাংশ পরিবর্তন, যা শার্প এবং সোর্টিনো অনুপাত গণনা করতে ব্যবহৃত হয়। ডিফল্ট মানটি 2।

নোটপ্রতিটি কৌশল স্ক্রিপ্টের একটি কৌশল কল থাকতে হবে। পিনস্ক্রিপ্ট কোড যা calc_on_every_tick = true প্যারামিটার ব্যবহার করে ইতিহাস রেকর্ড এবং রিয়েল-টাইম ডেটার জন্য বিভিন্ন গণনা করতে পারে। যখন আপনি কৌশল ভিত্তিতে অ-মানক ধরণের চার্ট ব্যবহার করেন, তখন আপনাকে জানতে হবে যে ফলাফলগুলি ভিন্ন হতে পারে। অর্ডারটি এই টেবিলের মূল্যে কার্যকর হবে (যেমন, Heikin Ashi এর জন্য Heikin Ashi এর মূল্য ব্যবহার করা হবে) । অতএব, আমরা আপনাকে দৃ strongly়ভাবে পরামর্শ দিচ্ছি যে আপনি আপনার কৌশলগুলিতে স্ট্যান্ডার্ড চার্ট ধরণের ব্যবহার করুন।

দেখা হবে indicator

strategy.entry

এটি একটি মার্কেট এন্ট্রি কমান্ড। যদি একই আইডি সহ অর্ডারগুলি ইতিমধ্যে ঝুলানো থাকে তবে অর্ডারগুলি সংশোধন করা যেতে পারে। যদি আইডি নির্দিষ্ট না করা হয় তবে নতুন অর্ডারগুলি জারি করা হবে। প্রবেশের নির্দেশটি বন্ধ করার জন্য, কৌশল.cancel বা কৌশল.cancel_all আদেশটি ব্যবহার করা উচিত। ফাংশন কৌশল.অর্ডারের তুলনায়, কৌশল.এন্ট্রি ফাংশনটি একটি পিরামিড দ্বারা প্রভাবিত, যা বাজারের অবস্থানকে সঠিকভাবে বিপরীত করতে পারে। যদি লিমিট টেমপ্লেট এবং স্টপ টেমপ্লেট পরামিতি উভয়ই টেমপ্লেট 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) বিকল্প পরামিতি। অর্ডারটি OCA গ্রুপের নামের অন্তর্ভুক্ত। অর্ডারটি যদি কোনও OCA গ্রুপের অন্তর্ভুক্ত না হয় তবে একটি ফাঁকা অক্ষর থাকা উচিত।বিঃদ্রঃঃ এই প্যারামিটারটি 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

এটি একটি প্রত্যাহারের আদেশ যা প্রবেশ বা পুরো বাজারের অবস্থানকে নির্দিষ্ট করে। যদি একই আইডি সহ অর্ডারগুলি ইতিমধ্যে ঝুলানো থাকে তবে অর্ডারটি সংশোধন করা যেতে পারে। যদি প্রবেশের অর্ডারটি সম্পন্ন না হয় তবে একটি প্রত্যাহারের অর্ডার উপস্থিত হয় তবে প্রত্যাহারের অর্ডারটি স্থগিত করা হবে যতক্ষণ না প্রবেশের অর্ডারটি সম্পন্ন হওয়ার পরে একটি প্রত্যাহারের অর্ডার স্থাপন করা হয়। একটি প্রত্যাহারের অর্ডার বন্ধ করার জন্য, কৌশল.cancel বা কৌশল.cancel_all কমান্ডটি ব্যবহার করা উচিত। যদি কৌশল.exit ফাংশনটি একবার কল করা হয় তবে কেবল একবার প্রত্যাহার করা হবে। যদি একাধিক প্রত্যাহারের প্রয়োজন হয়, তবে এটি কেবলমাত্র একবার প্রত্যাহার করবে।应该多次调用命令strategy.exit❏ যদি আপনি স্টপ লস এবং ট্র্যাক স্টপ ব্যবহার করেন, যার অর্ডার টাইপ হল স্টপ স্টপ ট্যাব, তবে এর মধ্যে শুধুমাত্র একটিই স্থাপন করা হবে (প্রথমটি করা হবে) ❏ যদি নিম্নলিখিত সমস্ত পরামিতি ❏ লাভ ট্যাব, সীমাবদ্ধ ট্যাব, হ্রাস ট্যাব, স্টপ ট্যাব, ট্রেইল_পয়েন্ট ট্যাব, ট্রেইল_অফসেট ট্যাব সবই NaN ট্যাব হয়, তাহলে অর্ডারটি ব্যর্থ হবে ❏ যদি মার্কেট অর্ডারটি ব্যবহার করে বেরিয়ে যাওয়ার জন্য কৌশল.close বা কৌশল.close_all ব্যবহার করা হয়।

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) প্যারামিটার নির্বাচনযোগ্য; মুনাফা লক্ষ্য ((দাম নির্দিষ্ট করতে হবে)); যদি নির্দিষ্ট করা হয়, তবে নির্দিষ্ট মূল্য ((বা আরও ভাল) এ বাজার অবস্থান থেকে বেরিয়ে আসুন; প্যারামিটার লিমিট টন এর অগ্রাধিকার প্যারামিটার লিমিট টন এর অগ্রাধিকারের চেয়ে বেশি ((যদি এটি অ-লিমিট NaN টন হয় তবে লিমিট টন লিমিট লাভ টনকে প্রতিস্থাপন করে)); ডিফল্ট মানটি হল লিমিট টন NaN টন।
  • loss(series int/float) প্যারামিটারটি নির্বাচন করা যায়── স্টপ লস (ডট দিয়ে নির্দেশিত) ─ যদি নির্দিষ্ট করা হয়, তবে নির্দিষ্ট ক্ষতির পরিমাণ (ডট) এ পৌঁছানোর সময় স্টপ লস (ডট) দিয়ে বাজার থেকে বেরিয়ে আসুন── ডিফল্ট মান হল NaN
  • stop(series int/float) প্যারামিটার নির্বাচন করা যায়。 স্টপ লস ((পরিমাণ নির্ধারণ করা প্রয়োজন)。 যদি নির্দিষ্ট করা হয় তবে নির্ধারিত মূল্যে (অথবা আরও খারাপ) বাজার অবস্থান থেকে বেরিয়ে আসবে。 প্যারামিটার স্টপ লস প্যারামিটারের অগ্রাধিকার প্যারামিটার ইট লস প্যারামিটারের অগ্রাধিকারের চেয়ে বেশি ((পরিমাণটি যদি ইট না হয় তবে স্টপ লস প্যারামিটারের পরিবর্তে ইট লস প্যারামিটারের পরিবর্তে ইট NaN প্যারামিটারের অগ্রাধিকার হয়)。 ডিফল্ট মানটি হল ইট NaN প্যারামিটারের অগ্রাধিকার।
  • trail_price(series int/float) প্যারামিটার নির্বাচন করা যায়── ট্র্যাকিং স্টপ লস অ্যাক্টিভেশন লেভেল (মূল্য নির্ধারণের প্রয়োজন) ─ যদি নির্দিষ্ট করা হয়, তবে নির্দিষ্ট মূল্যের স্তরে পৌঁছানোর সময় ট্র্যাকিং স্টপ লস অ্যাকাউন্ট স্থাপন করা হবে── প্যারামিটারে ট্র্যাকিং স্টপ লস অ্যাকাউন্টের প্রাথমিক মূল্য নির্ধারণের জন্য প্রান্তিককরণের পরিমাণ নির্ধারণ করা হয় (পয়েন্টের মাধ্যমে): এক্স পয়েন্ট সক্রিয়করণের স্তরের নীচে একাধিক শিরোনাম থেকে বেরিয়ে আসার জন্য; এক্স পয়েন্ট সক্রিয়করণের স্তরের উপরে শূন্যপয়েন্ট থেকে বেরিয়ে আসার জন্য─ ডিফল্ট মান হল NaN─।
  • trail_points(series int/float) প্যারামিটার নির্বাচনযোগ্য; ট্র্যাকিং স্টপ লস অ্যাক্টিভেশন লেভেল ((লাভকে বিন্দুতে দেখানো হয়)); যদি নির্দিষ্ট করা হয়, যখন গণনা করা দামের স্তর ((লাভের পরিমাণ নির্দিষ্ট করা হয়) এ পৌঁছানো হয় তখন ট্র্যাকিং স্টপ লস অ্যাকাউন্ট স্থাপন করা হবে; প্যারামিটারে ট্র্যাকিং স্টপ লস অ্যাকাউন্টের প্রাথমিক মূল্য নির্ধারণের জন্য ট্র্যাকিং স্টপ লস অ্যাকাউন্টের বিচ্যুতির পরিমাণ নির্ধারণ করা হয় (বিন্দুতে): এক্স পয়েন্ট অ্যাক্টিভেশন লেভেলের নীচে একাধিক শিরোনাম প্রত্যাহারের জন্য; এক্স পয়েন্ট অ্যাক্টিভেশন লেভেলের উপরে শিরোনাম প্রত্যাহারের জন্য; ডিফল্ট মান হল NaN শিরোনাম ।
  • trail_offset(series int/float) প্যারামিটার নির্বাচন করা যায়. ট্র্যাকিং স্টপ লস সক্রিয়করণের স্তর (পয়েন্ট দ্বারা নির্দেশিত) । পয়েন্ট দ্বারা নির্দেশিত বিচ্যুতির পরিমাণ ট্র্যাকিং স্টপ লস লিস্টের প্রাথমিক মূল্য নির্ধারণ করতে ব্যবহৃত হয়ঃ X পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট পয়েন্ট।
  • 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) নির্বাচনযোগ্য পরামিতি । আইডি-ভিত্তিক একটি অর্ডার বাতিল করুন । যদি "true" হয় তবে অর্ডারটি বাতিল হবে । ডিফল্ট মানটি "true" ।

কৌশল.বাতিল_সব

这是取消/停用所有预挂单命令,由以下功能生成: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 এর তুলনায় ফাংশন কৌশল.অর্ডারটি পিরামিডের আকারের দ্বারা প্রভাবিত হয় না।

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) বিকল্প পরামিতি। অর্ডারটি OCA গ্রুপের নামের অন্তর্ভুক্ত। অর্ডারটি যদি কোনও OCA গ্রুপের অন্তর্ভুক্ত না হয় তবে একটি ফাঁকা অক্ষর থাকা উচিত।বিঃদ্রঃঃ এই প্যারামিটারটি 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

ব্যার_ইন্ডেক্স ফিরে আসে।

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

কৌশল. ওপেন ট্রেডস. এন্ট্রি_টাইম

ইউনিক্স টাইম ফেরত দেয় যখন একটি অপ্রচলিত লেনদেন শুরু হয়।

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

অপ্রতিষ্ঠিত লেনদেনে লেনদেনের দিকনির্দেশনা এবং চুক্তির সংখ্যা প্রদান করে। ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধ্বমুখী ঊর্ধমুখী ঊর্ধ্বমুখী ঊর্ধমুখী ঊর্ধমুখী ঊর্ধমুখী ঊর্ধমুখী ঊর্ধমুখী ঊর্ধ

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

কৌশল.বন্ধ ট্রেড.এন্ট্রি_বার_ইন্ডেক্স

বার_ইনডেক্স ফিরে আসে।

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 এর মতো লেনদেন করতে পারে? ধন্যবাদ।

লিসা ২০২৩১বিস্তারিত তথ্যের জন্য ধন্যবাদ।

শিল্পকলাওহো! এই পাইন স্ক্রিপ্টটি কীভাবে প্ল্যাটফর্মে ওকেএক্সের সিমুলেটর ব্যবহার করে?

শিল্পকলাএটি ট্রেডিংভিউ প্ল্যাটফর্মের কৌশলগুলি সরাসরি ইনভেন্টর প্ল্যাটফর্মে অনুলিপি করার সমান!

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নপাইন ভাষা শুধুমাত্র একক প্রজাতির কৌশলগুলি করতে পারে, তবে বহু-প্রজাতির কৌশলগুলি পাইথন, জাভাস্ক্রিপ্ট, সি ++ এ ডিজাইন করা ভাল।

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নওহ, হ্যাঁ, ওকেএক্স বিশেষ, তাদের অ্যানালগ পরিবেশ এবং বাস্তব পরিবেশ একই ঠিকানা আছে, কিন্তু অন্য কোথাও পার্থক্য করা হয়। সুতরাং একটি বেস ঠিকানা পরিবর্তন করার জন্য একটি উপায় নেই, একটি অ্যানালগ ডিস্ক পরিবর্তন করতে।

হালকা মেঘokx অ্যালগরিদম ডিস্ক ব্যবহার করা যাবে না ।

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নএই বৈচিত্র্যপূর্ণ আর্কিটেকচার সমস্যার সমাধান করা যায় না, কারণ প্রতিটি এক্সচেঞ্জের ইন্টারফেস আলাদা এবং ইন্টারফেস ফ্রিকোয়েন্সি সীমাবদ্ধতাও একই নয়, যা অনেক সমস্যা সৃষ্টি করে।

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নভাল, আপনার পরামর্শের জন্য আপনাকে ধন্যবাদ, এই অনুরোধটি এখানে জানান।

হালকা মেঘএটি JS এর সাথে মিশ্রিত করা ভাল বলে মনে হচ্ছে, যা বিভিন্ন লেনদেনের পদ্ধতিতে আরও ভালভাবে মানিয়ে নিতে পারে।

ট্রেন্ড হান্টারআপনি কি মনে করেন যে, আপনি যদি আপনার পণ্যের জন্য একটি নতুন পণ্যের সন্ধান করতে চান তবে আপনি কি ভবিষ্যতে আরও বিভিন্ন ধরণের পণ্য বিবেচনা করবেন?

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নঅযৌক্তিক ।

হালকা মেঘভাল, ধন্যবাদ ড্রিম।

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নহ্যালো, পিআইএনই ভাষার কৌশলটি সাময়িকভাবে শুধুমাত্র একটি জাতের জন্য কাজ করে।

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নঅযৌক্তিক, আপনার সমর্থনের জন্য ধন্যবাদ।

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নহ্যাঁ।

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নPINE টেমপ্লেট ক্লাস ল্যাবরেটরি, যার প্যারামিটারে বিনিময় স্থানান্তর বেস ঠিকানা সেট করা যেতে পারে। নথির শুরুঃ PINE ভাষা বিনিময় ক্লাস ল্যাবরেটরি টেমপ্লেট প্যারামিট।