অভিযোজিত মাল্টি-সিগন্যাল মুভিং এভারেজ গতিশীল অবস্থান বৃদ্ধির কৌশল

DCA MA SMA EMA HMA RSI STOCHASTIC RSI
সৃষ্টির তারিখ: 2025-08-19 10:57:23 অবশেষে সংশোধন করুন: 2025-08-19 10:57:23
অনুলিপি: 1 ক্লিকের সংখ্যা: 207
2
ফোকাস
319
অনুসারী

অভিযোজিত মাল্টি-সিগন্যাল মুভিং এভারেজ গতিশীল অবস্থান বৃদ্ধির কৌশল অভিযোজিত মাল্টি-সিগন্যাল মুভিং এভারেজ গতিশীল অবস্থান বৃদ্ধির কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি নিম্নলিখিত কয়েকটি মূল প্রযুক্তির উপর ভিত্তি করে তৈরি করা হয়েছেঃ

  1. দ্বৈত চলমান গড় পদ্ধতি

  2. স্টোক্যাস্টিক আরএসআই: একটি সহায়ক প্রবেশের শর্ত হিসাবে, যখন স্টোক্যাস্টিক আরএসআই এর কে লাইনে 5 এর স্তরটি পরিধান করে এবং দ্রুত চলমান গড় একটি উত্থান প্রবণতা ((পরবর্তী 5 টি ধারাবাহিক চক্রের উত্থান) হয়, তখন একটি ক্রয় সংকেত ট্রিগার করে।

  3. ডায়নামিক সিকিউরিটি অর্ডার সিস্টেম: প্রাথমিক প্রবেশের পরে, কৌশলটি পূর্বনির্ধারিত মূল্যের স্তরের নীচে একাধিক সুরক্ষা অর্ডার সেট করে। এই মূল্য স্তরগুলি মূল্য বিচ্যুতি প্যারামিটার এবং ধাপে স্কেলিং ফ্যাক্টরের উপর ভিত্তি করে গণনা করা হয়।

  4. পজিশনের আকার পরিবর্তনশীল: প্রতিটি সিকিউরিটি অর্ডারের আকার ক্রমবর্ধমান স্কেলিং ফ্যাক্টর অনুসারে ক্রমবর্ধমান ক্রমবর্ধমান কাঠামো গঠন করে।

  5. টার্গেট লভ্যাংশ সমতলীকরণ ব্যবস্থা: কৌশলটি গড় পজিশনের দামের উপর ভিত্তি করে একটি টার্গেট মুনাফা স্তর সেট করে, যখন দাম সেই স্তরে পৌঁছে যায়, তখন সমস্ত পজিশনকে সমতল করা হবে।

এই নীতির কার্যকরকরণ নিম্নরূপঃ

  • স্টোক্যাস্টিক আরএসআই বা মুভিং এভারেজ ক্রস সিগন্যালের শর্ত পূরণ হলে, বেসিক অর্ডারের আকারের উপর ভিত্তি করে একটি প্রাথমিক অবস্থান তৈরি করা হয়
  • যদি দাম কমে যায়, তাহলে পূর্বনির্ধারিত মূল্য বিচ্যুতির স্তরের উপর ভিত্তি করে একটি নিরাপত্তা অর্ডার ট্রিগার করা হয়
  • প্রতিটি নিরাপত্তা আদেশের আকার অনুপাতে বৃদ্ধি, সর্বোচ্চ 10 নিরাপত্তা আদেশ সেট করা যেতে পারে
  • যখন দাম গড় হোল্ডিং প্রাইস প্লাস টার্গেট মুনাফা শতাংশে ফিরে আসে, তখন সমস্ত পজিশনের জন্য এককালীন পজিশনিং হয়

কৌশলগত সুবিধা

  1. মাল্টি-ডাইমেনশনাল এন্ট্রি সিগন্যাল: প্রবণতা সূচক ((চলমান গড়) এবং গতিশীলতা সূচক ((স্টোক্যাস্টিক আরএসআই) এর সমন্বয়, প্রবেশের নির্ভুলতা বাড়ায়, মিথ্যা সংকেত হ্রাস করে।

  2. অভিযোজনযোগ্য: কৌশলগত পরামিতিগুলি অত্যন্ত কাস্টমাইজযোগ্য, ব্যবহারকারীরা বিভিন্ন বাজারের পরিবেশ এবং ব্যক্তিগত ঝুঁকি পছন্দ অনুসারে চলমান গড়ের ধরণ, সময়কাল, ক্রস-দিক, মূল্য বিচ্যুতি অনুপাত ইত্যাদির মতো প্যারামিটারগুলি সামঞ্জস্য করতে পারে।

  3. খরচ গড় প্রভাব: প্রাক-নির্ধারিত সুরক্ষিত অর্ডার সিস্টেমের মাধ্যমে, দাম কমে গেলে স্বয়ংক্রিয়ভাবে পজিশন বাড়ানো, গড় পজিশন হোল্ডিং ব্যয় কার্যকরভাবে হ্রাস করা এবং চূড়ান্ত মুনাফার সম্ভাবনা বাড়ানো।

  4. তহবিলের কার্যকারিতানিরাপত্তা অর্ডার স্কেল ক্রমবর্ধমান নকশা তহবিল বরাদ্দ আরো দক্ষ করে তোলে, আরো তহবিল কম দামের অর্ডারে বরাদ্দ করা হয়, যা মূল্য বিনিয়োগের ধারণার সাথে সঙ্গতিপূর্ণ।

  5. স্বয়ংক্রিয়ভাবে সম্পাদন: একবার পরামিতিগুলি সেট হয়ে গেলে, কৌশলটি সম্পূর্ণ স্বয়ংক্রিয়ভাবে কাজ করতে পারে, কোনও মানবিক হস্তক্ষেপের প্রয়োজন নেই, আবেগগত ট্রেডিং সিদ্ধান্তগুলি হ্রাস করে।

  6. নমনীয় বাজার অভিযোজনযোগ্যতা: চলমান গড়ের ক্রস-ডাইরেকশন (উপরের দিকে বা নিচের দিকে) সামঞ্জস্য করে কৌশলটি বিভিন্ন বাজার পরিস্থিতির সাথে খাপ খাইয়ে নিতে পারে (বুল বা বেয়ার) ।

কৌশলগত ঝুঁকি

  1. অনিবার্য ঝুঁকি: কৌশলগত নকশায় স্পষ্টভাবে কোনও ক্ষতি হ্রাস ব্যবস্থা সেট করা হয়নি, যা ধারাবাহিকভাবে নেমে যাওয়ার ক্ষেত্রে ব্যাপক ক্ষতির কারণ হতে পারে।

  2. অর্থের উচ্চ চাহিদাযেহেতু কৌশলটি একাধিক সুরক্ষা আদেশের জন্য অর্থ সংরক্ষণের প্রয়োজন, এবং প্রতিটি আদেশের আকার বৃদ্ধি পায়, তাই প্রকৃত অর্থের প্রয়োজন প্রাথমিক বিনিয়োগের চেয়ে অনেক বেশি হতে পারে, বিনিয়োগকারীরা নিশ্চিত করতে হবে যে তাদের পর্যাপ্ত নগদ রয়েছে।

  3. বহু-পাক্ষিকতা: বর্তমান কৌশল শুধুমাত্র বহুদিকের কাজকে সমর্থন করে এবং দীর্ঘমেয়াদী নিম্নমুখী প্রবণতার ক্ষেত্রে কার্যকর নয়। এই কৌশলটি সামগ্রিকভাবে ভাল দেখাচ্ছে এমন সম্পদগুলিতে ব্যবহার করার পরামর্শ দেওয়া হয়েছে।

  4. পরামিতি সংবেদনশীলতা: কৌশলগত কার্যকারিতা প্যারামিটার সেটিংয়ের উপর অত্যন্ত নির্ভরশীল, ভুল প্যারামিটারগুলি প্রাক-প্রাথমিকভাবে সুরক্ষা অর্ডার বা অতিরিক্ত স্টকিংয়ের কারণ হতে পারে।

  5. গড় খরচ ফাঁদযদিও এই কৌশলটি গড় খরচ কমানোর জন্য ব্যবহৃত হয়, কিন্তু যদি সম্পদের মূল্য ক্রমাগত হ্রাস পায় এবং পুনরুদ্ধার করা যায় না, তবে এটি “অনুসরণ” এবং তহবিলের ফাঁদ হতে পারে।

ঝুঁকি হ্রাস করার উপায়গুলির মধ্যে রয়েছেঃ সামগ্রিকভাবে ভাল দেখাচ্ছে এমন সম্পদগুলিতে এই কৌশলটি প্রয়োগ করুন; সুরক্ষা আদেশের জন্য পর্যাপ্ত তহবিল সংরক্ষণ করুন; নিয়মিতভাবে পর্যালোচনা করুন যে কৌশলটির প্যারামিটারগুলি বাজারের পরিবেশের সাথে মেলে কিনা; সর্বাধিক সুরক্ষা আদেশের সংখ্যা সীমাবদ্ধ করুন; কৌশলটিতে একটি সর্বজনীন ক্ষতির ব্যবস্থা যুক্ত করার বিষয়ে বিবেচনা করুন।

অপ্টিমাইজেশান দিক

  1. ক্ষতিপূরণ বাড়ানোকৌশলটির সবচেয়ে সুস্পষ্ট ঘাটতি হ’ল কোনও স্টপ লস মেশিন নেই। একটি সর্বজনীন স্টপ লস প্যারামিটার যুক্ত করার পরামর্শ দেওয়া হয়েছে, যখন ক্ষতির একটি নির্দিষ্ট শতাংশ পৌঁছে যায়, তখন সমস্ত পজিশনকে প্লেইন করতে বাধ্য করা হয়, তহবিলের সুরক্ষা।

  2. মার্কেট ট্রেন্ড ফিল্টারে যোগদান করুন: দীর্ঘমেয়াদী চলমান গড় বা এডিএক্স সূচকের মতো দীর্ঘমেয়াদী ট্রেন্ডিং সূচক যুক্ত করা যেতে পারে, কেবলমাত্র মূল প্রবণতার দিকনির্দেশের সাথে সামঞ্জস্য থাকলে কৌশলটি কার্যকর করা যায়, একটি সুস্পষ্ট ভাল বাজারে অপ্রয়োজনীয় ঝুঁকি এড়ানো যায়।

  3. সুরক্ষা অর্ডার ট্রিগার লজিক অনুকূলিতকরণ: বর্তমান নিরাপত্তা আদেশ শুধুমাত্র দামের বিচ্যুতির উপর ভিত্তি করে ট্রিগার করা হয়, যা নিরাপত্তা আদেশের ট্রিগারকে আরও বুদ্ধিমান করার জন্য ট্র্যাফিক, ওঠানামা বা অন্যান্য প্রযুক্তিগত সূচকগুলির সমন্বয় বিবেচনা করা যেতে পারে।

  4. ডায়নামিক অ্যাডজাস্ট টার্গেট মুনাফা: বাজারের অস্থিরতা বা প্রবেশের পরে দামের গতিশীলতার উপর ভিত্তি করে টার্গেট মুনাফার স্তরটি সামঞ্জস্য করতে পারে, উচ্চতর অস্থির বাজারের পরিবেশে উচ্চতর টার্গেট মুনাফা সেট করতে পারে।

  5. যোগ করা হয়েছে: এক্সটেনশন কৌশলটি কমানোর দিককে সমর্থন করে, যা এটিকে নিম্নমুখী প্রবণতাগুলির মধ্যে সমানভাবে কার্যকর করে তোলে, কৌশলটির সর্ব-বাজার অভিযোজনযোগ্যতা বাড়ায়।

  6. রিট্রেসমেন্ট নিয়ন্ত্রণ যোগ করুন: সর্বোচ্চ প্রত্যাহারের সীমা নির্ধারণ করুন, যখন কৌশলগত প্রত্যাহারের মূল্য ছাড়িয়ে যায় তখন ট্রেডিং স্থগিত করুন বা প্যারামিটারগুলি পুনরায় সেট করুন, যাতে প্রতিকূল বাজার পরিস্থিতিতে ধারাবাহিক ক্ষতি রোধ করা যায়।

  7. পর্যায়ক্রমিক প্যারামিটার অপ্টিমাইজেশান: স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশান ফাংশন যুক্ত করা হয়েছে, যা সাম্প্রতিক বাজার তথ্যের উপর ভিত্তি করে প্যারামিটারগুলিকে নিয়মিতভাবে সামঞ্জস্য করে, যাতে কৌশলগুলি বাজারের বৈশিষ্ট্যগুলির পরিবর্তনের সাথে খাপ খাইয়ে নিতে পারে।

এই অপ্টিমাইজেশানগুলি কৌশলগুলির ঝুঁকি ব্যবস্থাপনা ক্ষমতা, বাজার অভিযোজনযোগ্যতা এবং দীর্ঘমেয়াদী স্থিতিশীলতা উন্নত করার লক্ষ্যে তৈরি করা হয়েছে, যাতে তারা বিভিন্ন বাজারের পরিবেশে তুলনামূলকভাবে স্থিতিশীল পারফরম্যান্স অর্জন করতে পারে।

সারসংক্ষেপ

স্বনির্ধারিত মাল্টি-সিগন্যাল সমান্তরাল ডায়নামিক পজিশন কার্ডিং কৌশলটি ক্রিপ্টোকারেন্সি মার্কেটের জন্য একটি সিস্টেমাইজড ট্রেডিং পদ্ধতি সরবরাহ করে, একটি গতিশীল সুরক্ষা অর্ডার সিস্টেমের সাথে, একটি চলমান গড় এবং একটি র্যান্ডম তুলনামূলকভাবে দুর্বল সূচকের সাথে একটি প্রবেশের সংকেত যুক্ত করে। এর মূল সুবিধা হ’ল স্বয়ংক্রিয়ভাবে দামের পুনর্নির্ধারণের সময় ধীরে ধীরে পজিশন বাড়ানো, গড় পজিশন হোল্ডিং ব্যয় হ্রাস করা এবং দামের পুনর্নির্ধারণের সময় লাভ করা।

যাইহোক, এই কৌশলটিও সুস্পষ্ট ঝুঁকির সাথে জড়িত, বিশেষত স্টপ লস ম্যানেজমেন্টের অভাব এবং ধারাবাহিকভাবে নেমে যাওয়ার ক্ষেত্রে তহবিলের ক্ষতি হতে পারে। এই কৌশলটি ব্যবহার করার সময়, বিনিয়োগকারীদের তাদের ঝুঁকির বৈশিষ্ট্য সম্পর্কে পুরোপুরি সচেতন হওয়া উচিত, পর্যাপ্ত তহবিলের রিজার্ভ নিশ্চিত করা উচিত এবং অতিরিক্ত ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা যুক্ত করার বিষয়ে বিবেচনা করা উচিত।

যুক্তিসঙ্গত প্যারামিটার সেট এবং প্রস্তাবিত অপ্টিমাইজেশনের দিকনির্দেশের মাধ্যমে, কৌশলটি ক্রিপ্টোকারেন্সির দীর্ঘমেয়াদী বিনিয়োগকারীদের জন্য একটি শক্তিশালী হাতিয়ার হতে পারে, বিশেষত যারা নির্দিষ্ট ক্রিপ্টো সম্পদের দীর্ঘমেয়াদী মূল্য বিশ্বাস করেন তবে প্রবেশের ব্যয়কে অনুকূল করতে চান। বাস্তবে, এটি মডেলিংয়ের পরিবেশে প্রথমে পুরোপুরি পরীক্ষা করার পরামর্শ দেওয়া হয় এবং বাস্তব বাজারের পারফরম্যান্সের উপর ভিত্তি করে কৌশলগত প্যারামিটারগুলিকে ক্রমাগত সামঞ্জস্য ও অনুকূলিত করা হয়।

কৌশল সোর্স কোড
/*backtest
start: 2024-08-19 00:00:00
end: 2025-08-18 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_OKX","currency":"BTC_USDT","balance":5000}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// 

//@version=6

strategy(title = 'PEPE- DCA Strategy', overlay = true, pyramiding = 11, process_orders_on_close = true, commission_value = 0.1)

Base_order_size = input.int(1500, 'Base order Size')/close
Safety_order_size = input.int(350, 'Save order')/close

Triger_Type = input.string('Over', 'Entry at Cross Over / Under', options = ['Over', 'Under'], group = 'Deal start condition > Trading View custom signal', inline = '1', tooltip = 'Deal start condition decision')
Short_Moving_Average = input.string('SMA', 'Short Moving Average', group = 'Deal start condition > Trading View custom signal', inline = '2', options = ['SMA', 'EMA', 'HMA'])
Short_Period = input.int(17, 'Period', group = 'Deal start condition > Trading View custom signal', inline = '2')
Long_Moving_Average = input.string('HMA', 'Long Moving Average', group = 'Deal start condition > Trading View custom signal', inline = '3', options = ['SMA', 'EMA', 'HMA'])
Long_Period = input.int(26, 'Period', group = 'Deal start condition > Trading View custom signal', inline = '3')
Target_profit = input.float(1.9, 'Target profit (%)', step = 0.05, group = 'Take profit / Stop Loss', inline = '1') * 0.01
Max_safety_trades_count = input.int(5, 'Max safety trades count', maxval = 10, group = 'Safety orders', inline = '1')
Price_deviation = input.float(2.45, 'Price deviation to open safety orders (% from initial order)', step = 0.01, group = 'Safety orders', inline = '2') * 0.01
Safety_order_volume_scale = input.float(1.85, 'Safety order volume scale', step = 0.01, group = 'Safety orders', inline = '3')
Safety_order_step_scale = input.float(1.61, 'Safety order step scale', step = 0.01, group = 'Safety orders', inline = '3')



// Position status
status_none = strategy.opentrades == 0
status_long = strategy.position_size[1] == 0 and strategy.position_size > 0

/////////// Moving_Averages 

Short_Moving_Average_Line = Short_Moving_Average == 'SMA' ? ta.sma(close, Short_Period) : Short_Moving_Average == 'EMA' ? ta.ema(close, Short_Period) : Short_Moving_Average == 'HMA' ? ta.sma(close, Short_Period) : na

Long_Moving_Average_Line = Long_Moving_Average == 'SMA' ? ta.sma(close, Long_Period) : Long_Moving_Average == 'EMA' ? ta.ema(close, Long_Period) : Long_Moving_Average == 'HMA' ? ta.sma(close, Long_Period) : na
///////////// Moving_Averages long condition
Base_order_Condition = Triger_Type == 'Over' ? ta.crossover(Short_Moving_Average_Line, Long_Moving_Average_Line) : ta.crossunder(Short_Moving_Average_Line, Long_Moving_Average_Line) // Buy when close crossing lower band
//////////////////// Savety order deviation
safety_order_deviation(index) =>
    Price_deviation * math.pow(Safety_order_step_scale, index - 1)
pd = Price_deviation
ss = Safety_order_step_scale
//////// Cal of deviation steps
step(i) =>
    i == 1 ? pd : i == 2 ? pd + pd * ss : i == 3 ? pd + (pd + pd * ss) * ss : i == 4 ? pd + (pd + (pd + pd * ss) * ss) * ss : i == 5 ? pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss : i == 6 ? pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss : i == 7 ? pd + (pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss) * ss : i == 8 ? pd + (pd + (pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss) * ss) * ss : i == 9 ? pd + (pd + (pd + (pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss) * ss) * ss) * ss : i == 10 ? pd + (pd + (pd + (pd + (pd + (pd + (pd + (pd + (pd + pd * ss) * ss) * ss) * ss) * ss) * ss) * ss) * ss) * ss : na

long_line(i) =>
    close[1] - close[1] * step(i)

////////// Savety order Triger
Safe_order_line(i) =>
    i == 0 ? ta.valuewhen(status_long, long_line(0), 0) : i == 1 ? ta.valuewhen(status_long, long_line(1), 0) : i == 2 ? ta.valuewhen(status_long, long_line(2), 0) : i == 3 ? ta.valuewhen(status_long, long_line(3), 0) : i == 4 ? ta.valuewhen(status_long, long_line(4), 0) : i == 5 ? ta.valuewhen(status_long, long_line(5), 0) : i == 6 ? ta.valuewhen(status_long, long_line(6), 0) : i == 7 ? ta.valuewhen(status_long, long_line(7), 0) : i == 8 ? ta.valuewhen(status_long, long_line(8), 0) : i == 9 ? ta.valuewhen(status_long, long_line(9), 0) : i == 10 ? ta.valuewhen(status_long, long_line(10), 0) : na
l1 =  Safe_order_line(1) 
l2 =  Safe_order_line(2) 
l3 =  Safe_order_line(3)
l4 =  Safe_order_line(4) 
l5 =  Safe_order_line(5) 
l6 =  Safe_order_line(6) 
l7 =  Safe_order_line(7) 
l8 =  Safe_order_line(8) 
l9 =  Safe_order_line(9)
l10 = Safe_order_line(10)   
//// take profit
TP_line = strategy.position_avg_price * (1 + Target_profit)
//Size of safety orders
safety_order_size(i) =>
    Safety_order_size * math.pow(Safety_order_volume_scale, i - 1)

///plots

plot(Short_Moving_Average_Line, 'Short MA', color = color.new(color.red, 0), style = plot.style_line)
plot(Long_Moving_Average_Line, 'Long MA', color = color.new(color.green, 0), style = plot.style_line)
plot(strategy.opentrades == 1  ? l1 : na, 'Safety order1',color = color.red, style = plot.style_linebr)
plot(strategy.opentrades == 2  ? l2 : na, 'Safety order2', color = color.red, style = plot.style_linebr)
plot(strategy.opentrades == 3  ? l3 : na, 'Safety order3', color = color.red, style = plot.style_linebr)
plot(strategy.opentrades == 4  ? l4 : na, 'Safety order4', color =color.red, style = plot.style_linebr)
plot(strategy.opentrades == 5  ? l5 : na, 'Safety order5', color = color.red, style = plot.style_linebr)
plot(strategy.opentrades == 6  ? l6 : na, 'Safety order5', color = color.red, style = plot.style_linebr)
plot(strategy.opentrades == 7  ? l7 : na, 'Safety order6', color = color.red, style = plot.style_linebr)
plot(strategy.opentrades == 8  ? l8 : na, 'Safety order7', color = color.red, style = plot.style_linebr)
plot(strategy.opentrades == 9 ?  l9 : na, 'Safety order8', color = color.red, style = plot.style_linebr)
plot(strategy.opentrades == 10 ? l10 : na, 'Safety order9', color = color.red, style = plot.style_linebr)
plot(strategy.position_size > 0 ? TP_line : na, 'Take Profit', color = color.green, style = plot.style_linebr)

///////////////SToch-Rsi
smoothK = input.int(1, "ST_RSI -K settings for long", minval=1)
smoothD = input.int(3, "ST_RSI-D settings for long", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(9, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)

////////buy cond- ST_RSI
bk = ta.crossover(k,5)
r = ta.rising(Short_Moving_Average_Line,5)
buy = bk and r

//Stradegy mod

if Base_order_Condition or buy
    if (Base_order_Condition or buy ) and strategy.opentrades == 0
        strategy.entry('Base order', strategy.long, qty = Base_order_size )

for i = 1 to Max_safety_trades_count by 1
    i_s = str.tostring(i)
    if strategy.opentrades <= i and strategy.position_size > 0 and not(strategy.position_size == 0)
        strategy.entry('Safety order' + i_s, strategy.long, qty = safety_order_size(i) , limit = Safe_order_line(i))

for i = 1 to Max_safety_trades_count by 1
    i_s = str.tostring(i)
    if status_none
        strategy.cancel('Safety order' + i_s)
    strategy.exit('TP/SL', 'Base order', limit = TP_line)
    strategy.exit('TP/SL', 'Safety order' + i_s, limit = TP_line)

//