مهرداد

مهرداد

آخرین بازدید: ---
عضویت: 2 سال و 5 ماه قبل
10
231
973
10
231
973

روند نوسانات بیت در چند سال اخیر بر اساس الگوی رفتاری چارت Renko و یافتن محدوده های حمایتی

روند نوسانات بیت در چند سال اخیر بر اساس الگوی رفتاری چارت Renko و یافتن محدوده های حمایتی
آموزشی

سلام دوستان ...همونطور که تو تصویر می بینید اگ چارت قیمتی رو بر اساس نمودار renko تنظیم کنید و کانال مشخص شده در تصویر رو رسم کنید و  اندیکاتور CCI رو هم بهش اضافه کنید، به الگوی ثابتی می رسید که من در نمودار با خطوط عمود مشخص کردم...توجه :  من نمودار رو بر اساس بلوکهای 3 درصدی تنظیم کردم.... همونطور که تو تصویر مشخصه در سیکل صعودی قبلی وقتی به سقف رسید تا میانه کانال اصلاح داد... حالا در سناریو اول اگ مسیر قیمت رو دنبال کنید میدلاین به محدوده قیمتی برابر 49436- 53522 دلار میرسه (توجه کنید نمودار ماهانه 1500 دلاری میتونه تو تایم فریم پایینتر قیمت های پایینتری ببینه ولی در ماهانه شادو بشه)حالا اگ مشابه سیکل قبلی عمل کنه از همین ناحیه ای که گفتم باید بره سمت سقف کانال که در محدوده قیمتی حدودا 76 هزار دلاری قرار میگیره (میتونه قیمت کمی هم بالاتر بره چون توماهانه بررسی کردم و بلاکهای 3 درصدی یا 1500 دلاری).....................سناریو دوم :  اگ این بار مشابه سیکل قبلی عمل نکنه و خط میانی رو از دست بده در ابتدا به یک گره قیمتی در محدوده 39036 - 44607 خواهد رسید و ادامه کفی در محدوده 26777-30492 تشکیل خواهد داد!!!!این محدوده ها قیمتی رو که دادم اگ ببینید و با چارت کندلی مقایسه کنید می بینید دقیقا این محدوده ها حمایتهای اصلی چارت رو معرفی کرده ولی شسته رفته و کاملا واضح...توجه مهم ... این نمودار جزییات چارت رو حذف میکنه  و علاوه بر این چون من نمودار رو در ماهانه بررسی کردم گره قیمتی کمتری تو مسیر مشخص میشه اگ میخواید جزییات بیشتری ببینید ، نمودار رو با بلاکهای 500 دلاری تنظیم کنید و در تایم فریم روزانه.... موفق باشید...

اموزش استفاده از میانگینهای متحرک برای تعیین روند

اموزش استفاده از میانگینهای متحرک برای تعیین روند
صعودی

سلام....تصویری رو در بخش فانتوم منتشر کردم و یکی از دوستان گف توضیح بیشتر ، پس این مطلب رو مینویسم ک زکات علم اموختن اونه.......................................ببنید ما از میانگینها برای فهم روند استفاده میکنیم...اگ قیمت بالای میانگین با شیب صعودی باشه روند صعودی و برعکس اگ قیمت زیر میانگین با شیب نزولی باشه روند نزولی ....شیب اگ تند باشه روند قوی و اگ کم باشه روند ضعیف....حالا اگر میانگین کوتاه باشه وضعیت رو در کوتاه مدت نشون میده اگ بلند باشه در بلندمدت...میانگینها انواع مختلفی دارن ک من در این جا از sma استفاده کردم ک با اندیکاتور moving average شناخته میشه ..  این تا اینجا..حالا چه جور استفاده کنیم ؟! گفتیم روند رو میفهمیم باهاش...خب اگ قیمت میانگین رو بشکنه روند قبلی نقض میشه !!!اگ روند قبلی نزولی باشه احتمالا به سمت صعودی شدن میریم و اگ صعودی باشه به سمت نزولی ...هرچه میانگین بلند تر باشه یا تایم فریمش بالاتر ، روند رو در طولانی مدت تر بررسی کردیم...تصویر زیر تایم فریم روزانه با میانگین 200 بررسی کردیم با میانگین 200 روند رو بازه طولانی بررسی میکنیم ... میبیند که دقیقا هر زمان ک قیمت به بالای میانگین روند صعودی خوبی داشتیم و وقتی قیمت به پایین میانگین رفته وارد روند نزولی شدیم ...این میانگین چند ماه قبل در قیمت 26 سنت شکسته شد ب سمت بالا و چون روند قبلی نزولی بوده پس ما وارد روند صعودی شدیم..ک به وضوح در تصویر مشخص هست....حالا من نمودار قیمت رو محدود میکنم به ابتدای سال 2023 و میانگین 20 ب رنگ ابی رو بهش اضافه میکنم ...چون میانگین کوتاهه (نسبت به عدد 200 و خط سیاه ) پس روند در کوتاه مدت رو نشون میده ..میبینید ک با شکستش در هر جهت چندین روز بالا یا پایین رفته..  این میانگین رو با میانگینها 50 و 100 هم ترکیب میکنن تا روند در کوتاه مدت ، میان مدت و بلند مدت بهتر دیده شه....در همین تصویر بالا هم مشخصه ک قیمت چون بالای میانگین بلنده کماکان میتونیم روند صعودی فرض بگیریم ....حالا میرسیم به بحث میانگین 20 و 50 هفتگی ..تصویر زیر رو ببنید :این تصویر میشه به دو بازه زمانی تقسیم کرد ...2020 تا 2022 ک قیمت صعودی بوده ..همونطور که میبیند روند صعودی با شکت میانگین 20 یعنی رنگ ابی در تایم هفتگی شروع شده و هر زمان اصلاح کرده این میانگین 50 به رنگ قرمز بوده ک از قیمت حمایت کرده...و در نهایت در نیمه اول 2022 قیمت میانگین 50 هم از دست داده و وارد فاز نزولی شده ک تا ابتدای 2023 ادامه داشته...  در ابتدای 2023 هم قیمت از محدوده 22 سنت میانگین 20 هفتگی یعنی ابی رو شکسته و قیمت حرکت کرده به سمت بالا.. طبق الگوی چرخه 2020-2022 ...تا زمانی ک قیمت بالای میانگین20 هفتگی بوده موج صعودی ما ادامه داشته و در صورت شکستش تا میانگین 50 هفتگی اصلاح داده...و طبق اون الگو از دست دادن میانگین 50 هفتگی به معنای از دست دادن رونده ک تا الان این اتفاق نیفتاده و کماکان بر اساس این تحلیل روند ما صعودیه...برای استفاده هم باید این میانگینها رو بندازید رو نمودار و بر اساس شکستهایی ک توضیح دادم عمل کنید...این میانگینها رو با طولهای مختلف در ارزهای مختلف با تایم فریم های مختلف چک کنید...چون اموزشیه من میانگینهای 20..50...100...200 رو میخوام چک کنم در تایم نیم ساعته...  طبق تصویر بالا ، این میانگینهای چهارگانه از حالت مسطح به سمت صعودی و بعد دوباره مسطح و بعد وارد فاز نزولی و دوباره مسطح و صعودی و این چرخه ادامه دارد....در فاز صعودی ترکیب میانگینها پایین ترین 200، بعد از 100 بعد 50 و در بالاترین میانیگن 20 هست در نزولی برعکس و در حالت مسطح به شکل تارپود در هم تنیده هستن...در تمامی تایم فریم ها قابل استفاده هستن...خودتون چک کنید از 1 دیقه تا 1 روزه و نقش این میانگینها رو در اصلاحات و روندها پیدا کنید..موفق باشید...................پ .ن : بیشترین استفاده من در تایم 3 دیقه و 5 دیقه است !!!

