
من یک استراتژی متقاطع EMA ساده با سود گرفتن در 1. 5 برابر ATR ایجاد کردم. به دلایلی ، اگر اولین سود من قبل از وقوع سیگنال ورودی دیگر (متقاطع) برآورده نشود ، این استراتژی سود من را به 1. 5 برابر ATR از سیگنال ورود دوم به جای نگه داشتن آن در 1. 5 برابر ATR از ATR منتقل می کند. سیگنال ورود اول. آیا کسی برای این کار اصلاح دارد؟در زیر کد من و تصویری که مسئله را توضیح می دهد آورده شده است:
//@نسخه = 5 استراتژی ("EMA صلیب صلیب با 2 سطح TP" ، Overlay = True) // متغیرهای ورودی emafastl طول = input. int (10 ، "طول سریع EMA") emaslowl طول = input. int (20 ، "EMAطول آهسته ") ATRL طول = input. int (5 ،" طول ATR ") tpMultiplier = input. float (1. 5 ،" سود 1 را بگیرید ") // محاسبه EMA و ATR emafast = ta. ema (نزدیک ، emafastl طول) emaslow =ta. ema (نزدیک ، emaslowl طول) Atr = ta. atr (Atrl طول) var float plansantatatr = na // تعیین کنید که آیا یک صلیب صلیب صعودی صلیب = ta. cross (emafast ، emaslow) وجود دارد // اگر یک ایمان صعودی وجود دارد ، تجارت طولانی را وارد کنیدصلیب اگر (صلیب) پایدار: = استراتژی ATR. entry ("خرید" ، استراتژی. qty = 100) enter_price = Strategy. Opentrades. Entry_price (0) Strategy. exit ("سود" ، "خرید" ، Qty_percent =100 ، limit = enter_price + (ماندگار * tpmultiplier)) // طرح اشکال زد
من شرایط خسارت توقف را فقط برای اشکال زدایی حذف کردم. من همچنین سعی کردم استراتژی را در بازه های زمانی مختلف آزمایش کنم.
دنبال کردن 2،200 1 1 نشان طلا 13 13 نشان نقره 25 25 نشان برنز 7 ساعت پیش پرسید Francis4396 Francis4396
Francis4396 مشارکت جدیدی در این سایت است. در درخواست شفاف سازی ، اظهار نظر و پاسخ دادن مراقبت کنید. کد رفتار ما را بررسی کنید.
1 پاسخ 1
مرتب شده توسط: تنظیم مجدد به طور پیش فرض
با شرط "if (cross)" شما ، استراتژی را اجرا می کند. Entry و Strategy. exit هر بار که یک صلیب رخ می دهد. در مثال شما: در صلیب اول ، استراتژی. entry انجام می شود و یک استراتژی قرار می گیرد. شما در حال حاضر یک ورودی با همین نام دارید که در آن قرار دارد. اما استراتژی. exit اجرا می شود و حد خود را به مقدار واقعی تغییر می دهد.
برای جلوگیری از این کار ، می توانید از استراتژی استفاده کنید. آیا قبل از ورود به شما در بلوک شرایط خود ، هیچ تجارت در حال حاضر انجام نشده است: NB: Strategy. Opentrades تعداد معاملات باز شده را به شما می دهد (در مورد شما 0 یا 1 خواهد بود)
//@نسخه = 5 استراتژی ("EMA صلیب صلیب با 2 سطح TP" ، Overlay = True) // متغیرهای ورودی emafastl طول = input. int (10 ، "طول سریع EMA") emaslowl طول = input. int (20 ، "EMAطول آهسته ") ATRL طول = input. int (5 ،" طول ATR ") tpMultiplier = input. float (1. 5 ،" سود 1 را بگیرید ") // محاسبه EMA و ATR emafast = ta. ema (نزدیک ، emafastl طول) emaslow =ta. ema (نزدیک ، emaslowl طول) Atr = ta. atr (Atrl طول) var float plansantatatr = na // تعیین کنید که آیا یک صلیب صلیب صعودی صلیب = ta. cross (emafast ، emaslow) وجود دارد // اگر یک ایمان صعودی وجود دارد ، تجارت طولانی را وارد کنیدصلیب اگر (صلیب) و استراتژی == 0 پایدار: = استراتژی ATR. entry ("خرید" ، استراتژی. long ، qty = 100) enter_price = استراتژی. entry_price (0) استراتژی.، "خرید" ، qty_percent = 100 ، limit = enter_price + (ماندگار * tpmultiplier)) // طرح اشکال زد
اخبار رمز ارزها...
ما را در سایت اخبار رمز ارزها دنبال می کنید
برچسب :
نویسنده : علیمحمد افغانی
بازدید : 40
تاريخ : جمعه
20 مرداد
1402 ساعت: 1:16