چگونه می توان ارزش تیک را براساس قیمت محاسبه کرد؟

ساخت وبلاگ

اگر این سفارش یک سفارش سود باشد ، سفارش بسته سفارش برابر با Ask + TP X Point (پیشنهاد - TP X Point) خواهد بود.

من یک فرمول پیدا کردم: سود = تعداد x marketinfo (نماد () ، mode_tickvalue) x tp

اما مقدار کنه ثابت نیست ، من می خواهم قبل از ارسال این سفارش ، مقدار تیک را ارزیابی کنم ،

بنابراین باید ارزش کنه را با قیمت TP محاسبه کنم.

  • مشکل حل شد [لطفا موضوع را حذف کنید]
  • امتیازات Stoploss بالاتر از امتیازات من است! کمک!
  • سوالات مبتدیان MQL5 MT5 Metatrader 5

2327 گوردون 2010. 02. 04 09:48 #1 گلدباخ:

من باید حداکثر ارزش سود را با تعداد یک سفارش ارزیابی کنم ، از (پیشنهاد) بپرسید و ارزش خود را دریافت کنم.(مقدار Take Profit = TP X Point)

اگر این سفارش یک سفارش سود باشد ، سفارش بسته سفارش برابر با Ask + TP X Point (پیشنهاد - TP X Point) خواهد بود.

من یک فرمول پیدا کردم: سود = تعداد x marketinfo (نماد () ، mode_tickvalue) x tp

اما مقدار کنه ثابت نیست ، من می خواهم قبل از ارسال این سفارش ، مقدار تیک را ارزیابی کنم ،

بنابراین باید ارزش کنه را با قیمت TP محاسبه کنم.

شما می خواهید آینده را بدانید.

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

[حذف شده] 2010. 02. 08 08:40 #2 gordon wrote>>

شما می خواهید آینده را بدانید.

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

متشکرم برای پاسختان.

با اجرای EA با کد آزمون زیر:

نظر ("TickValue =" + MarketInfo (نماد () ، mode_tickvalue) + "، 1 / bid =" + (1 / پیشنهاد)) ؛

TickValue = 1. 11881853 ، 1 / BID = 0. 01118944 TickValue = 1. 11869337 ، 1 / BID = 0. 01115063 TickValue = 1. 11894372 ، 1 / BID = 0. 01115698

بنابراین حدس می زنم که اگر TickValue با مقدار پیشنهاد همراه باشد؟

2327 گوردون 2010. 02. 08 12:05 #3 گلدباخ:

متشکرم برای پاسختان.

با اجرای EA با کد آزمون زیر:

نظر ("TickValue =" + MarketInfo (نماد () ، mode_tickvalue) + "، 1 / bid =" + (1 / پیشنهاد)) ؛

TickValue = 1. 11881853 ، 1 / BID = 0. 01118944 TickValue = 1. 11869337 ، 1 / BID = 0. 01115063 TickValue = 1. 11894372 ، 1 / BID = 0. 01115698

بنابراین حدس می زنم که اگر TickValue با مقدار پیشنهاد همراه باشد؟

مقدار تیک مقدار یک کنه ارز نقل قول (قابل دسترسی از طریق mode_ticksize) در ارز سپرده حساب است. این روشی است که کارگزار برای ترجمه سود شما در تجارت هر جفت به ارز در حساب خود شما "ترجمه" می کند ، بنابراین نوعی مانند "نرخ ارز" است.

[حذف شده] 2010. 02. 08 12:35 #4

من از TickValue (همراه با TickSize) در هر یک از EAS خود استفاده می کنم ، به عنوان مثال ، برای ایجاد یک فرمول خطر یا فراگیر که به اندازه کافی انعطاف پذیر است برای عملکرد در هر ترکیبی از ارز حساب و جفت نمودار استفاده می کنم.

2327 گوردون 2010. 02. 08 13:05 #5 گوردون:

شما می خواهید آینده را بدانید.

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

یک توضیح در مورد نظر من - از آنجا که ارزش تیک به عنوان "نرخ ارز" عمل می کند ، اگر ارز نقل شده همان ارز سپرده باشد ، مقدار تیک ثابت خواهد شد (و در این موارد می توانید از آن در محاسبات خود استفاده کنید). اما در موارد دیگر متغیر خواهد بود و فقط می توان مقدار فعلی آن را شناخته شد (یا اگر آن را در پرونده ذخیره کنید ، مقادیر گذشته را ذخیره کنید).

[حذف شده] 2010. 02. 09 09:25 #6 gordon wrote>>

یک توضیح در مورد نظر من - از آنجا که ارزش تیک به عنوان "نرخ ارز" عمل می کند ، اگر ارز نقل شده همان ارز سپرده باشد ، مقدار تیک ثابت خواهد شد (و در این موارد می توانید از آن در محاسبات خود استفاده کنید). اما در موارد دیگر متغیر خواهد بود و فقط می توان مقدار فعلی آن را شناخته شد (یا اگر آن را در پرونده ذخیره کنید ، مقادیر گذشته را ذخیره کنید).

Miroslav Popov 2010. 02. 09 11:06 #7

یکی از برنامه ها زمانی است که می خواهید ضرر متوقف شده را به عنوان مبلغ پول محاسبه کنید. بیایید بگوییم SL با 135 دلار.

برنامه دیگر زمانی است که می خواهید توقف از تعادل شما درصد باشد. مثال SL در 10 ٪ از تعادل فعلی.

بنابراین ما باید پول را به PIP ها تبدیل کنیم. مشکل اصلی یافتن آن "نرخ ارز" است.

من از این کد استفاده می کنم اما Radder پیچیده است:

/// /// درصد توقف حساب ضرر را به a محدود می کند /// درصد از پیش تعریف شده مانده حساب. /// تعداد پیپ ها را برای Stoploss برمی گرداند. دو برابرحساب کاربری(رشتهسمبل, دو برابردرصد, دو برابرمقدار زیادی)  دو برابرتعادل= موجودی حساب(); دو برابرمبادله کردن=حساب کاربری(سمبل); دو برابراندازه زیادی= بازار(سمبل, mode_lotsize); دو برابرنقطه= بازار(سمبل, نقطه_ نقطه); دو برابرگسترش= بازار(سمبل, MODE_SPREAD); دو برابرقسمتهای=درصد*تعادل*مبادله کردن/ (مقدار زیادی*اندازه زیادی*نقطه) -گسترش; برگشت (قسمتهای); > /// نرخ ارز حساب را دریافت می کند /// AccountExchangerate = حساب کاربری/ نقل قول /// در خدمت تبدیل سود معامله به ارز حساب است. /// این کد باید بهبود یابد! دو برابرحساب کاربری(رشتهسمبل)  if (کله(سمبل) != 6) برگشت (1); رشتهصمیمیت= حساب(); رشتهارز پایه= StringSubstr(سمبل, 0, 3); رشتهارز نقل قول= StringSubstr(سمبل, 3, 3); if (ارز دقیق==ارز نقل قول) برگشت (1); دیگر if (ارز دقیق==ارز پایه) برگشت (بازار(سمبل, MODE_BID)); دیگر  رشتهجفت= StringConcatenate(ارز دقیق,ارز نقل قول); دو برابرنرخ= بازار(جفت, MODE_BID);LastError= GetLastError(); if (LastError== 4106) جفت= StringConcatenate(ارز نقل قول,ارز دقیق);نرخ= بازار(جفت, MODE_BID);LastError= GetLastError(); if (LastError== 0)نرخ= 1 /نرخ; دیگرنرخ= 1; > دیگر if (LastError!= 0)نرخ= 1; برگشت (نرخ); > برگشت (1); > 

