ট্রিপল মুভিং এভারেজ ফ্যান পিন প্যাটার্ন ডায়নামিক রিস্ক কোয়ান্টিটেটিভ ট্রেডিং স্ট্র্যাটেজি

SMA EMA ATR PIN BAR Trailing Stop Dynamic Leverage
সৃষ্টির তারিখ: 2025-05-14 11:07:47 অবশেষে সংশোধন করুন: 2025-05-14 11:07:47
অনুলিপি: 2 ক্লিকের সংখ্যা: 266
2
ফোকাস
319
অনুসারী

ট্রিপল মুভিং এভারেজ ফ্যান পিন প্যাটার্ন ডায়নামিক রিস্ক কোয়ান্টিটেটিভ ট্রেডিং স্ট্র্যাটেজি ট্রিপল মুভিং এভারেজ ফ্যান পিন প্যাটার্ন ডায়নামিক রিস্ক কোয়ান্টিটেটিভ ট্রেডিং স্ট্র্যাটেজি

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির ট্রেডিং নীতিমালা মূলত নিম্নলিখিত কয়েকটি মূল উপাদানগুলির উপর ভিত্তি করেঃ

  1. ট্রিপল মুভিং এভারেজ ট্রেন্ড কনফার্মেশন সিস্টেমকৌশলঃ তিনটি ভিন্ন পিরিয়ডের চলমান গড় ব্যবহার করে একটি প্রবণতা পরিবেশ তৈরি করুন, যার জন্য দ্রুত ইএমএ (ডিফল্ট 6 পিরিয়ড), মাঝারি ইএমএ (ডিফল্ট 18 পিরিয়ড) এবং ধীর এসএমএ (ডিফল্ট 50 পিরিয়ড) একটি সুস্পষ্ট প্রবণতা সারি গঠন করে। মাল্টি-হেড ট্রেন্ডের জন্য প্রয়োজনঃ দ্রুত ইএমএ > মাঝারি ইএমএ > ধীর এসএমএ; ফাঁকা ট্রেন্ডের জন্য প্রয়োজনঃ দ্রুত ইএমএ < মাঝারি ইএমএ < ধীর এসএমএ।

  2. পিন আকৃতি সংকেত সনাক্তকরণকৌশলঃ ট্রেন্ডের দিকনির্দেশনা প্রতিষ্ঠার পরে, প্রবণতার দিকের সাথে সামঞ্জস্যপূর্ণ পিন আকৃতির সন্ধান করুন (পিন বার) একটি নির্দিষ্ট প্রবেশের পয়েন্ট হিসাবে। পিন আকৃতির জন্য কে-লাইন শ্যাডো লাইনটি সামগ্রিক দৈর্ঘ্যের 66% এর বেশি হওয়া দরকার, যাতে যথেষ্ট শক্তিশালী প্রতিক্রিয়াশীলতা নিশ্চিত হয়।

  3. বিলম্বিত সংকেত নিশ্চিতকরণ ব্যবস্থাপুনর্নির্মাণ সমস্যা এড়াতে, কৌশলটি সম্পূর্ণরূপে গঠিত কে-লাইন ডেটা ব্যবহার করে (যেমনঃ confirmedClose, confirmedOpen ইত্যাদি) সংকেত তৈরি করে এবং সংকেত নিশ্চিতকরণটি 1 কে-লাইন বিলম্বিত করে যাতে নিশ্চিত হয় যে ট্রেডিংটি নিশ্চিত বাজার ক্রিয়াকলাপের উপর ভিত্তি করে।

  4. গতিশীল ঝুঁকি ব্যবস্থাপনা সিস্টেম

    • তহবিলের ঝুঁকি নিয়ন্ত্রণঃ ব্যবহারকারীর সেট করা ঝুঁকির শতাংশের উপর ভিত্তি করে ঝুঁকির পরিমাণ গণনা করুন (usr_risk) এবং লিভারেজ গুণক
    • পজিশন গণনা সূত্রঃ ঝুঁকি পরিমাণ = মোট মূলধন × ঝুঁকি শতাংশ × লিভারেজ গুণক
    • স্টপডাউন গতিশীলতার উপর ভিত্তি করে নির্দিষ্ট ট্রেডিং ইউনিট গণনা করা হয়ঃ ইউনিট = ঝুঁকি পরিমাণ ÷ স্টপডাউন
  5. দ্বৈত ক্ষতি প্রতিরোধ

    • স্থির স্টপ লসঃ ATR গুণিতক ((atr_mult) এর উপর ভিত্তি করে প্রাথমিক সুরক্ষা
    • ট্র্যাকিং স্টপ লসঃ slPoints এবং slOffset প্যারামিটারগুলির মাধ্যমে মুনাফা সুরক্ষা
  6. সময় উইন্ডো নিয়ন্ত্রণ

    • সিগন্যাল মেয়াদোত্তীর্ণ প্রক্রিয়াঃ ent_canc প্যারামিটার দ্বারা স্বয়ংক্রিয়ভাবে ওভারটাইম সিগন্যাল বাতিল করুন
    • শুক্রবারের বন্ধের সময় স্বয়ংক্রিয়ভাবে পজিশন বন্ধ করুন, সপ্তাহান্তে ফাঁকির ঝুঁকি এড়াতে

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

  1. পুনর্নির্মাণ বিরোধী নকশা: কৌশলটি সম্পূর্ণরূপে নিশ্চিত কে-লাইন ডেটার উপর ভিত্তি করে তৈরি করা হয়েছে, যা সাধারণ সূচক পুনরায় আঁকতে সমস্যা এড়ায় এবং বাস্তব ডিস্কের সাথে ফিডব্যাক ফলাফলের সামঞ্জস্য বাড়ায়।

  2. ভাল ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা

    • 0.1 থেকে 100 গুণ পর্যন্ত সূক্ষ্ম লিভারেজ সমন্বয় সমর্থন করে, যা বিভিন্ন ঝুঁকিপূর্ণ পছন্দগুলির জন্য উপযুক্ত
    • তহবিলের শতাংশ ঝুঁকি নিয়ন্ত্রণের মাধ্যমে, তহবিল বৃদ্ধির সময় স্বয়ংক্রিয়ভাবে অবস্থানগুলি প্রসারিত করুন, তহবিল প্রত্যাহারের সময় স্বয়ংক্রিয়ভাবে অবস্থানগুলি হ্রাস করুন
    • ডাবল স্টপ মেকানিজম একাধিক স্তরের তহবিল সুরক্ষা প্রদান করে
  3. উচ্চ মানের সংকেত ফিল্টার

    • ট্রিপল ট্রেন্ড কনফার্মেশন মেকানিজম অস্পষ্ট ট্রেন্ডে ট্রেডিং এড়ায়
    • পিন ফর্ম্যাটে ৬৬% ছায়া অনুপাত প্রয়োজন, দুর্বল সংকেত ফিল্টার করে
    • সিগন্যাল এবং ট্রেন্ডের দিকনির্দেশের সাথে মিলিত হওয়ার প্রয়োজনীয়তা, বিপরীতমুখী ব্যবসায়ের ঝুঁকি হ্রাস করে
  4. নমনীয় সময় ব্যবস্থাপনা

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

কৌশলগত ঝুঁকি

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

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

  3. লিভারেজ ঝুঁকিযদিও কৌশলটি 100 গুণ পর্যন্ত লিভারেজ সমর্থন করে, খুব বেশি লিভারেজ অ্যাকাউন্টের তীব্র ওঠানামা বা এমনকি পজিশন ব্রেকিংয়ের কারণ হতে পারে। সমাধানঃ লিভারেজ ব্যবহারে সংরক্ষণশীলতা বজায় রাখুন, প্রাথমিক সেটিংটি 5 গুণের বেশি নয় এবং ইতিহাসের পরিমাপের ফলাফল অনুসারে সামঞ্জস্য করুন।

  4. পরামিতি অপ্টিমাইজেশান এবং কার্ভ ফিটনেস ঝুঁকিসমাধানঃ একাধিক সময়কাল এবং বাজারে প্যারামিটারগুলির স্থায়িত্ব পরীক্ষা করুন, ধাপে ধাপে প্যারামিটারগুলির বিশ্লেষণ এবং যাচাইকরণ ব্যবহার করুন।

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

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

  1. বাজার পরিবেশে ফিল্টারিং বাড়ানো

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

    • পিন বার সিগন্যালের পর্যাপ্ত বাজার অংশগ্রহণ নিশ্চিত করার জন্য লেনদেনের পরিমাণ নিশ্চিত করার প্রয়োজনীয়তা বৃদ্ধি করা
    • গুরুত্বপূর্ণ মূল্যের কাছাকাছি সংকেতগুলিকে অগ্রাধিকার দেওয়ার জন্য প্রতিরোধের যাচাইকরণ যুক্ত করুন
    • এই অপ্টিমাইজেশানটি সিগন্যালের গুণমান এবং নির্ভরযোগ্যতা উল্লেখযোগ্যভাবে উন্নত করে
  3. গতিশীল প্যারামিটার স্বনির্ধারিত

    • EMA চক্রের জন্য স্বনির্ধারিত সমন্বয়, বাজারের অস্থিরতা অনুযায়ী স্বয়ংক্রিয়ভাবে প্যারামিটারগুলি সামঞ্জস্য করে
    • বাজারের কাঠামোর গতিশীলতার উপর নির্ভর করে স্টপ-ড্র্যাপের দূরত্বকে সামঞ্জস্য করার জন্য একটি স্মার্ট স্টপ-ড্র্যাপ সিস্টেম তৈরি করা
    • এই অপ্টিমাইজেশানটি কৌশলগুলিকে বিভিন্ন বাজার পর্যায়ে আরও ভালভাবে অভিযোজিত করতে এবং দীর্ঘমেয়াদী স্থিতিশীলতা বাড়িয়ে তুলতে পারে
  4. মাল্টি টাইম সাইকেল সমন্বয়

    • প্রবণতা ফিল্টার শর্তগুলিকে উচ্চতর সময়কালের সাথে যুক্ত করুন
    • বিভিন্ন সময়কালের সিগন্যালের সমন্বয় নিশ্চিতকরণ ব্যবস্থা বাস্তবায়ন
    • সময় চক্রের সমন্বয় শব্দ কমাতে এবং সংকেত নির্ভরযোগ্যতা উন্নত করতে পারে
  5. তহবিল ব্যবস্থাপনা অপ্টিমাইজেশন

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

সারসংক্ষেপ

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

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

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

কৌশল সোর্স কোড
/*backtest
start: 2024-05-14 00:00:00
end: 2025-05-12 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5

strategy("Rich Harvester", overlay=true, 
  initial_capital=200, 
  commission_type=strategy.commission.percent, 
  commission_value=0.1,
  slippage=2,
  default_qty_type=strategy.cash)

// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// 抗重绘核心修改(使用已确认K线数据)
// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
confirmedClose = close[1]
confirmedOpen = open[1]
confirmedHigh = high[1]
confirmedLow = low[1]

// User Input (新增参数)
leverage = input.float(title='杠杆倍数', minval=0.1, maxval=100.0, step=0.1, defval=1.0, group="★ 风险控制")

// User Input (原有参数完全保留)
usr_risk = input.int(title='Equity Risk (%)', minval=1, maxval=100, step=1, defval=3, confirm=false)
atr_mult = input.float(title='Stop Loss (x*ATR, Float)', minval=0.1, maxval=100, step=0.1, defval=0.5, confirm=false)
slPoints = input.int(title='Stop Loss Trail Points (Pips)', minval=1, maxval=1000, step=1, defval=1, confirm=false)
slOffset = input.int(title='Stop Loss Trail Offset (Pips)', minval=1, maxval=1000, step=1, defval=1, confirm=false)
sma_slow = input.int(title='Slow SMA (Period)', minval=1, maxval=500, step=1, defval=50, confirm=false)
ema_medm = input.int(title='Medm EMA (Period)', minval=1, maxval=500, step=1, defval=18, confirm=false)
ema_fast = input.int(title='Fast EMA (Period)', minval=1, maxval=500, step=1, defval=6, confirm=false)
atr_valu = input.int(title='ATR (Period)', minval=1, maxval=500, step=1, defval=14, confirm=false)
ent_canc = input.int(title='Cancel Entry After X Bars (Period)', minval=1, maxval=500, step=1, defval=3, confirm=false)

// Create Indicators (使用确认数据)
slowSMA = ta.sma(confirmedClose, sma_slow)
medmEMA = ta.ema(confirmedClose, ema_medm)
fastEMA = ta.ema(confirmedClose, ema_fast)
atr = ta.atr(atr_valu)[1]  // 使用前值

// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// 信号系统优化(延迟信号确认)
// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
bullishPinBar = (confirmedClose > confirmedOpen and (confirmedOpen - confirmedLow) > 0.66 * (confirmedHigh - confirmedLow)) or
              (confirmedClose < confirmedOpen and (confirmedClose - confirmedLow) > 0.66 * (confirmedHigh - confirmedLow))

bearishPinBar = (confirmedClose > confirmedOpen and (confirmedHigh - confirmedClose) > 0.66 * (confirmedHigh - confirmedLow)) or
               (confirmedClose < confirmedOpen and (confirmedHigh - confirmedOpen) > 0.66 * (confirmedHigh - confirmedLow))

// 趋势过滤条件(使用确认数据)
fanUpTrend = fastEMA > medmEMA and medmEMA > slowSMA
fanDnTrend = fastEMA < medmEMA and medmEMA < slowSMA

// 延迟信号确认(等待K线闭合)
longCondition = fanUpTrend and bullishPinBar[1]  // 延迟1根K线
shortCondition = fanDnTrend and bearishPinBar[1]

// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// 交易执行系统(仅修改风险计算部分)
// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
enterlong() =>
    risk = usr_risk * 0.01 * strategy.equity * leverage  // 添加杠杆影响
    stopLoss = confirmedLow - atr * atr_mult
    entryPrice = confirmedHigh
    units = risk / (entryPrice - stopLoss)
    strategy.entry('long', strategy.long, units, stop=entryPrice)
    strategy.exit('exit long', from_entry='long', trail_points=slPoints, trail_offset=slOffset)

entershort() =>
    risk = usr_risk * 0.01 * strategy.equity * leverage  // 添加杠杆影响
    stopLoss = confirmedHigh + atr * atr_mult
    entryPrice = confirmedLow
    units = risk / (stopLoss - entryPrice)
    strategy.entry('short', strategy.short, units, stop=entryPrice)
    strategy.exit('exit short', from_entry='short', trail_points=slPoints, trail_offset=slOffset)



// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// 交易执行系统
// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
if longCondition 
    enterlong()

if shortCondition 
    entershort()
strategy.cancel('long', ta.barssince(longCondition) > ent_canc)
strategy.cancel('short', ta.barssince(shortCondition) > ent_canc)

strategy.close_all(when=hour == 16 and dayofweek == dayofweek.friday, comment='exit all, market-closed')
strategy.close_all(when=ta.crossunder(fastEMA, medmEMA), comment='exit long, re-cross')
strategy.close_all(when=ta.crossover(fastEMA, medmEMA), comment='exit short, re-cross')

plot(fastEMA, "快EMA", color.new(#FF6B00, 0), 2)
plot(medmEMA, "中EMA", color.new(#0096FF, 0), 2)
plot(slowSMA, "慢SMA", color.new(#00C800, 0), 2)

plotshape(longCondition, "多信号", shape.labelup, location.belowbar, color=#00FF00, text="▲", textcolor=#FFFFFF)
plotshape(shortCondition, "空信号", shape.labeldown, location.abovebar, color=#FF0000, text="▼", textcolor=#FFFFFF)