سلام
یک تابع نوشتم می خواهم اگر پارابولیک بالای کندل بود هست معامله ام ببنده اگر پارابولیکم زیر کندل هست نگه دار و وقتی که سار رفت بالای کندل معامله ام ببند البته اگر نزدیک tp می شه سار چک کن
void ManageTakeProfit(){ int totalPositions = PositionsTotal(); // تعداد معاملات باز
for (int i = 0; i < totalPositions; i++) { if (!PositionSelect(i)) continue; // انتخاب معامله
ulong ticket = PositionGetInteger(POSITION\_TICKET); double openPrice = PositionGetDouble(POSITION\_PRICE\_OPEN); double currentPrice = SymbolInfoDouble(\_Symbol, SYMBOL\_BID); double profitPips = (currentPrice - openPrice) / \_Point; double targetPrice = openPrice + TP\_Pips \* \_Point; // حد سود هدف
// دریافت مقدار پارابولیک سار double sarCurrent = iSAR(\_Symbol, PERIOD\_CURRENT, Step, Maximum, 0);
// بررسی اینکه معامله خرید است if (PositionGetInteger(POSITION\_TYPE) == POSITION\_TYPE\_BUY) { if (currentPrice >= targetPrice - (10 \* \_Point)) // 10 پیپ قبل از حد سود بررسی شود { if (sarCurrent > currentPrice) // اگر پارابولیک سار بالای قیمت باشد { if (trade.PositionClose(ticket)) { Print("✅ معامله با حد سود بسته شد. Ticket:", ticket); } else { Print("❌ خطا در بستن معامله. Ticket:", ticket); } } else { Print("🔹 قیمت نزدیک حد سود است، ولی پارابولیک سار هنوز زیر کندل است."); } } } }}
این آگهی از وبسایت پارسکدرز پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت پارسکدرز برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.