وضعیت کلی مارکت

وضعیت کلی مارکت
خنثی

سلام...جناب هاشمی این الگوی سر و شانه رو مطرح کردن من با استفاده این خط روند که میتونه به عنوان پولبک تلقی شه اونو تایید کردم...دامیننس تتر هم در حال تشکیل الگوی سر شانه است ... تارگت دامیننس تتر 5 درصده ...و اما دامیننس بیت که در حال تکمیل الگوی بازگشتیه (بیت سیزن):در حاضر بیت کوین در کانال زیر در حال حرکته که در گام اول با تشکیل سقف دو قلو تارگتی معادل پولبک به خط روند نزولی بلند مدتی که شکسته بود رو داشت و بعد در حرکت بعدی به سقف کانال حرکت کرد :....................

احتمالات چیلیز در بلند مدت

احتمالات چیلیز در بلند مدت
صعودی

با یک الگوی پرچم و یک الگوی مثلث رو برو هستیم که هر دو اونها وضعیت رو در بلند مدت صعودی نشون میده... در صورت شکست ناحیه قرمز فعلی مسیر قرمز رنگ محتمل خواهد بود ............................و اما چند نکته در صورت صعودی بودن با توجه به وضعیت اصلاحی بازار ممکنه کف مثلث تست دوباره بشه  و در صورت شکست کف مثلث سناریوی ابی رو  هم داریم.... پس بهترین ورود زمانی هست که الگو تکمیل شده باشه...................................اما به هر حال ...وضعیت کلی بر اساس اندیکاتورهای مختلف (توجه کنید تایم فریم هفتگیه نمودار رو بعد از بستن کندلهای هفتگی بررسی کنید و همینطور از یک اندیکاتور استفاده نکنید منتظر تاییدیه باشید و البته ممکنه در تایم فریم کوتاه مدت نزولی باشه که خودش بخشی از یک بازه بلند مدت صعودی باشه و برعکسش هم هست...این به دلیل خاصیت فراکتال بودن حرکات بازاره) حالا :ترکیب اول :MACD+RVGIترکیب بعدی :  MACD+TEMAدر اینجا  در زمان ارسال پیام من میانگین متحرک عدد 12.59 رو نشون میده (یعنی اگ قرار بر صعودی بودن باشه ک من مطمعن نیستم تا یکی دو هفته دیگه ، احتمال دیدن این عدد و تست میانگین به عنوان حمایت هست)ترکیب سوم : rsi + macross  در این ترکیب حتما rsi باید 50 درصد رو بشکنه در تاریخچه اش میتونید ببینید.ترکیب چهارم : macd + aoدر این ترکیب هیچکدوم سیگنال ندادنترکیب 5 ام : macd + rsi.............................................این ارسال به مرور به روز رسانی میشه

چگونه با rsi معامله موفقی داشته باشیم ؟!

چگونه با rsi معامله موفقی داشته باشیم ؟!
آموزشی

سلام... به در خواست یکی از دوستان در کامنتهای چیلیز این مطلب رو آماده کردم و به مرور به روزرسانی میشه .rsi یکی از معروفترین اندیکاتورهایی هست ک هر معامله گری تو زندگی اسمش به گوشش خورده . برای اینکه توضیح مکررات نشه در مورد این اندیکاتور یه مقاله اموزشی مفصل سایت از قبل منتشر کرده ک تو لینک زیر قابل دیدن و البته برای مطالعه است : شاخص RSI چیست و چگونه از آن در تحلیل تکنیکال استفاده کنیم؟تو اینجا من میخوام خیلی ساده تر روشهای معامله با این اندیکاتور رو بنویسم. البته در ابتدای مطلب به تنهایی، ولی در ادامه و به مرور با اندیکاتورهای دیگه ترکیب میشه تا سیگنالهای غلط رو بتونیم فیلتر کنیم.این اندیکاتور رو به چارت اضافه کنید :این اندیکاتور  از دو ناحیه تشکیل شده و  دو خط که یکی rsi هست و یکی هم میانگین متحرک به رنگ زرد. ناحیه بالایی (قرمز) رو اصطلاحا میگیم اشباع خرید و ناحیه پایینی (سبز) رو اشباع فروش. خط rsi تمایل داره بین این دو ناحیه نوسان کنه . این نواحی مقادیر کمتر از 30 درصد رو برای اشباع فروش و نواحی بالای 70 درصد رو برای اشباع خرید به صورت پیش فرض نشون میده.ناحیه اشباع خرید ، ناحیه است که خرید کم کم به حالت اشباع میرسه و خریداری وجود نخواهد داشت و به مرور فروشنده ها پیدا میشن و افزایش فروش به معنای کاهش قیمت خواهد بود و برای ناحیه اشباع فروش برعکس. پس استراتژی اول ما میشه خرید در زمانی که نمودار rsi در زیر 30   قرار دارد و فروش در زمانی ک بالای 70 قرار دارد  نمودار چیلیز رو بررسی میکنیم ببینیم این استراتژی چقدر میتونه موفقیت امیز باشه:تصویر بالا مربوط به تایم فریم 4 ساعته است (اون sell/buy نمودار قیمت برنامه نویسی کردم بر اساس همین استراتژی rsi فقط برای نمایش بهتر و درک توضیحات بوده نحوه برنامه نویسی این موارد در قالب مجموعه مقالاتی در حال انتشاره و تا اینجا دو بخش برنامه نویسی رو اموزش دادم اموزش الان ربطی به برنامه نویسی نداره). در این تصویر ناحیه پایینی rsi ک به رنگ سبز مشخص کردم طبق توضیحات بالا باید میخریدیم و در ناحیه قرمز میفروختیم ...حالا به چارت قیمت نگاه کنید اولین سیگنال خرید ما از بالاترین سیگنال فروش ما بالاتره !!! البته تعداد زیادی سیگنال هم داشتیم !!!پس این همه توضیح چی شد ؟! توضیحات درسته اما در اینجا چیزی که مهمه روند بازاره در بخش اول چون روند پر قدرت نزولی داشتیم برای روزها در منطقه اشباع فروش بودیم و در زمان فروختن هم چون روند به شکل پرقدرت صعودی بود در منطقه اشباع خرید موندگار شدیم  یعنی با اولین سیگنال خرید زود خریدیم چون بعدها قیمت پایین تر هم اومد و در اولین سیگنال فروش هم زود فروختیم در حالی ک میتونستیم بالاتر فروشیم.  ( حتما مقاله ای ک لینک رو گذاشتم رو  بعدا رو حوصله بخونید.)حالا تصویر زیر و ببنید (چیلیز روزانه) :4 معامله 100 درصد موفق !!! جالبه نه !!! دلیل ؟! چرا اونجا اونجوری اینجا اینجوری ؟! خیلی ساده است  اگ به نواحی سیاه دقت کنید متوجه میشید نواحی خرید  فروش تقریبا در یک سطح ان یعنی این استراتژی در حالتی که بازار range داره بهتر جوابگو است ... البته باز هم سیگنالهای خرید  فروش زیادی ثبت کرده البته نواحی به شدت چسبیده به همه ان ک این هم نشون دهنده فشار فروش و خرید زیاده ... در اینجا شاید بشه با خرید و فروش پلکانی میانگین سود رو بالاتر ببرید. (حتما خرید فروش پلکانی انجام بدید چون اینها همه اش ابزار و احتمالاته )  نتیجه این که برای استفاده از این استراتژی به روندها توجه کنید .وضعیت range یک ساعته چیلیز و سیگنالهای درستی ک این استراتژِی تولید کرده :بازم در تصویر بالا چندین سیگنال فروش فشرده رو داده اما ما باید کجا بفروشیم ایا اولین سیگنال مناسبترینه !!! قطعا نه چون ممکنه مدتها اون بالا بمونه. ب همین دلیل میریم سراغ استراتژی دوم.  ما گفتیم خط rsi بین این نواحی بالا پایین میشه خب پس بهترین کار اینه زمانی خرید بزنیم ک علاوه بر وجود قیمت در ناحیه اشباع فروش،  خط rsi به سمت بالا در حرکت باشه یا اصطلاحا شیب اش مثبت باشه و برای فروش هم در اشباع خرید با شیب منفی. چیلیز در تایم فریم 1 ساعته:دو تصویر رو مقایسه کنید تا متوجه بشید !!! خیلی خفن شد !!! استراتژی بدون هیچ سیگنال اضافه ای جواب داد 3 معامله موفق با سود هر معامله حدود 10 تا 13 درصد. در اینجا علاوه بر بازار range خط rsi در حال خروج  از نواحی اشباع و البته شیب دار.( نمودار rsi رو ببینید)خب این از این ، rsi نسخه جدید یعنی فعلی یه میانگین متحرک داره  که میتونیم ازش کمک بگیریم. پس استراتژی سوم ما میشه اینکه هر وقت خط rsi  به بالای خط میانگین حرکت میکنه سیگنالی برای خریده و هر وقت rsi به پایین میانگین حرکت کنه سیگنالی برای فروش. اول بریم رو تایم هفتگی و اگ از استراتژی اول استفاده کنیم هیچ سیگنالی نداریم!!! :هیچ منطقه اشباعی دیده نمیشه !!! البته یه نکته ظریف اینجا داره که چرا ؟! من فعلا توضیحش نمیدم تا ببینم خودتون متوجه نکته میشین یا نه . بگذریم بریم سراغ استراتژی سوم ک توضیح دادم :نگاه به خط rsi  و میانگین و برخوردشون کنید و نمودار قیمت دقیقا همونطور ک میخواستیم سیگنال داد!!! و سیگنالهای نسبتا مناسبی تولید کرد. تا اینجا ما هر کاری کردیم با مقادیر پیش فرض بوده پیشنهاد میکنم با مقادیر مختلف چارت رو  بررسی کنید تا به نکات مثبت و منفی تغییرات پی ببرید مثلا rsi پیش فرض با طول 14 رو کم و زیاد کنید چه در بازار range چه در روند یا محاسبه میانگین متحرک رو بر اساس متدهای دیگه ای تغییر بدید (پیش فرض sma) مثلا از rma الان برای هفتگی استفاده کنیم با تصویر زیر رو برو میشیم :خب میبینید سیگنالها به حد ایده ال رسیدن همون استراتژی ولی با تغییر مقادیر پیش فرض.فعلا تا اینجا بسه ولی حرف واسه گفتن زیاده و تازه من الف اش رو بیشتر نگفتم. اینهایی که گفتم با تفییر مقادیر پیش فرض همه رو از بیت کوین گرفته تا میم کوین یا ارزی چه در حال رینج چه با روند شدید و پر نوسان چه تایم فریم بالا چه تایم فریم پایین حتما امتحان کنید. بخش زیادی از تجربه شما با مطالعه چارت بدست میاد نه این مطلب.شما هم اگ تجربیاتی دارید به اشترااک بزارید ...این مبحث ادامه دارد ....موفق باشید.

