ایک سے زیادہ متحرک اوسط سے باخبر رہنے کی حکمت عملی اور متحرک پوزیشن مینجمنٹ سسٹم

EMA ATR
تخلیق کی تاریخ: 2025-02-27 10:20:18 آخر میں ترمیم کریں: 2025-02-27 10:20:18
کاپی: 0 کلکس کی تعداد: 478
2
پر توجہ دیں
319
پیروکار

ایک سے زیادہ متحرک اوسط سے باخبر رہنے کی حکمت عملی اور متحرک پوزیشن مینجمنٹ سسٹم ایک سے زیادہ متحرک اوسط سے باخبر رہنے کی حکمت عملی اور متحرک پوزیشن مینجمنٹ سسٹم

جائزہ

ایک متحرک پوزیشن مینجمنٹ سسٹم کے ساتھ ملٹی میڈین لائن ٹریکنگ حکمت عملی ایک کثیر اشاریہ حرکت پذیر اوسط ((EMA) پر مبنی ایک مقداری تجارتی حکمت عملی ہے۔ اس حکمت عملی نے پانچ مختلف ادوار ((12، 144، 169، 576 اور 676) کے ای ایم اے اشارے کی نگرانی کرکے ایک مکمل تجارتی نظام تشکیل دیا ہے ، جس میں رجحان کا فیصلہ ، انٹری سگنل کی شناخت ، بیچ کی تعمیر ، پوزیشن کی متحرک روک تھام اور متحرک روک تھام شامل ہے۔ اس حکمت عملی میں نہ صرف متعدد بار پوزیشننگ کی حمایت کی جاتی ہے ، بلکہ زیادہ سے زیادہ 5 تجارتی پوزیشنیں قائم کی جاسکتی ہیں ، بلکہ ہر پوزیشن کے لئے الگ الگ خطرے کے کنٹرول کے اقدامات بھی ہیں۔ نظام ای ایم اے اشارے کی ترتیب اور قیمتوں کے ساتھ کلیدی لائن کی اوسط سے تعلق رکھتا ہے ، مارکیٹ کے رجحانات کے موڑ کو درست طریقے سے پکڑتا ہے ، اور اس رجحان کو برقرار رکھنے کی شرط پر بیچوں کی تعمیر اور منافع بخش بیچوں کو پورا کرتا ہے۔

حکمت عملی کا اصول

اس حکمت عملی کا بنیادی منطق متعدد EMAs کے مابین پوزیشن کے تعلقات اور قیمتوں کے ساتھ کلیدی EMAs کے تعامل پر مبنی ہے:

  1. رجحانات کا تعین کرنے کا طریقہ کار:

    • ایک سے زیادہ رجحان کی شرط: EMA12 > EMA144 > EMA169 > EMA576 > EMA676
    • اوور ہیڈ رجحان کی شرائط: EMA12 < EMA144 < EMA169 < EMA576 < EMA676
  2. داخلہ سگنل:

    • ملٹی ہیڈ انٹری: ملٹی ہیڈ ٹرینڈ کو پورا کرنے کی بنیاد پر ، جب کم EMA144 کو توڑ دے اور قیمت EMA169 کے اوپر بند ہوجائے
    • ہیڈ انٹری: ہیڈ ٹرینڈ کو پورا کرنے کی بنیاد پر ، جب اونچائی EMA144 کو توڑ دیتی ہے اور قیمت EMA169 کے نیچے بند ہوجاتی ہے
  3. بیچوں میں گودام تعمیر:

    • پہلی پوزیشن: داخلہ سگنل کے مطابق اور کوئی پوزیشن نہیں
    • دوسری پوزیشن: داخلہ سگنل کو پورا کرتا ہے اور فی الحال ایک پوزیشن رکھتا ہے
    • تین سے پانچ گودام: آنے والے سگنل کو پورا کرنے کی بنیاد پر ، آخری گودام سے 50 سے زیادہ K لائنوں کے فاصلے پر بھی ضرورت ہے
  4. متحرک سٹاپ نقصان سٹاپ:

    • ہر پوزیشن میں متحرک اسٹاپ نقصان ہوتا ہے ، جس کی بنیاد پر 12 K لائنوں کی کم قیمت (کثیر سر) یا زیادہ سے زیادہ قیمت (خالی سر) ہوتی ہے۔
    • ہم آہنگی کی روک تھام کی حکمت عملی کا استعمال کرتے ہوئے ، “انٹری قیمت + (انٹری قیمت - اسٹاپ نقصان) ” کو نشانہ بنائیں
    • بیچ منافع: جب ہر پوزیشن اسٹاپ آؤٹ پٹ تک پہنچ جاتی ہے تو ، پہلے 50٪ کی پوزیشن ختم ہوجاتی ہے ، اور باقی حصوں کو اس وقت تک برقرار رکھا جاتا ہے جب تک کہ وہ اسٹاپ نقصان کو نہ چھوئے
  5. مجموعی طور پر خطرے کا کنٹرول:

    • جب EMA12 EMA144 اشارے کے ساتھ کراس ہوتا ہے تو ((کثیر رخا رجحان میں EMA12 EMA144 سے نیچے جاتا ہے ، یا EMA12 EMA144 کو توڑ دیتا ہے) ، مکمل طور پر خالی پوزیشن

مجموعی طور پر ، اس حکمت عملی میں مارکیٹ کے رجحانات کی سمت کا تعین کرنے کے لئے متعدد ای ایم اے کی صف بندی کی گئی ہے ، قیمت کے ای ایم اے 144 کے ساتھ تعامل کے ذریعہ داخلے کا وقت طے کیا گیا ہے ، اور حالیہ قیمت میں اتار چڑھاؤ کے علاقوں کے ذریعہ متحرک اسٹاپ نقصان کی روک تھام کی پوزیشن قائم کی گئی ہے ، اور اس کے ساتھ ہی ، ذخائر کی تقسیم اور منافع کی تقسیم کے ذریعہ فنڈ مینجمنٹ کو بہتر بنایا گیا ہے ، اور آخر کار ایک مکمل تجارتی نظام تشکیل دیا گیا ہے۔

اسٹریٹجک فوائد

  1. نظام سازی کے رجحانات کا فیصلہ:

    • پانچ مختلف ادوار کے EMAs کا استعمال کرتے ہوئے ٹریڈ کا تعین کرنے کا نظام جس میں تینوں حصوں کی تشکیل ہوتی ہے ، تاکہ جعلی بریک کے خطرے کو کم کیا جاسکے
    • ای ایم اے اشارے کا درجہ بندی کا مجموعہ رجحان کی طاقت اور کمزوری کے لئے ایک مقداری معیار فراہم کرتا ہے ، جس سے ٹریڈنگ کے فیصلے زیادہ معروضی ہوجاتے ہیں
  2. درست داخلے کا طریقہ کار:

    • قیمت اور اوسط لائن کے ساتھ کراس رویے کو شامل کرنے کے لئے داخلے کی محرک کے طور پر ، داخلے کی بروقت کارکردگی کو بہتر بنانا
    • انٹری سگنل کی 12K لائنوں کے اندر تصدیق کی ضرورت ہوتی ہے ، جس سے تاخیر سے تجارت کا خطرہ کم ہوتا ہے
  3. ہوشیار فنڈ مینجمنٹ:

    • مختلف مارکیٹ ترقی کے مراحل کے مطابق ، زیادہ سے زیادہ 5 گوداموں کی حمایت کرنے کے لئے کھیپ میں گودام کی تعمیر
    • کم سے کم وقت کے وقفے کو پورا کرنے کی ضرورت ہے ((50K لائن) ، مختصر وقت میں زیادہ سے زیادہ گودام کی تعمیر سے بچنے کے لئے
  4. لچکدار منافع بخش حکمت عملی:

    • “سمتریٹک اسٹاپ” اصول کو اپنانے کے لئے ، داخلہ کی قیمت اور اسٹاپ نقصان کے متحرک حساب کتاب کے مقاصد کے مطابق فائدہ مند پوزیشن حاصل کریں
    • بیچ منافع ((50٪ پوزیشن) ، منافع کے کچھ حصوں کو لاک کرنے کے ساتھ ساتھ اوپر کی جگہ کو برقرار رکھنے کے لئے
  5. سخت خطرے کا کنٹرول:

    • ہر پوزیشن نے حالیہ اتار چڑھاو کی حد پر مبنی ایک علیحدہ اسٹاپ نقصان کا تعین کیا ہے (12 K لائن)
    • ٹرینڈ ریورس سگنل ((EMA12 اور EMA144 کراسنگ) پوری صفائی کو متحرک کرتا ہے ، بروقت اسٹاپ نقصان
  6. انتہائی موافقت پذیر:

    • ایک ہی وقت میں کثیر اور خالی ٹرانزیکشن کی حمایت کریں اور مختلف مارکیٹ کے حالات کے مطابق ڈھال لیں
    • پیرامیٹرز کے ذریعے ایڈجسٹ کریں (جیسے اے ٹی آر ضرب ، کے لائنوں کی تعداد) ، مختلف اقسام اور ادوار کے مطابق

اسٹریٹجک رسک

  1. اوسط خطے کے پیچھے کا خطرہ:

    • ای ایم اے اشارے میں کچھ تاخیر ہوتی ہے ، جس کی وجہ سے مارکیٹ میں شدید اتار چڑھاؤ کے دوران داخلے یا باہر نکلنے کا وقت خراب ہوسکتا ہے
    • تخفیف کا طریقہ: نظام کی ردعمل کی رفتار کو بڑھانے کے لئے مختصر مدت کے متحرک اشارے کے ساتھ مل کر معاون کے طور پر غور کیا جاسکتا ہے
  2. ذخائر کی تعمیر کے لیے مالی دباؤ:

    • زیادہ سے زیادہ 5 پوزیشنوں کی حمایت کرنے والی ذخیرہ اندوزی کی حکمت عملی سے فنڈز کی حد سے زیادہ توجہ مرکوز ہوسکتی ہے
    • تخفیف کا طریقہ: فنڈز کی تقسیم کو یقینی بنانے کے لئے مجموعی فنڈز کی مقدار کے مطابق ہر اسٹوریج کے لئے فنڈز کا مناسب تناسب طے کیا جائے
  3. مقررہ دورانیہ پیرامیٹر کی حدود:

    • کوڈ میں ای ایم اے کی مدت (۱۲، ۱۴۴، ۱۶۹، ۵۷۶، ۶۷۶) ایک مقررہ قدر ہے جو تمام مارکیٹ کے حالات پر لاگو نہیں ہوسکتی ہے
    • تخفیف کا طریقہ: موافقت کے دورانیے کے حساب کتاب کے طریقوں کو متعارف کرانا ، یا مختلف اقسام کے ل paramet خصوصی پیرامیٹرز کی اصلاح کا عمل بنانا
  4. ہم آہنگی کی روک تھام کے ممکنہ مسائل:

    • مضبوط رجحانات والے بازاروں میں ، ہم آہنگی کی رکاوٹیں زیادہ سے زیادہ منافع کی جگہ سے محروم ہوسکتی ہیں
    • تخفیف کا طریقہ: مضبوط رجحانات کے حالات کے مطابق باقی 50٪ پوزیشنوں کے لئے ٹریکنگ اسٹاپ کا تعین کرنے پر غور کیا جاسکتا ہے
  5. داخلے کی شرائط بہت سخت ہیں:

    • متعدد شرائط کا مجموعہ ((مساوی صف بندی + قیمت کراسنگ + اختتامی تصدیق) ممکنہ طور پر کچھ موثر سگنل کو یاد کرنے کا سبب بن سکتا ہے
    • تخفیف کا طریقہ: مارکیٹ کے مختلف مراحل کے لئے ، سگنل کی گرفتاری کی حساسیت کو بڑھانے کے لئے اختیاری داخلے کا طریقہ کار ترتیب دیا جاسکتا ہے
  6. اعداد و شمار پر انحصار کے خطرات:

    • حکمت عملی طویل مدتی ای ایم اے پر انحصار کرتی ہے (جیسے 576، 676) ، جس کو مؤثر طریقے سے کام کرنے کے لئے کافی طویل تاریخی اعداد و شمار کی ضرورت ہوتی ہے
    • تخفیف کا طریقہ: اعداد و شمار کی کمی کی صورت میں ، متبادل اشارے استعمال کرنے یا طویل مدتی EMA کے حساب کتاب کے طریقوں کو ایڈجسٹ کرنے پر غور کیا جاسکتا ہے

حکمت عملی کی اصلاح کی سمت

  1. انکولی پیرامیٹر میکانزم کا تعارف:

    • فکسڈ ای ایم اے سائیکل (12، 144، 169، 576، 676) کو مارکیٹ میں اتار چڑھاؤ پر مبنی موافقت پذیر پیرامیٹرز میں تبدیل کرنا
    • اصلاح کی وجوہات: مارکیٹ کے مختلف حالات میں زیادہ سے زیادہ ای ایم اے کی مدت میں نمایاں اختلافات موجود ہیں ، موافقت کے طریقہ کار سے حکمت عملی کی عالمگیریت میں اضافہ ہوتا ہے
  2. انٹری سگنل فلٹرنگ کو بہتر بنانا:

    • ٹرانزیکشن حجم ، مارکیٹ میں اتار چڑھاؤ کی شرح (جیسے اے ٹی آر) جیسے اشارے شامل کریں ، اور انٹری سگنل کے لئے اضافی تصدیق کی شرائط شامل کریں
    • اصلاح کی وجوہات: خالص یکساں لائن کراس سگنل مارکیٹ شور کی مداخلت کا شکار ہے ، اضافی فلٹرنگ کی شرائط سگنل کے معیار کو بہتر بناتی ہیں
  3. فنڈ مینجمنٹ سسٹم کو بہتر بنانا:

    • اکاؤنٹ کی کل رقم اور مارکیٹ میں اتار چڑھاو کی شرح کی بنیاد پر ہر پوزیشن پر فنڈز کا تناسب
    • اصلاح کی وجوہات: موجودہ حکمت عملی میں فنڈز کی تقسیم کا تناسب مقرر ہے ، جو خطرے کی سطح کے مطابق خود بخود ایڈجسٹ نہیں ہوسکتا ہے ، متحرک فنڈ مینجمنٹ متعارف کرانے سے فنڈز کے استعمال میں بہتری آسکتی ہے۔
  4. سٹاپ نقصان کے طریقہ کار کو بہتر بنانا:

    • مختلف گودام کے مقامات کے لئے ڈیزائن کردہ اسٹاپ اسٹاپ کی حکمت عملی ، جیسے پہلے گودام میں مقررہ تناسب اسٹاپ اور بعد میں گودام میں ٹریکنگ اسٹاپ
    • اصلاح کی وجہ: اسٹاپ اور نقصان کی یکساں حکمت عملی مارکیٹ کے مختلف مراحل کی ضروریات کے مطابق ڈھالنے میں مشکل ہے ، لیکن مختلف حکمت عملیوں سے مارکیٹ میں ہونے والی تبدیلیوں کا زیادہ لچک سے مقابلہ کیا جاسکتا ہے۔
  5. وقت کا فلٹر شامل کریں:

    • ٹریڈنگ ٹائم فلٹرز متعارف کروائیں تاکہ اعلی اتار چڑھاؤ کے اوقات (جیسے کھلنے ، بند ہونے سے پہلے) یا اہم اعداد و شمار کی ریلیز کے دوران
    • اصلاح کی وجوہات: مارکیٹ میں کسی خاص وقت کے دوران اتار چڑھاؤ کا امکان کم ہوتا ہے ، اور وقت کی فلٹرنگ کو غیر ضروری تجارت سے بچنے کے لئے شامل کیا جاتا ہے
  6. رجحان کی طاقت کا جائزہ شامل کریں:

    • رجحان کی طاقت کے اشارے تیار کریں ، صرف اس وقت تجارت کی اجازت دیں جب رجحان کی طاقت حد سے تجاوز کر جائے
    • اصلاح کی وجہ: موجودہ حکمت عملی کمزور رجحانات کے ماحول میں بھی سگنل پیدا کرتی ہے۔ رجحان کی طاقت کی تشخیص کو متعارف کرانے سے غیر مستحکم مارکیٹوں میں جھوٹے سگنل کم ہوسکتے ہیں۔
  7. ایک کثیر دورانیہ کی ہم آہنگی کا نظام تعمیر:

    • ٹریڈنگ سمت فلٹر کے طور پر اعلی ٹائم فریم کے ساتھ رجحانات کا تعین
    • اصلاح کی وجوہات: ایک سائیکل ٹریڈنگ سسٹم مختصر مدت کے اتار چڑھاو کی طرف سے پریشان ہے، کثیر سائیکل ہم آہنگی نظام کی استحکام کو بہتر بنانے کے کر سکتے ہیں

خلاصہ کریں۔

ایک سے زیادہ میڈین لائن ٹریکنگ اسٹریٹجی اور متحرک پوزیشن مینجمنٹ سسٹم ایک ساختہ ، منطقی طور پر واضح مقدار میں تجارت کی حکمت عملی ہے۔ یہ حکمت عملی ایک سے زیادہ ای ایم اے کے صف بندی کے مجموعے کے ذریعہ رجحانات کا فیصلہ کرنے کا فریم ورک قائم کرتی ہے ، قیمتوں اور اہم میڈین لائنوں کے ساتھ بات چیت کے ذریعے داخلے کے وقت کا تعین کرتی ہے ، اور بیچوں میں پوزیشن اور متحرک اسٹاپ نقصان کے اسٹاپ کے ذریعہ نفیس فنڈ مینجمنٹ اور رسک کنٹرول کو حاصل کرتی ہے۔ حکمت عملی کا فائدہ یہ ہے کہ اس کے نظام سازی کے رجحانات کا تعین کرنے ، درست داخلے کے طریقہ کار ، ذہین فنڈ مینجمنٹ اور سخت خطرے کے کنٹرول سے ہوتا ہے ، جس سے یہ مختلف مارکیٹ کے حالات میں مناسب ہے۔

تاہم ، اس حکمت عملی میں اوسط سے پیچھے رہ جانے ، مقررہ پیرامیٹرز کی حدود اور فنڈ مینجمنٹ دباؤ جیسے خطرات بھی موجود ہیں۔ حکمت عملی کے اثر کو مزید بڑھانے کے ل the ، آپٹمائزیشن کی سمتوں پر غور کیا جاسکتا ہے ، جیسے کہ موافقت پذیر پیرامیٹرز کے طریقہ کار کو متعارف کرانا ، سگنل فلٹرنگ کو بڑھانا ، فنڈ مینجمنٹ سسٹم کو بہتر بنانا ، اسٹاپ نقصان کے طریقہ کار کو بہتر بنانا اور ملٹی سائیکل ہم آہنگی کا نظام بنانا۔

مجموعی طور پر ، یہ حکمت عملی ایک متوازن رجحان سے باخبر رہنے اور خطرے پر قابو پانے کے ذریعہ ایک قابل عمل فریم ورک مہیا کرتی ہے۔ مسلسل اصلاح اور مخصوص مارکیٹ کے حالات کے ل parameters پیرامیٹرز کی ایڈجسٹمنٹ کے ذریعہ ، اس حکمت عملی کو حقیقی تجارت میں مستحکم کارکردگی کا مظاہرہ کرنے کی امید ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-09-08 00:00:00
end: 2024-12-08 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("专业级交易系统", overlay=false, close_entries_rule = "ANY")
x1 = input.float(1.5,"atr倍数",step=0.1)
x2 = input.int(50,"k线数量",step=1)
s1 = strategy.opentrades.entry_price(0)
s2 = strategy.opentrades.entry_price(1)
s3 = strategy.opentrades.entry_price(2)
s4 = strategy.opentrades.entry_price(3)
s5 = strategy.opentrades.entry_price(4)
s6 = strategy.opentrades.entry_price(5)
s7 = strategy.opentrades.entry_price(6)
s8 = strategy.opentrades.entry_price(7)
s9 = strategy.opentrades.entry_price(8)
c = strategy.position_size,o = strategy.opentrades
ema12_len = input.int(12,"EMA12长度")
ema144_len = input.int(144, "EMA144长度")
ema169_len = input.int(169,"EMA169长度")
ema576_len = input.int(376, "EMA576长度")
ema676_len = input.int(576,"EMA676长度")
ema12 = ta.ema(close,ema12_len)
ema144 = ta.ema(close, ema144_len)
ema169 = ta.ema(close, ema169_len)
ema576 = ta.ema(close, ema576_len)
ema676 = ta.ema(close, ema676_len)
e3 = ta.valuewhen(o ==2 and o[1] == 1 and c > 0,bar_index,0)
e4 = ta.valuewhen(o ==3 and o[1] == 2 and c > 0,bar_index,0)
e5 = ta.valuewhen(o ==4 and o[1] == 3 and c > 0,bar_index,0)
le1 = false
le1 := c <= 0 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 ? false : le1[1]
le11 = false
le11 := le1 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144,bar_index,0) < 12 ? true : false
le2 = false
le2 := c > 0 and o == 1 and o[1] == 1 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 or o < 1? false : le2[1]
le21 = false
le21 := le2 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 1 and o[1]==1,bar_index,0) < 12 ? true : false
le3 = false
le3 := c > 0 and o == 2 and o[1] == 2 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 or o < 2? false : le3[1]
le31 = false
le31 := le3 and bar_index - e3 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 2 and o[1]==2,bar_index,0) < 12 ? true : false
le4 = false
le4 := c > 0 and o == 3 and o[1] == 3 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 or o < 3? false : le4[1]
le41 = false
le41 := le4 and bar_index - e4 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 3 and o[1]==3,bar_index,0) < 12 ? true : false
le5 = false
le5 := c > 0 and o == 4 and o[1] == 4 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 or o < 4? false : le5[1]
le51 = false
le51 := le5 and bar_index - e5 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 4 and o[1]==4,bar_index,0) < 12 ? true : false
d1 = ta.valuewhen(o == 1 and o[1] == 0 and c > 0,ta.lowest(12),0)
d2 = ta.valuewhen(o == 2 and o[1] == 1 and c > 0,ta.lowest(12),0)
d3 = ta.valuewhen(o == 3 and o[1] == 2 and c > 0,ta.lowest(12),0)
d4 = ta.valuewhen(o == 4 and o[1] == 3 and c > 0,ta.lowest(12),0)
d5 = ta.valuewhen(o == 5 and o[1] == 4 and c > 0,ta.lowest(12),0)
if le11 and close > ema12 and o == 0
    strategy.order("l1",strategy.long,comment="第一单")
if c > 0 and o > 0
    strategy.exit("出场1","l1",limit = 2*s1- d1,stop= d1,qty_percent = 50)
    strategy.exit("出场11","l1",stop= d1)

if le21 and close > ema12 and o == 1
    strategy.order("l2",strategy.long,comment="第二单")
if c > 0 and o == 2
    strategy.exit("出场2","l2",limit = 2*s2- d2,stop= d2,qty_percent = 50)
    strategy.exit("出场21","l2",stop= d2)

if le31 and close > ema12 and o == 2
    strategy.order("l3",strategy.long,comment="第三单")
if c > 0 and o == 3
    strategy.exit("出场3","l3",limit = 2*s3- d3,stop= d3,qty_percent = 50)
    strategy.exit("出场31","l3",stop= d3)

if le41 and close > ema12 and o == 3
    strategy.order("l4",strategy.long,comment="第四单")
if c > 0 and o == 4 
    strategy.exit("出场4","l4",limit = 2*s4- d4,stop= d4,qty_percent = 50)
    strategy.exit("出场41","l4",stop= d4)

if le51 and close > ema12 and o == 4
    strategy.order("l5",strategy.long,comment="第五单")
if c > 0 and o == 5
    strategy.exit("出场5","l5",limit = 2*s5- d5,stop= d5,qty_percent = 50)
    strategy.exit("出场51","l5",stop= d5)
bgcolor(le2?color.red:na)
if c > 0 and ema12 < ema144
    strategy.close_all("跌破均线全部出场")

//做空
es3 = ta.valuewhen(o ==2 and o[1] == 1 and c < 0,bar_index,0)
es4 = ta.valuewhen(o ==3 and o[1] == 2 and c < 0,bar_index,0)
es5 = ta.valuewhen(o ==4 and o[1] == 3 and c < 0,bar_index,0)
se1 = false
se1 := c >= 0 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true :  close > ema169 or ema12 > ema144 ? false : se1[1]
se11 = false
se11 := se1 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144,bar_index,0) < 12 ? true : false
se2 = false
se2 := c < 0 and o == 1 and o[1] == 1 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true :  close > ema169 or ema12 > ema144 or o < 1? false : se2[1]
se21 = false
se21 := se2 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 1 and o[1]==1,bar_index,0) < 12 ? true : false
se3 = false
se3 := c < 0 and o == 2 and o[1] == 2 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169 ? true :  close > ema169 or ema12 > ema144 or o < 2? false : se3[1]
se31 = false
se31 := se3 and bar_index - es3 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 2 and o[1]==2,bar_index,0) < 12 ? true : false
se4 = false
se4 := c < 0 and o == 3 and o[1] == 3 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true :  close > ema169 or ema12 > ema144 or o < 3? false : se4[1]
se41 = false
se41 := se4 and bar_index - es4 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 3 and o[1]==3,bar_index,0) < 12 ? true : false
se5 = false
se5 := c < 0 and o == 4 and o[1] == 4 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169 ? true :  close > ema169 or ema12 > ema144 or o < 4? false : se5[1]
se51 = false
se51 := se5 and bar_index - es5 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 4 and o[1]==4,bar_index,0) < 12 ? true : false
ds1 = ta.valuewhen(o == 1 and o[1] == 0 and c < 0 ,ta.highest(12),0)
ds2 = ta.valuewhen(o == 2 and o[1] == 1 and c < 0,ta.highest(12),0)
ds3 = ta.valuewhen(o == 3 and o[1] == 2 and c < 0,ta.highest(12),0)
ds4 = ta.valuewhen(o == 4 and o[1] == 3 and c < 0,ta.highest(12),0)
ds5 = ta.valuewhen(o == 5 and o[1] == 4 and c < 0,ta.highest(12),0)
if se11 and close < ema12 and o == 0
    strategy.order("s1",strategy.short,comment="第一单")
