خط روند را با پایان بکشید

ساخت وبلاگ

سلام ، از x y نقطه در یک نوار یک خط شروع می شود و اگر یک نوار را لمس کند ، به سمت راست می رود ، اگر اجازه ندهید ادامه یابد.

من سعی می کنم موارد فوق را بفهمم اما نتوانستم کد را بفهمم. پیشاپیش متشکرم

  • [هشدار بسته شد!] هر سؤال تازه وارد ، تا در این زمینه به هم نزنید. حرفه ای ها ، کنار نروید. بدون تو نمی توانم به جایی بروم.
  • هر سوال تازه کار ، به طوری که برای جمع کردن انجمن. حرفه ای ها ، از کنار هم عبور نکنید. هیچ جا بدون تو - 6.
  • چگونه یک بازپرداخت را کدگذاری کنیم؟

1897 Seng Joo Thio 2020. 01. 07 04:25 #1

HGU GH: سلام ، از x y نقطه در یک نوار یک خط شروع می شود و اگر یک نوار را لمس کند به سمت راست می رود ، اگر اجازه ندهید ، آن را متوقف کنید.

من سعی می کنم موارد فوق را بفهمم اما نتوانستم کد را بفهمم. پیشاپیش متشکرم

برای ترسیم یک خط به دو نقطه یا یک امتیاز و یک شیب نیاز دارید - آیا اینها را دارید؟

پس از داشتن این موارد ، هیچ چیز شما را از چک کردن نوار توسط نوار باز نمی دارد و دامنه قیمت آن نوار را در برابر ارزش قیمت خط شما مقایسه می کند.

توابع شما می توانید از آنها استفاده کنید: ObjectCreate () و ObjectGetValueByShift (). هنگامی که نوار را پیدا کردید که خط لمس می کند ، به سادگی نقطه دوم آن خط را به آن نوار/قیمت تغییر دهید ، با استفاده از ObjectSetDouble () برای تغییر مقدار y و ObjectSetInteger () برای تغییر مقدار x.

  • docs. mql4. com

این تابع مقدار قیمت را برای نوار مشخص شده محاسبه و برمی گرداند (تغییر مربوط به نوار فعلی). مقدار قیمت توسط مختصات اول و دوم با استفاده از یک معادله خطی محاسبه می شود. اعمال شده برای خطوط و اشیاء مشابه. برای به دست آوردن اطلاعات خطای دقیق ، باید با عملکرد GetLasterror () تماس بگیرید. وقتی این عملکرد

HGU GH 2020. 01. 07 06:48 #2 سنگ جو تیو:

برای ترسیم یک خط به دو نقطه یا یک امتیاز و یک شیب نیاز دارید - آیا اینها را دارید؟

پس از داشتن این موارد ، هیچ چیز شما را از چک کردن نوار توسط نوار باز نمی دارد و دامنه قیمت آن نوار را در برابر ارزش قیمت خط شما مقایسه می کند.

توابع شما می توانید از آنها استفاده کنید: ObjectCreate () و ObjectGetValueByShift (). هنگامی که نوار را پیدا کردید که خط لمس می کند ، به سادگی نقطه دوم آن خط را به آن نوار/قیمت تغییر دهید ، با استفاده از ObjectSetDouble () برای تغییر مقدار y و ObjectSetInteger () برای تغییر مقدار x.

من چرخه ای ایجاد کردم که خطوط خطوطی را به صورت افقی ایجاد می کند وقتی یک شرط برآورده می شود و وقتی این خطوط افقی یک نوار را لمس می کنم ، می خواهم در آنجا متوقف شود و اگر تا آخر چیزی را لمس نکند. من هنوز نمی توانم ببینم که چگونه می توانم این کار را با توابع شما توصیه کنم.

خیلی ممنون مجری 38645 کیت واتفورد 07. 01. 2020 07:34 #3

Hgu Gh: من چرخه ای ایجاد کردم که در صورت برآورده شدن یک شرط، خطوط روند را به صورت افقی ایجاد می کند و وقتی این خطوط روند افقی نواری را لمس می کنند، می خواهم در آنجا متوقف شود و اگر چیزی را لمس نکرد، باید تا آخر پیش برود. من هنوز نمی توانم ببینم چگونه می توانم آن را با توابع توصیه شده انجام دهم.

خیلی ممنون

Simply check if the high of a bar>= به خط افقی && پایین نوار

اگر چنین است، باید لمس شده باشد، بنابراین خط را در آنجا تمام کنید.

1897 Seng Joo Thio 07. 01. 2020 07:47 #4

Hgu Gh: من چرخه ای ایجاد کردم که در صورت برآورده شدن یک شرط، خطوط روند را به صورت افقی ایجاد می کند و وقتی این خطوط روند افقی نواری را لمس می کنند، می خواهم در آنجا متوقف شود و اگر چیزی را لمس نکرد، باید تا آخر پیش برود. من هنوز نمی توانم ببینم چگونه می توانم آن را با توابع توصیه شده انجام دهم.

خیلی ممنون

خوب، حتی اگر خطوط شما افقی هستند، حتی ساده تر، حتی نیازی به استفاده از ObjectGetValueByShift (). شما چیزی شبیه به این خطوط قرمز می خواهید؟

ببینید آیا می توانید از طریق این کدها (که می توانند به OnCalculate() یا OnTick() بروند، بفهمید که چگونه این کار را انجام دهید:

ایستا زمان قرارiLastTime =0; زمان قرارiCurrTime =آی تایم(سمبل(),دوره زمانی(),1); برای (بین المللیمن =-10; i10; من ++)<if(i==0) ادامه هید; دو برابرdPrice;رشتهstrName ="خط"+رشته(من)؛if(iLastTime==0) <زمان قرارiStartTime =آی تایم(سمبل(),دوره زمانی(),2); if (i>0)dPrice =MathMax(iHigh(سمبل(),دوره زمانی(),1), iHigh(سمبل(),دوره زمانی(),2)); دیگرdPrice =MathMin(iLow(سمبل(),دوره زمانی(),1), iLow(سمبل(),دوره زمانی(),2))؛dPrice+=(i*نقطه*20); ObjectCreate(نمودار نمودار(), strName,OBJ_TREND,0, iStartTime, dPrice, iCurrTime, dPrice)؛ObjectSetInteger(نمودار نمودار(), strName,OBJPROP_RAY,درست است، واقعی);> دیگر if(iLastTimeObjectGetDouble(نمودار نمودار(), strName, OBJPROP_PRICE1);if (dPrice>iLow(سمبل(),دوره زمانی(),1) && dPriceiHigh(سمبل(),دوره زمانی(),1) && ObjectGetInteger(نمودار نمودار(), strName,OBJPROP_RAY)) <ObjectSetInteger(نمودار نمودار(), strName, OBJPROP_TIME2, iCurrTime);ObjectSetInteger(نمودار نمودار(), strName,OBJPROP_RAY,نادرست);>>>iLastTime = iCurrTime;
راهنمای تجارت فارکس...
ما را در سایت راهنمای تجارت فارکس دنبال می کنید

برچسب : نویسنده : نسیم خاکسار بازدید : <-PostHit-> تاريخ : چهارشنبه 4 مرداد 1402 ساعت: 16:31