شکست مقاومت یا اصلاح ؟!

شکست مقاومت یا اصلاح ؟!
صعودی

به نظر شما بیت اصلاح میکنه یا مقاومت شکسته میشه ؟https://www.tradingview.com/x/j3Rfsua4/تشکیل احتمالی تقاطع مرگ هفتگی (میانگینها 50 و 200 sma) در مقاومت داینامیک و در جایی که macd سیگنال خروج روزانه داده !!!پ .ن :  شاید برای پیدا کردن جواب بهتره منتظر بستن کندل هفتگی موند !!!نظر شما چیه ؟!

اموزش برنامه نویسی تریدینگ ویو: ساخت اندیکاتور شخصی قسمت دوم

اموزش برنامه نویسی تریدینگ ویو: ساخت اندیکاتور شخصی قسمت دوم
آموزشی

سلام...چند بار این مطلب رو ارسال کردم ولی موفق به ثبتش نشد. امیدوارم این بار بشه.بریم سر اصل مطلب اگ یادتون باشه در قسمت اول اومدم یه اندیکاتور به نام my moving average نوشتم ک از نظر عملکرد بسیار شبیه به اندیکاتور moving average ribbon بود. این اندیکاتور رو به چارت اضافه میکنیم و بعد وارد تنظیماتش میشیم که با تصویر زیر روبرو میشیم :این تنظیمات 3 تا تپ مختلف داره و میانگینها رو به ترتیب اسم گذاری کرده .حالا بیاید اندیکاتور  خودمون یعنی my moving average رو به چارت اضافه کنیم و وارد تنظیماتش شیم :در قیاس با تنظیمات  moving average ribbon ، اندیکاتور ما  اولا 2 تپ داره و دوم اینکه میانگینهای ما اسم گذاری نشده و معلوم نیس کدوم  خط یا plot میانگینی با چه طولی هست !!!پس احتمالا همونطور که حدس زدید قراره واسه اندیکاتورمون تنظیمات ایجاد کنیم. اگ اندیکاتورمون رو باز ندارید باز کنید.برای اینکار وارد pine editor بشید و از اون پایین open رو انتخاب کنید :چندتا بخش میبینید :بخش recently used چندتا اندیکاتوری که اخیرا باز کردید رو بهتون نشون میده اگه my moving average بود  کلیک کنید تا باز شه و اگه نبود از بخش my script… اونو پیدا کنید و باز کنید.متاسفانه در زمان انتشار مطلب قبلی تو سایت متوجه شدم سورس کد رو از قالبش خارج میکنه  و درهم نشون میده و این کار رو برای من یه مقدار سخت میکنه چون ناچرا باید همه رو اسکرین بگیرم. حالا بگذریم ک بعضی از عکسهای مطلب اول هم گم شدن و احتمالا اگ تعداد عکس باز زیاد باشه همون اتفاق بیفته !!!  از اینم بگذریم....برای تغییر در بخش style ،  برای نشان دادن اسامی میانگینهای متحرک ، فقط کافیه title از ورودی های plot رو هم مقدار دهی کنیم :بعد از ذخیره کردن ، حالا دوباره میریم وارد تنظیمات میشیم و بله موفق شدیم اون کاری ک میخواستیم رو انجام بدیم :اگ برگردیم دوباره به تنظیمات  moving average ribbon  گفتم که سه تا تپ داشتیم و اندیکاتور ما یه تپ کمتر داره اون تپ کمتر چیزی نیست جز input . یه نگاه کوچیک اگ بهش بندازیم متوجه موارد زیر میشیم :ستون اول اسامی میانگینهای متحرکه، ستون دوم متد یا شیوه محاسبه میانگین متحرکه که به صورت پیش فرض sma یا میانگین متحرک ساده است، ستون بعدی داده ای که میانگین رو بر اساس اون محاسبه میکنه ک به صورت پیش فرض close است. این close به معنی قیمت بسته شده کندل هاست که شما میتونید تغییر بدید. و البته از همه مهمتر ستون چهارم هستش ک تو این ستون ما میایم طول میانگین رو وارد میکنیم یعنی نیازی نیست ما مثلا اگ میانیگن با طول 30 رو خواستیم ، بیایم  و کد پروژه رو تغییر بدیم بلکه این قابلیت رو از طریق تنظیمات به اندیکاتور اضافه میکنیم ک خود کاربر اونو شخصی سازی کنه البته مقادیر پیش فرضی هم داره.در ادامه میخوایم این ویژگی ها رو هم به اندیکاتور خودمون اضافه کنیم. در جلسه قبل برای محاسبه میانگین متحرک البته از نوع ساده اش از تابع زیر استفاده کردیم :ta.sma(close,10)در اینجا این تابع، با دوتا ورودی تعریف شده ورودی اول  که در اینجا close هست مبنای محاسبه میانگین ما رو مشخص میکنه .هر کندلی در چارت رو با چند مشخصه قیمتی میشناسیم :قیمتی که کندل باز میشه (open)، قیمتی که کندل بسته (close) میشه ، حداکثر قیمتی که کندل تحت هیجان تا اونجا بالا میره (high ) یا تحت هیجان پایین میاد (low) .برای محاسبه میانگین متحرک ما میتونیم از این مشخصه ها به عنوان ورودی استفاده کنیم. اندیکاتورها به صورت پیش فرض بر اساس قیمت بسته شدن یا close محاسبه میشن اما شما میتونید بر اساس استراتژی معاملاتیتون شخصی سازیشون کنید. پس ما در ورودی اول تابع sma میتونیم مقادیر close, open, low, high رو وارد کنیم.به جز این مقادیر ، مقادیر دیگه ای هم وجود داره ک میتونیم مبنای محاسبه میانگینمون قرار بدیم و به عنوان ورودی اول به تابع smaبدیم :hl2 : این مشخصه میاید high رو ب low اضافه میکنه و تقسیم بر 2 میکنه یا همون میانگین بالاترین قیمت و پایین ترینhlc3 : میانگین قیمت بسته شدن ، کمترین و بیشترینohlc4 : میانگین قیمت بسته شدن، باز شدن ، بیشترین  و کمترینhlcc4 : میانگین بیشترین و کمترین قیمت با دو برابر قیمت بسته شدناینکه از کدوم به عنوان محاسبه میانگین استفاده کنید به تجربه شما از بازار بستگی داره. شخصا در جلسات اینده که میخوام استراتژی برنامه نویسی کنم ، از این ها استفاده میکنم تا ببنید تغییر دادن بعضی از مشخصه های پیش فرض اندیکاتورها چقدر میتونه مفید باشه !!!تا اینجا توضیح ورودی اول بود، در تابع sma ورودی دوم طولی هست که میانگین بر اساس اون محاسبه میشه یعنی چه تعداد کندل قبلی رو مبنای محاسبه میانگین قرار بده. که ما از اعداد 10، 20، 50، 100، 200 استفاده کردیم.حالا بعد از این توضیحات میریم سراغ کد نویسی : ma1 = ta.sma(close,10)دستور بالا رو به شکل زیر تغییر بدید :در اینجا اومدیم دستور اول رو تفکیک کردیم ( توضیحات جلسه قبل رو در مورد تفکیک دستور plot مطالعه کنید) و مقدار طول میانگین رو در متفیری به نام ma1Length ذخیره کردیم. این مقدار رو با دستور input از کاربر دریافت میکنیم. بعد از دستور input از int استفاده کردیم. با دستور input ورودی های مختلفی از کاربر میتونیم دریافت کنیم مثل اعداد اعشاری یا اعداد  صحیح و غیره  ولی چون تعداد کندلها جز مجموعه اعداد صحیح (integer) است ما از int استفاده کردیم . توجه کنیم این عدد دریافتی قراره به عنوان ورودی به تابع sma داده بشه و چون محاسبه این تابع بر اساس تعداد کندلهاست و ما نصف کندل یا نمیدونم صدم کندل نداریم که بخوایم ورودی اعشاری از کاربر بگیریم پس محاسبه بر اعداد صحیح انجام میشه در نتیجه از دستور int استفاده میکنیم.  مابقی انواع داده رو در جلسات بعدی توضیح میدم. فعلا در همین حد کافیه که بدونیم برای دریافت اعداد صحیح از کاربر از دستور int استفاده میکنیم.در دستور input از دو ورودی استفاده کردیم یکی به نام title  که نام فیلد  ورودی رو با اون مشخص میکنیم  و دیگری ورودی defval که مخفف default value هست و مقادیر پیش فرض رو برای ما مشخص میکنه یا در واقع برای اندیکاتورمون مقادیر پیش فرض تعریف میکنیم. این تغییرات رو بر تمامی دستوراتمون اعمال میکنیم :خب حالا یه سر به تنظیمات بزنیم  :بهله  موفق شدیم !!! اینم از بخش ورودی ، برنامه نویسی مابقی تنظیمات رو میزارم واسه جلسه بعد (حتما دلیل داره)و میریم سراغ نوشتن یه اندیکاتور دیگه !!!یه اندیکاتور جدید ایجاد کنید ( اگ شیوه کار رو فراموش کردید مطالعه جلسه قبل ضروری خواهد بود) و اسم اونو بزارید myVolumeبرای این کار کد پیش فرض رو به شکل زیر تغییر بدید :indicator("myVolume", overlay = false)تا اینجا حتما متوجه شدید ک ورودی اول تابع  indicator اسم اندیکاتوری هست که میخوایم ایجاد کنیم .دستور overlay هم به تریدینگ ویو میگه اندیکاتور ما رو در کجای چارت نمایش بده اگ این مقدار true باشه، بر روی چارت قیمت نشون داده میشه (مانند میانگین متحرک) و اگ false باشه به صورت مجزا از چارت نمایش داده میشه مثل rsi .همینطور که از اسم اندیکاتور مشخصه قراره اندیکاتوری برای حجم بنویسیم. پس دستور plot رو هم به صورت زیر تغییر بدید :plot(volume, color = color.black, linewidth = 3)ورودی اول چیزی هست که میخوایم ترسیم کنیم . در اینجا این ورودی ، حجم با volume هستش . اندیکاتور رو به چارت اضافه می کنیم :همینطور که میبینید در مقایسه با اندیکاتور حجم که به صورت پیش فرض در چارت هست ، اندیکاتور ما به صورت خطی کشیده شده نه اصطلاحا هیستوگرامی.  اگ هر دو رو در ذهنمون  روی هم بندازیم چیزی مشابه تصویر زیر رو میتونیم تجسم کنیم :خب ما اینو نمیخوایم !!! پس دستور plot رو مشابه زیر تغییر بدید :plot(volume, style = plot.style_histogram , color = color.black, linewidth = 3)همینطور که تو دستور میبینید ما ورودی جدیدی رو به plot دادیم اونم استایل یا فرم نمایش چیزی که ترسیم میکنه ، هستش. style ورودی های مختلفی میگیره که بعد از نوشتن style = plot. لیست اون ها نمایش داده میشه :برای یه تمرین خوب، خودتون بر اساس این لیست مقادیر Style رو تغییر بدید. من هیستوگرام گذاشتم و نتیجه شد این :خب حالا بهتر شد . اهووم ولی یه مشکلی هست همه رو به رنگ سیاه و تک رنگ نشون داده و مشخص نیس کدوم حجم کندل منفیه و کدوم حجم کندل مثبته !!!خب باید چی کار کرد ؟! باید اول بررسی کنیم تحت چه شرایطی یه کندل منفیه و تحت چه شرایط مثبت و بعد بیایم این شرایط رو برنامه نویسی کنیم.در زبانهای برنامه نویسی برای بررسی شرایط و اما و اگرها دستورات محتلفی است که یکی از اونها، دستور if هستش. فرمی از دستور if در این زبان رو میتونید در ادامه ببنید :condition شرطی هست که اون رو مورد بررسی قرار میدیم . local_block دستور یا مجموعه دستوراتی هست که در صورت درستی شرط مورد بررسی، اجرا میشن.ساختار دیگه ای از این دستور مشابه زیره:condition شرطی که اون رو مورد بررسی قرار میدیم . local_block_1 دستور یا مجموعه دستوراتی هست که در صورت درستی شرط مورد بررسی، اجرا میشن.    local_block_2 دستور یا مجموعه دستوراتی که در صورت عدم صحت یا درستی شرط مورد بررسی اجرا میشه.  در واقع ترجمه فارسی ساختار به این صورته اگر (if) شرایط condition درست (true)باشد دستورات local_block_1 رو اجرا کن در غیر این صورت (else) دستورات local_block_2 رو اجرا کن.در ادامه با مثال توضیح میدم.البته ساختار دستور if رو من به چند فرم مختلف تقسیم کردم که فعلا در اینجا از این فرم ساده استفاده میکنیم. در جلسات بعد جزییات بیشتری از این دستور توضیح داده خواهد شد.برگردیم به اندیکاتوری که داشتیم مینوشتیم. تا اینجا دستورات زیر رو نوشتیم :قرار شد بررسی کنیم که تحت چه شرایطی کندل منفیه و تحت چه شرایطی مثبت. دوباره به تصویر زیر نگاه کنید :در زمانی که قیمت پایانی یا close از قیمت اغازین یا open بیشتر باشه کندل مثبت و سبزه در غیر این صورت کندل منفی و قرمزه!!!حالا دستورات زیر رو به برنامه اضافه کنید :myVal = volumeدر اینجا volume رو  به متغیر myVal نسبت میدیم.  بعد دستور رو :myColor = color.blackدر اینجا هم متغییری رو برای تعیین رنگ تعریف کردیم. برای اینکه بررسی کنیم ایا کندل مثبت هست یا منفی از دستور زیر استفاده میکنیم :تو خط اول چک میکنیم که ایا close از openبیشتر است یا نه در واقع ایا کندل مثبت هست یا نه . اگ بیشتر باشه خط بعدی رو اجرا میکنه که در اینجا رنگ ابی به متغیر رنگمون تخصیص میده و اگ نباشه خط بعد از ان نادیده گرفته میشه و مقدار متفیر تغییر نمیکنهدستور plot هم مشابه زیر تغییر بدید :plot(myVal, style = plot.style_histogram , color =myColor, linewidth = 3)بعد از ذخیره ، اندیکاتور ما شبیه زیر میشه :بخش بالایی اندیکاتور حجم پیشفرضه و بخش پایینی اندیکاتور حجمی که ما نوشتیم. ما در اینجا یه رنگ پیش فرض سیاه برای همه کندلها استفاده کردیم بعد با دستور شرطی اومدیم و کندلهای مثبت رو ابی کردیم و ما بقی کندلها هم که به رنگ پیش فرض موندن. تا اینجا کد ما شد این :حتما دستور     myColor := color.blueرو به همین شکل بنویسید با =: میتونیم مقدار یه متغیر رو تغییر بدیم.تمرین اول :  به جای if از ساختار if else استفاده کنید و کندلهای منفی رو به رنگ قرمز دربیارید.تمرین دوم : مانند تصویر زیر یه میانگین متحرک به اندیکاتور حجم اضافه کنید کندلهای منفی رو به سمت پایین محور رسم کنید یعنی قرینه کنید و بخش تنظیمات اون رو هم برنامه نویسی کنید :راهنمایی : در ریاضیات هر مقداری رو در -1 ضرب کنیم قرینه میشه!!!از این اندیکاتور و میانگین متحرکش میتونیم تو معاملاتمون استفاده کنیم !!! هر وقت میانگین متحرک محور میانی رو از پایین به بالا قطع میکنه قیمت افزایش پیدا کرده و هر وقت میانگین متحرک از بالا به پایین نمودار رو قطع کرده قیمت کاهش پیدا کرده. میانگین متحرک رو با طولهای مختلف چک کنید.پایان جلسه دومسوالی بود کامنت بدید .موفق باشید