if c < 0 and o > 0
    strategy.exit("出场1","s1",limit = 2*s1- ds1,stop= ds1,qty_percent = 50)
    strategy.exit("出场11","s1",stop= ds1)

if se21 and close < ema12 and o == 1
    strategy.order("s2",strategy.short,comment="第二单")
if c < 0 and o == 2
    strategy.exit("出场2","s2",limit = 2*s2- ds2,stop= ds2,qty_percent = 50)
    strategy.exit("出场21","s2",stop= ds2)

if se31 and close < ema12 and o == 2
    strategy.order("s3",strategy.short,comment="第三单")
if c < 0 and o == 3
    strategy.exit("出场3","s3",limit = 2*s3- ds3,stop= ds3,qty_percent = 50)
    strategy.exit("出场31","s3",stop= ds3)

if se41 and close < ema12 and o == 3
    strategy.order("s4",strategy.short,comment="第四单")
if c < 0 and o == 4 
    strategy.exit("出场4","s4",limit = 2*s4- ds4,stop= ds4,qty_percent = 50)
    strategy.exit("出场41","s4",stop= ds4)

if se51 and close < ema12 and o == 4
    strategy.order("s5",strategy.short,comment="第五单")
if c < 0 and o == 5
    strategy.exit("出场5","s5",limit = 2*s5- ds5,stop= ds5,qty_percent = 50)
    strategy.exit("出场51","s5",stop= ds5)
bgcolor(se1?color.red:na)
if c < 0 and ema12 > ema144
    strategy.close_all("跌破均线全部出场")
kaiguan = input.bool(true,"均线开关")
plot(ema12,force_overlay=true)
plot(ema144, "EMA144", color=color.new(#008000, 0),force_overlay=true)
plot(ema169, "EMA169", color=color.red,force_overlay=true)
plot(kaiguan?ema576:na,color=color.yellow,force_overlay=true)
plot(kaiguan?ema676:na,color=color.yellow,force_overlay=true)
//plotshape(series=entrySignal,title="买入信号",location=location.belowbar,color=color.new(color.green, 0),style=shape.labelup,text="BUY",textcolor=color.new(color.white, 0))