این کد با هیچ نماد فارکس کار نمی کند. آیا ایده ای برای بهبود وجود دارد؟ 2602 Michael Sarikas 2015. 08. 28 01:35 #8

من در رباتم کار مشابهی انجام می دهم.

//+------------------------------------------------------------------+ //| ضرر سفارش را به درصد از پیش تعریف شده موجودی حساب محدود می کند. //|MarketInfo(Symbol(), MODE_TICKVALUE) اهرمی را که در حال حاضر استفاده می شود منعکس می کند. //|و مقدار یک تیک (در هر MODE_LOTSIZE) ارز پیشخوان (در هر MODE_TICKSIZE) در ارز سپرده حساب است. //|این روشی است که کارگزار برای "ترجمه" سود شما در معامله هر جفت به ارز حساب استفاده می کند، مانند یک "نرخ مبادله". //|MODE_TICKVALUE با استفاده از مقادیر Bid محاسبه می شود. اگر با استفاده از Ask محاسبه شود، در مقایسه با فراخوانی MODE_TICKVALUE - Spread مغایرت جزئی خواهد داشت. //|این به این دلیل است که ما از بازار در قیمت پیشنهادی خرید می کنیم، به صورت درخواستی به بازار می فروشیم، یعنی همیشه اسپرد پرداخت می کنیم. //|این به این دلیل است که ما به صورت درخواستی به بازار می فروشیم، در قیمت پیشنهادی از بازار بازخرید می کنیم، یعنی همیشه اسپرد پرداخت می کنیم. //|نقطه کوچکترین حرکت قیمت ممکن است. MODE_TICKSIZE می تواند بزرگتر از Point باشد. //|MarketInfo(جفت، MODE_TICKVALUE) / MarketInfo(جفت، MODE_TICKSIZE) //+------------------------------------------------------------------+ دو برابرAccountPercentStopPoints(رشتهسمبل،دو برابردرصد،دو برابرمقدار زیادی)صادرات <دو برابرAccountRisk=(درصد/100)*موجودی حساب()؛دو برابرlotsize=MarketInfo(symbol, MODE_LOTSIZE);دو برابرpoint=MarketInfo(سمبل()MODE_POINT)؛دو برابراخراج =1/(MarketInfo(symbol, MODE_TICKVALUE));if(ارقام==3) نقطه=نقطه/100; دو برابرstopLossPoints=NormalizeDouble((AccountRisk*exchrate)/(lots*lotsize*point))0); //حداقل مقدار مجاز StopLoss بر حسب امتیاز. if(stopLossPointsسمبل()،MODE_STOPLEVEL) ||stopLossPoints<=MarketInfo(سمبل(), MODE_SPREAD) ||stopLossPoints0) stopLossPoints=-1; برگشت (stopLossPoints);>

30157 William Roeder 2015. 08. 28 10:41 #9

دو برابراخراج =1/(MarketInfo(symbol, MODE_TICKVALUE));
  1. توقف را در جایی که لازم است قرار می دهید - جایی که دلیل معامله دیگر معتبر نیست. به عنوان مثال. معامله یک جهش حمایتی استاپ به زیر حمایت می رود.
  2. موجودی حساب * درصد = ریسک = (OrderOpenPrice - OrderStopLoss)*DIR * OrderLots * DeltaPerlot (توجه داشته باشید OOP-OSL شامل SPREAD است)
  3. از TickValue به تنهایی استفاده نکنید - DeltaPerlot
  4. باید مقدار زیادی را به درستی نرمال کنید و حداقل و حداکثر را بررسی کنید.
  5. همچنین باید FreeMargin را بررسی کنید تا از توقف خارج نشوید
نرم افزار مفید تریدر...
ما را در سایت نرم افزار مفید تریدر دنبال می کنید

برچسب : نویسنده : احمد شاملو بازدید : 50 تاريخ : چهارشنبه 27 ارديبهشت 1402 ساعت: 13:55