اموزش برنامه نویسی تریدینگ ویو: ساخت اندیکاتور شخصی قسمت اول

اموزش برنامه نویسی تریدینگ ویو: ساخت اندیکاتور شخصی قسمت اول
آموزشی

Pine script زبان برنامه نویسی داخلی پلتفرم تریدنگ ویو است که به کمک اون میتوان استراتژی های معاملاتی خودمون رو تست بزنیم یا اندیکاتور مخصوص و ویژه ای رو بسازیم. تو این مجموعه اموزشی ک این متن، بخش اول اون رو تشکیل میده سعی میکنم به زبان خیلی ساده مباحث مرتبط با این زبان رو توضیح بدم تا افرادی که اشنایی با برنامه نویسی ندارن هم، توانایی نگارش اسکریپتهای مخصوص به خودشون رو داشته باشن . البته این مجموعه رو سعی میکنم تا نوشتن ربات معامله گر بر اساس سیگنالهای تولیدی توسط استراتژی های معاملاتی ک اونم با هم برنامه نویسی میکنیم رو، ادامه بدم. سیگنالهایی که میشه به ایمیل فرستاد یا حتی به کانال تلگرامی. پس حتما آموزشهای روزهای آینده رو دنبال کنید.Pine script ، یک زبان برنامه نویسی خیلی ساده و بسیار شبیه به زبان برنامه نویسی پایتون هست. دوستانی ک تجربه کار با پایتون دارن متوجه شباهتهای اون میشن .برای نوشتن اسکریپت به این زبان، تنها کافیه وارد اکانت تریدینگ ویو خودتون بشید (اگه تا الان اکانتی نداشتید الان زمان مناسبی واسه ایجاد یه اکانت تو تریدینگ ویو هست) بعد از ورود و رفتن به بخش chart ،یه جفت ارز رو انتخاب کنید سپس از نوار پایینی گزینه pine editor رو انتخاب کنید.(مانند تصویر زیر)Pine editor همون بخشی هست ک میخوایم اونجا اسکریپت مون رو بنویسیم با انتخاب گزینه pine editor با چیزی مشابه تصویر زیر رو برو میشید:همونطور که میبینید دستوراتی به صورت پیش فرض نوشته شده . این دستورات در تمامی اسکریپتهایی هم که  بعدا میخواید ایجاد کنید به صورت پیش فرض هستن که در ادامه توضیحشون میدم :تو سطر  اول عبارت زیر نوشته شده :// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/در اینجا در مورد مجوز یا لیسانس اسکریپت ما و اینکه تحت چه قوانینی هست توضیحاتی داده شده  البته در اینجا بهش نیازی نداریم و میتونید پاک کنید. اما چیزی که تو این خط مهمه اسلش ها هست که در ابتدای خط اومده این اسلش ها به ما میگه نوشته ای که در ادامه اش میاد توضیحات ان و نقشی در اجرای کد ندارن. پس چرا می نویسیمش ؟! جواب ساده است به جز این مورد خاص که توضیحاتی درباره مجوز انتشار نوشته شده، به صورت کلی توضیحات کمک میکنه که در اینده اگه خواستیم دوباره کدمون رو توسعه بدیم یادمون بمونه دستوراتی که نوشتیم برای چه کاری بوده !!! نقش مهم دیگه ای هم که  داره در زمان انتشار، و توسعه توسط برنامه نویسای دیگه است که اونا هم منطق برنامه ای که نوشتیم رو بهتر درک کنن. پس توضیحات رو قبل از نوشتن دستوراتی ک کار خاصی انجام میدن بنویسید......................// © mehrdadتو سطر  دوم عبارت بالایی نوشته شده که نویسنده اسکریپت رو مشخص میکنه (اینم یه توضیح هست که با دابل اسلش شروع شده) و به صورت پیش فرض نام کاربری اکانت ما در تریدینگ ویو هست. در صورتی ک میخواید میتونید تغییرش بدید یا به کل حذفش کنید. من هم دراینجا تغیییرش دادم و این اسم کاربری من در تریدینگ ویو نیست !!!........................//@version=5و اما سطر 4 که بر خلاف  دو سطر  قبلی قابلیت حذف نداره و مهم هم هستش، ورژن برنامه ما رو مشخص میکنه . این دستور نباید حذف بشه و توجه کنید که دستورات pine script  در ورژنهای مختلف کمی متفاوته و اگ میخواید از کدی که در نت منتشر شده استفاده کنید، حتما به این موضوع توجه داشته باشید که با چه ورژنی نوشته شده ان.........................................indicator("My script")در سطر بعدی ما به تریدینگ ویو اعلام میکنیم میخوایم اندیکاتوری بنویسیم به نام my script . میتونید این عبارت رو تغییر بدید و اسم خاص مورد نظر خودتون رو بنویسید. توجه کنید ما برای ایجاد اندیکاتور  حتما باید دستور indicator رو بهمین شکل نوشته باشیم. اندیکاتور در واقع ابزار تحلیلی هست که با کمک اون میتونیم بازار رو تحلیل کنیم مثل rsi یا ma و موارد مشابه .یه نکته مهم که اینجا باید بگم هدف از این اموزش یادگیری دسترات pine script برای کمک در توسعه اندیکاتور شخصی هست نه اینکه اندیکاتور خاصی مد نظر من هست و میخوام اون رو منتشر کنم !!! به عبارت دیگه شما باید بازار رو بشناسید و مثلا به فرمول ریاضی رسیدید ک اگ کندلهای قیمتی رو اینجور تحلیل کنیم نقاط مناسبی برای خرید و فروش به ما میده !!! وبعد اون رو برنامه نویسی کنید !!!.................................و اما اخرین دستور، دستور plot(close) هست که از اسمش هم مشخصه این دستور برای ترسیم استفاده میشه. در داخل دستور عبارت close نوشته شده که به تریدیگ ویو میگه عمل ترسیم رو براساس قیمت بسته شدن انجام بده. حالا اگ گزینه  Add to Chart رو کلیک کنیم این اندیکاتور به چارت ما اضافه میشه . البته قبل از اون بهتره اسکریپت خودمون رو ذخیره کنیم . بر روی گزینه Save کلیک کنید ، پنجره ای مشابه پنجره زیر باز میشه و از ما میخواد اسکریپتمون رو ذخیره کنیم.همینطور که میبینید بعد از ذخیره، اندیکاتور ما با نام my script به چارت اضافه شده . این اندیکاتور که 1 دستور plot داره، میاد و نمودار قیمت رو به صورت خطی و بر اساس قیمت بسته شدن کندل ها نمایش میده. در واقع  کندل فعلی و کندلهای قبلی رو به شکل نقطه و بر اساس قیمت بسته نمایش میده و مجموعه این نقاط هم تشکیل این نمودار خطی رو داده. (خط مجموعه ای از نقاط به هم پیوسته است)میتونید نحوه نمایش نمودار قیمت رو به جای حالت شمعی بزارید رو حالت Line و نمودار قیمت رو با اندیکاتور my script مقایسه کنید.کاملا مشابه ان!!! درسته !!! به همین راحتی ما یه یه اندیکاتور ایجاد کردیم بدون نوشتن حتی یک خط دستور!!!حالا شاید از خودتون بپرسید چه جور میشه رنگ اونو تغییر داد. شاید بگید خب اینم مثل اندیکاتورهای دیگه بخش تنظیمات داره و از اون طریق میشه تغییر داد البته که این درسته ولی منظور من از طریق برنامه نویسی بود !!! خب من برای همین دارم این مطلب رو مینویسم !!!برای این کار دستور plot رو به شکل زیر تغییر بدید :plot(close, color = color.red )نکته : وقتی در نگارش color هستید خود تریدینگ ویو پیشنهاداتی رو برای نوشتن دستورات احتمالی به شما نشون میده اگ املای صحیح دستور رو فراموش کردید میتونید از اون کمک بگیرید .بعد از تغییرات حتما اسکریپت رو ذخیره کنید . در صورتی که اندیکاتور رو بستید یا به نمودار اضافه نشده  دوباره add to chart رو کلیک کنید تا اندیکاتور رو با تغییراتی که دادیم نمایش بده. اگ این کار ها رو به درستی انجام بدید نمودار قرمز رنگ میشه .برای تغییر در ضخامت خط ترسیم شده باید دستور جدیدی به plot بدیم . پس دستور plot رو به شکل زیر تغییر بدید :plot(close, color = color.red, linewidth = 3  )تا اینجا کد ما شد :// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/// © mehrdad//@version=5indicator("My script")plot(close, color = color.red, linewidth = 3  )و نتیجه حاصله :برای تمرین خودتون عدد 3 رو تغییر بدین و تغییرات حاصل رو مشاهده کنید و اگ سوالی داشتین در بخش کامنتها بپرسین.در ادامه شاید این سوال رو از خودتون بپرسید که چه جور میتونیم این نمودار ترسیم شده رو بر روی چارت ببینیم نه در پایین چارت و در کادر جداگانه، یا در واقع چه طور اندیکاتوری بنویسیم که بر روی نمودار قیمت نمایش داده بشه ؟!جواب این سوال با تغییر در دستور indicator نهفته است. این دستور هم مانند plot ورودی های مختلفی میگیره . اما قبل از نوشتن دستور بهتره بگم منظور از ورودی چی هست دستوراتی مثل plot و مشابه اون در واقع مانند یه تابع عمل میکنه همون تابعی ک در ریاضیات خوندیم مثل تابع f(x) = x +1 ک به ما میگه  x به عنوان ورودی هر چه است رو یکی بهش اضافه کن مثلا f(1) = 2 وووو خب در اینجا هم تیم توسعه تریدینگ ویو از قبل توابعی نوشته مثل همین plot که مقادیری به عنوان ورودی میگیره و عمل خاصی رو انجام میده  . همین عمل قرمز رنگ کردن خط ترسیمی ما در واقع یک ورودی هست با مقدار red ک میگیم جایگزین color در تابع plot کن..در مثال f(x)  ما 1 رو به جای x وارد کردیم  تابع به ما عدد 2 رو داد. خب در اینجا هم باید مقدار خاصی رو به عنوان ورودی به دستور indicator بدیم تا بر اساس اون بیاد عملی رو انجام بده و اندیکاتوری که میخوایم رو نمودار قیمت نمایش بده نه به صورت مجزا و در پایین. این ورودی با overlay مشخص میشه. دستور indicator رو مشابه زیر تغییر داده و ذخیره کنید و به چارت اضافه کنید :indicator("My script", overlay = true)نتیجه کار میشه تصویر زیر :البته ضخامت خط زیاده و کامل کندل ها رو پوشونده !!!دستورات کامل تا اینجا :// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/// © mehrdad//@version=5indicator("My script", overlay = true)plot(close, color = color.red, linewidth = 3  )در دستور plot اگر به جای close کلمه open بنویسیم خط رو بر اساس قیمت باز شده کندلها ترسیم میکنه low و high هم برای پایین ترین قیمت کندل و بالاترین قیمت به کار برده میشه. این تغییرات رو اعمال کنید و اگر سوالی داشتید بپرسید. بعد از اضافه کردن اندیکاتوری ک نوشتید تایم فریم رو هم تغییر بدید تا بهتر انچه که انجام میدید رو درک کنید.در ادامه اندیکاتوری رو بر اساس میانگینهای متحرک توسعه میدیم.اندیکاتور قبلی رو ببندید و بر روی گزینه open کلیک کنید و برای ایجاد یک اندیکاتور جدید گزینه indicator رو انتخاب کنید.در اینجا کد پیش فرض به ما نشون داده میشه . اسم اندیکاتور رو میزاریم my moving average و چون میخوایم روی نمودار قیمت نشون داده بشه دستور overlay رو با مقدار true به عنوان ورودی به اون  میدیم.indicator("My Moving Average", overlay = true)بعد دستور plot رو به شکل زیر تغییر میدیم :plot(ta.sma(close,20))این در واقع از دو دستور تشکیل شده که اول دستور داخل پرانتز رو اجرا میکنه یا بهتر بگم پرانتزهای داخل در اولویت ان وبعد دستور plot رو اجرا میکنه.دستور داخل پرانتز یعنی ta.sma(close,20)  میانگین متحرک ساده با طول 20  است که این میانگین رو بر اساس قیمت بسته شده یا close محاسبه میکنه و نتیجه هرچی شد رو با دستور plot نمایش میده :در اینجا هم  نمودار رو با رنگ ابی مشخص کرده (رنگ پیش فرضه) برای تغییر رنگ  یا ضحامت مشابه قبل عمل میکنیم. مثلا ما در اینجا رنگ تغییر دادیم.plot(ta.sma(close,20), color = color.red)دستور بالا رو با دستورات قبلی مقایسه میکنیم :plot(close, color = color.red )همینطور که میبینید ساختار دستور کاملا مشابه است و فقط بخش اول تفاوت داره که این بخش اول یا ورودی اول plot ، چیزی هست که خواستیم رسم کنیم (در اینجا میانگین متحرک).Plot ورودی های محتلفی میگیره این ورودی ها رو میتونید تو شکل زیر ببینید:در بخش پایین اش توضیحی در مورد plot داده : plots a series of data on the chart ترسیم یا نمایش مجموعه ای از داده ها بر روی چارت. پس در وافع اولین ورودی یعنی series چیزی هست که میخوایم ترسیم کنیم، که ما اینجا میانگین متحرک ساده رو به عنوان ورودی اول دادیم یعنی این رو واسمون ترسیم کن. ورودی سوم color که رنگ انچه ترسیم میکنیم رو مشخص میکنیم و با ورودی چهارم یعنی linewidth ضخامت خط رو، که البته با اینها هم از قبل اشنا شدیم.مابقی ورودی ها رو هر چه جلوتر بریم معرفی میکنم.تا اینجا موفق به ایجاد یک اندیکاتور برای میانگین متحرک شدیم. اما در اغلب موارد ما به جای یک میانگین متحرک به چند میانگین نیاز داریم در طولهای محتلف . این کار باعث میشه ما دید بهتری در کوتاه مدت، میان مدت و بلند مدت داشته باشیم. اما اضافه کردن چندتا اندیکاتور میانگین در سیستم تریدینگ ویو با توجه به رایگان بودن اکانت ما، محدودیت اضافه کردن اندیکاتر برای ما ایجاد میکنه .  برای اینکه این محدودیت رو دور بزنیم بهتره تمامی میانگینهای متحرک رو در یک اندیکاتور داشته باشیم.برای اینکار تنها کافی هست دستور plot  رو به تعداد دلخواه کپی کنیم (با طول 10، 20،50،100،200):plot(ta.sma(close,10), color = color.green)plot(ta.sma(close,20), color = color.blue)plot(ta.sma(close,50), color = color.lime)plot(ta.sma(close,100), color = color.red)plot(ta.sma(close,200), color = color.black)نتیجه حاصل (دارم رو گالا ترید میکنم و همزمان مقاله مینویسم!!!):و کل کد ما تا اینجا :// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/// © mehrdad//@version=5indicator("My Moving Average", overlay = true)plot(ta.sma(close,10), color = color.green)plot(ta.sma(close,20), color = color.blue)plot(ta.sma(close,50), color = color.lime)plot(ta.sma(close,100), color = color.red)plot(ta.sma(close,200), color = color.black)نوشتن این دستورات به این شکل هرچند کار ما رو راه میندازه اما خوانش کد رو سخت تر و اعمال تغییرات رو پیچیده تر میکنه پس بهتره دستورات plot  و sma رو از هم تفکیک کنیم.برای این کار تک تک دستورات plot رو ب شکل زیر تغییر میدیم برای مثال اولین دستور :ma1 = ta.sma(close,10)plot(ma1, color = color.green)در اینجا اومدیم برای دستور میانگین متحرک یک variable یا متغیر تعریف کردیم. متغیر در برنامه نویسی برای نگهداری داده ها با نام خاصی استفاده میشه .نام متغیر در اینجا ma1 هست. و ma1  رو به عنوان ورودی به plot دادیم. بعد از اعمال این کار برای تمامی دستورات plot ، کد ما به شکل زیر دیده میشه :// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/// © mehrdad//@version=5indicator("My Moving Average", overlay = true)ma1 = ta.sma(close,10)ma2 = ta.sma(close,20)ma3 = ta.sma(close,50)ma4 = ta.sma(close,100)ma5 = ta.sma(close,200)plot(ma1, color = color.green)plot(ma2, color = color.blue)plot(ma3, color = color.lime)plot(ma4, color = color.red)plot(ma5, color = color.black)نکته : حتما بعد از اعمال تغییرات ، رو گزینه save کلیک کنید.این اندیکاتوری که مانوشتیم مشابه اندیکاتور moving average ribbon هست البته ما 5 میانگین داریم اونجا 4 تا.پایان آموزش اولاگر سوالی بود در مورد این مطلب کامنت بدید و اگ سوالی غیر این مطلب بود ولی مرتیط با pine script اونا رو تو یه پست جداگانه به صورت پرسش و پاسخ جواب میدم.موفق باشید

چرا چیلیز همگام با بیت افزایش پیدا نمیکند ؟!

چرا چیلیز همگام با بیت افزایش پیدا نمیکند ؟!
نزولی

سلام... اگ نمودار چیلیز رو بر اساس بیت در نظر بگیریم (ارزش چیلیز نسبت به بیت بسیار بالا رفته بود و در واقع به سقف رسیده بود)https://www.tradingview.com/x/mVz9q0FG/وارد این ناحیه شد (بعد از شکست خط گردن) و با توجه به الگویی که زده شروع  ب کاهش ارزشش در برابر بیت کوین شد...و البته سیگنالی ک macd صادر کرده بود ...سیگتال از دست داده ارزش نسبت به بیت...https://www.tradingview.com/x/Pa0ftdtD/در ادامه سطوح فیبوی اصلاحی کل روندhttps://www.tradingview.com/x/fE7hTuZv/تا اینجا متوجه شدیم ک چرا چیلیز بالا نمیره در واقع داره ارزشش رو نسبت به بیت از دست میده !!!..................و حالا  اگ بخوایم پیش بینی اینده تتری کنیم، نمودار رو بر اساس تتر مرتب میکنیم ، همینطور که در تصویر زیر می بینید :https://www.tradingview.com/x/Cwa0k46R/چیلیز در تایم بلند مدت هفتگی یک کانال رو تشکیل داده ک در برخورد با سقف کانال و همزمان با واگرایی rsi قیمت کاهش پیدا کرد تا ناحیه 15 تا 17 سنت ک ناحیه حمایتی قوی بود و در ادامه این ناحیه شکسته شد و گویا مقصد کف کانال و زیر 10 سنت خواهد بود !!!............................................از نظر زمانی هم کف کانال اسفند ماه یا اوایل فروردین خواهد بود... .................................................................. البته در صورت درستی تحلیل (پایین رونده به زیر 10 سنت ناحیه ای نزدیک 6 سنت!!!)، این حرکت با نوسانات اصلاحی همراه خواهد بود :https://www.tradingview.com/x/wTV4VMpr/به این نمودار دقت کنید تایم فریم 4 ساعته قیمت نسبت به واگرایی ها به وضوح واکنش نشان داده...و احتمالا در کوتاه مدت و با توجه واگرایی تشکیل شده ما به ناحیه از دست رفته پولبک بزنیم....................................................................................... خلاصه : در کوتاه مدت بخشی از موج نزولی اصلاح شده و به ناحیه شکسته شده پولبک میزنه و ادامه روند نزولی خودش رو در بلند مدت ادامه میده اخبار (فاندامنتال) اولویت بیشتری نسبت به تکنیکال داره و میتونه این تحلیل رو تحت الشعاع قرار بده

چند درسی که باید از لونا کلاسیک آموخت

چند درسی که باید از لونا کلاسیک آموخت
آموزشی

سلام...تجربه ای ک تو بازارهای ارزهای دیجیتال تو این چند سال داشتم  رو میخوام تو این پست به اشتراک بزارم... متاسفانه بعضی از افراد تو پامپ لونا ، این ارز رو خریدن و دچار ضرر و زیان شدن...(و نصیحت بعضی از دوستان دیگه رو گوش ندادن و حتی خود من پیام دادم ک میخوام لونا خریداری کنم اگه پایین اومد کسی حاضر به جبران ضرر من هست !!! با این لفظ بیان کردم) .........................تو این مورد چند نکته میخوام بگم  (هیچ گونه سیگنال خرید و فروشی نیس بلکه تجربه ای هست ک باعث میشه تو وضعیت مشابه اقدام هیجانی انجام ندیم): 1) متاسفانه اشتباهات زیادی در مورد مفهوم حجم میشه !!! مثلا حجم بالاست پس قراره افزایش قیمت کنه !!! نه اینطور نیس !!! هر معامله ای دو سمت داره یکی فروشنده یکی خریدار ، اون چیزی ک باعث افزایش قیمت میشه ، نسبت حجم خرید و فروش یا عرضه و تقاضا در لحظه است ، اگ حجم خرید بیشتر باشه (نه تعداد خریدار!!!) خود به خود برای پرکردن سفارشات خرید ، سیستم به جستجوی نزدیکترین قیمت فروش میگرده و قیمت بالا میره تا حجم خرید رو پر کنه و برعکس هم هست وقتی حجم فروش بیشتر باشه و خریدار در لحظه نباشه اونقدر پایین میاد تا سفارشات فروش رو با سفارشات خرید در پایین پر کنه !!!2) در زمانی ک ارزش معاملات روزانه  از ارزش بازار ارز بیشتر شه ک غالبا تحت تاثیر فاندامنتال این اتفاق می افته، و در اینجا تحت تاثیر اخبار مثبت پامپ کرد ، در یه نقطه ای به حالت اشباع ورود سرمایه میرسه و روند جهت عکس میگیره (از شیبا و دوج بگیر  تا ارز ویوز که البته تحت تاثیر فیک پامپ بود).. در واقع زمانی این اتفاق می افته یعنی ارزش معاملات از مارکتش بالاتر میزنه ک عده ای ورود کنن با سود خارج شن و خریدارها  که یه عده ای دیگه ای هستن اونا هم با سود خارج شن و خریدار جدید وارد شه !!!! بالاخره در یه نقطه ای خریدار جدید نیس و این هیجان فروکش میکنه (معاملات روزانه رو منظورمه ک ارزشش از کل ارزش اون لحظه بازار ارز، بیشتر باشه ) ممکنه این اتفاق چندین روز زمان ببره بالا رفتن ولی در نقطه ای تغییر جهت میده ....3) نمودار زیر نگاه کنید :https://www.tradingview.com/x/nm5JPDWh/هر ارزی ک قیمت فعلی اون با میانگین متحرک بلند مدتش فاصله گرفت،  در نقطه ای به اون سمت برمیگرده!!! (میانگین متحرکه فقط میخوام بگم به سمتش حرکت میکنه و ممکنه زمان ببره و این نکته رو هم بگم میانگین ک خصلت حرکتی داره کم کم بالا میاد  و نقطه قیمتی اینجا منظور نیست)در واقع به نوعی از نظر تکنیکال نکته 2 رو تایید میکنه...حالا هرچه تایم فریم مورد تحلیل بالاتر باشه ، این بازه زمانی طولانی تر ّو بر عکس ...مثلا تایم فریم چهارساعته همین ارز ک میبینیم به سمتش حرکت کرد:https://www.tradingview.com/x/uGAHmMMv/یا برای مثال دوج در هفتگی :https://www.tradingview.com/x/nmLrw5K0/یا شیبا روزانه :https://www.tradingview.com/x/EF4ZJE2W/........در مورد این نکته تکنیکالی ، معمولا تریدرها در تایم کوتاه تر مثلا 3 دقیقه یا 5 دقیقه و سرمایه گذاران و معامله گران با دید بلند یا هولدرها، در تایم فریم طولانی تر وارد معامله میشن...  توجه : من نمیدونم ارزش لونا در اینده به چه عددی میرسه !!! در اینجا بحث من بر سر زمان درست سرمایه گذاری و هدف اون هست ...................................................................... این مواردی ک گفتم جز مسایل طبیعیه بازاره .. عقل سلیم حکم میکنه به جای خرید در 00052 در قیمت پایین تر مثلا در 00026 بخریم که حجم بیشتری خریداری کرده باشیم یا برای حجم ثابتی، پول کمتری پرداحت کرده باشیم ... در زمان نوشتن این مطلب قیمت محدوده 00026 هست کسی ک 00052 خریده عملا باید صبر کنه که ارزش لونا دوبرابر بشه ک به اصل پولش برسه ولی کسی ک 00026 خرید درصورت رخ دادن اون اتفاق، یعنی 00052 شدن، ارزش داراییش دو برابر شده !!!......................................................... نکته ضمیمه ای : در زمینه توکن سوزی لونا مدت زیادی هست که اطلاعاتی منتشر میشه یعنی قبل از پامپ !!! اگ ما واقعا به درستی 1 سنت شدنش یا بیشتر، تحت تاثیر توکن سوزی ایمان داریم (ایمان اوردن بعد از بررسی پروژه)  باید قبل از پامپ میخریدیم نه بعد از پامپ چون این موضوع قبلا اطلاع رسانی شده بود .............................................................. لونا فقط یک مثال بود و هیچ گونه سیگنال خرید و فروشی نیست و این مطلب بیشتر جنبه کنترل احساسات در موراد مشابه دارهان شالله همگی به سود برسید...