icon icon Home
icon icon Accounts
icon icon Quick start
icon icon Symbols

الگوی کندلی انبرک (Tweezer) در تحلیل تکنیکال چیست؟

نویسنده
Pouyan
Pouyan

پویان، معامله‌گر، منتور، سرمایه‌گذار، و تحلیل‌گر مالی با گرایش تخصصی بازارهای فارکس است که از سال 1390 فعالیت خود را در این عرصه آغاز کرده است. همزمان در بازار ارزهای دیجیتال و تولید محتوا و آموزش در حوزه بازارهای مالی نیز فعالیت دارد. همچنین، سابقه مدیریت اجرایی هج فاند و تجربه کار بر روی استراتژی‌های پوشش ریسک و مدیریت سرمایه را دارد. با پویان از طریق زیر می‌توانید در ارتباط باشید: pouyan_content@aron-groups.com

Author
بازبینی کننده
کارشناس اقتصادی
Author
کارشناس اقتصادی

کارشناس اقتصادی در آرون گروپس.

calendar آخرین بروزرسانی: 2 روز پیش
watch زمان مطالعه 1 دقیقه

در تحلیل تکنیکال، الگوهای کندلی از ابزارهای قدرتمند برای پیش‌بینی حرکت‌های آینده بازار هستند. یکی از الگوهای کندلی که توجه بسیاری از معامله‌گران را به خود جلب کرده، الگوی «Tweezer» است. این الگو به عنوان یک الگوی بازگشتی شناخته می‌شود و می‌تواند نشان‌دهنده پایان یک روند و آغاز روندی جدید باشد. در این مقاله به بررسی تاریخچه، نحوه تشکیل، استراتژی‌های معاملاتی و مزایا و معایب استفاده از الگوی کندلی Tweezer خواهیم پرداخت.

آنچه در این مقاله می خوانید:

تاریخچه الگوهای کندلی

الگوهای کندلی در قرن هجدهم توسط یک تاجر ژاپنی به نام «Munehisa Homma» توسعه یافت. او از این الگوها برای تحلیل تغییرات قیمت برنج استفاده می‌کرد. با گذشت زمان، این تکنیک به سایر بازارهای مالی نیز راه یافت و به یکی از محبوب‌ترین ابزارهای تحلیل تکنیکال تبدیل شد. الگوی Tweezer یکی از الگوهای کلاسیکی است که از همان دوران شکل گرفته و امروزه نیز در بازارهای مالی به کار گرفته می‌شود.

 

معرفی الگوی کندلی Tweezer

الگوی کندلی Tweezer یک الگوی بازگشتی است که می‌تواند به دو صورت «Tweezer Top» و «Tweezer Bottom» ظاهر شود. این الگو زمانی شکل می‌گیرد که دو کندل با ارتفاع‌های مساوی یا بسیار نزدیک به هم در انتهای یک روند ظاهر شوند.

 

Tweezer Top:

 این الگو در انتهای یک روند صعودی شکل می‌گیرد و نشان‌دهنده احتمالی بازگشت به روند نزولی است. معمولاً کندل اول یک کندل صعودی و کندل دوم یک کندل نزولی است که هر دو دارای سقف یکسانی هستند.

الگوی کندلی انبرک

Tweezer Bottom:

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

الگوی کندلی انبرک

نحوه استفاده از الگوی کندلی انبرک

برای استفاده از الگوی کندلی انبرک، معامله‌گران معمولاً به دنبال شناسایی این الگو در نزدیکی سطوح حمایت و مقاومت هستند. ظاهر شدن این الگو در نزدیکی این سطوح می‌تواند نشان‌دهنده قدرت بیشتر بازگشت روند باشد. به عنوان مثال، اگر الگوی Tweezer Top در نزدیکی یک سطح مقاومت قوی شکل بگیرد، احتمال آغاز روند نزولی بیشتر می‌شود. بالعکس، ظهور الگوی Tweezer Bottom در نزدیکی یک سطح حمایت قوی می‌تواند نشان‌دهنده آغاز روند صعودی باشد.

 

استراتژی‌های معاملاتی مبتنی بر الگوی کندلی Tweezer

برای استفاده موثر از الگوی Tweezer در معاملات، می‌توان از چندین استراتژی مختلف استفاده کرد:

  1. تاییدیه‌های اضافی: معامله‌گران حرفه‌ای معمولاً برای تایید سیگنال‌های الگوی Tweezer از شاخص‌های تکنیکال دیگر مانند RSI یا MACD استفاده می‌کنند. این شاخص‌ها می‌توانند به تعیین دقیق‌تر نقاط ورود و خروج کمک کنند.
  2. استفاده از سطوح حمایت و مقاومت: همانطور که قبلاً ذکر شد، شناسایی الگوی Tweezer در نزدیکی سطوح حمایت و مقاومت می‌تواند به عنوان یک سیگنال قوی برای ورود به معامله باشد.
  3. مدیریت ریسک و تعیین حد ضرر: در معاملات مبتنی بر الگوی انبرک، تعیین حد ضرر بسیار مهم است. معمولاً حد ضرر را در نزدیکی سقف یا کف کندل دوم قرار می‌دهند تا در صورت حرکت بازار در خلاف جهت پیش‌بینی‌شده، از ضررهای بیشتر جلوگیری شود.

 

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

الگوی کندلی Tweezer دارای مزایا و معایب خاصی است:

  • مزایا:

    • سادگی در شناسایی: این الگو به راحتی قابل شناسایی است و نیاز به پیچیدگی خاصی ندارد.
    • سیگنال‌های بازگشتی قوی: در صورتی که در شرایط مناسب و با تاییدیه‌های اضافی استفاده شود، می‌تواند سیگنال‌های بازگشتی قوی ارائه دهد.
  • معایب:

    • سیگنال‌های نادرست: در برخی موارد، الگوی انبرک ممکن است سیگنال‌های نادرستی ارائه دهد، به خصوص در بازارهای نوسانی.
    • نیاز به تایید بیشتر: این الگو به تنهایی ممکن است کافی نباشد و نیاز به تاییدیه‌های بیشتری دارد تا از صحت سیگنال اطمینان حاصل شود.

نتیجه‌گیری

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

شناسایی سیگنال‌ها و استراتژی‌های موفق با تحلیل فنی الگوهای کندل استیک ادامه خواندن
calendar شهریور 7, 1403
به این مقاله امتیاز بدهید

Leave a Reply

Your email address will not be published. Required fields are marked *

`; // Select the inner section where the comment should be placed const contentWrapper = cardTemplate.querySelector('.gradient-card-content'); // Move the comment into the template contentWrapper.appendChild(comment); // Add the template to the wrapper wrapper.appendChild(cardTemplate); // Add the constructed wrapper to the comment list commentListWrapper.appendChild(wrapper); }); comments.forEach((comment) => { // Select the comment-body element const commentBody = comment.querySelector('.comment-body'); const meta = comment.querySelector('.comment-meta.commentmetadata'); const reply = comment.querySelector('.reply'); if (commentBody) { // Create a new
with a specific class const newDiv = document.createElement('div'); newDiv.classList.add('custom-wrapper'); // Add the desired class // Append the new
to the comment-body commentBody.appendChild(newDiv); newDiv.appendChild(meta) newDiv.appendChild(reply) } }); -->
نه ممنون
Table of contents
`; const initializeAccordion = () => { const accordionHeaders = document.querySelectorAll(".accordion__header"); accordionHeaders.forEach((item) => { item.addEventListener("mouseup", () => { item.classList.toggle("open"); }); }); }; if (newSingleBlogPost != null || newSingleBlogPost != undefined) { // add table of content after first child in base content const firstChild = baseContent.firstElementChild.firstElementChild.firstElementChild; // Convert the table of content HTML string to a DOM element const tempDiv = document.createElement("div"); tempDiv.innerHTML = tableOfContentHTML; const tableOfContentElement = tempDiv.firstElementChild; if (firstChild) { baseContent.firstElementChild.firstElementChild.insertBefore(tableOfContentElement, firstChild.nextElementSibling); } // Set accordion click after table of content add to DOM initializeAccordion(); // Select all h2 and h3 elements const headings = document.querySelectorAll(".base_content h2, .base_content h3"); // Add data-id attribute to each heading headings.forEach((heading) => { const text = heading.textContent.trim(); const id = text .replace(/\s+/g, "_") .replace(/[^\w\u0600-\u06FF_]/g, "") .toLowerCase(); heading.setAttribute("data-id", id); }); // Create dynamic table of contents const tocWrapper = document.querySelector(".tocWrapper"); tocWrapper.innerHTML = ""; // Clear any existing content let currentH2 = null; // Variable to store the current h2 being processed headings.forEach((heading,index) => { if (heading.tagName === "H2") { // Create a link for h2 headings const link = document.createElement("a"); link.href = `#${heading.getAttribute("data-id")}`; link.textContent = heading.textContent; link.classList.add("h2"); link.classList.add("scroll-tag"); // Create a list item for h2 const listItem = document.createElement("div"); listItem.classList.add("item"); listItem.appendChild(link); // Append the list item for the h2 tocWrapper.appendChild(listItem); // Set the current h2 to this heading currentH2 = listItem; } else if (heading.tagName === "H3" && currentH2) { // Create a link for h3 headings as a subitem of the current h2 const link = document.createElement("a"); link.href = `#${heading.getAttribute("data-id")}`; link.textContent = heading.textContent; link.classList.add("h3"); link.classList.add("scroll-tag"); // Create a subitem for h3 and append it to the current h2 item const subItem = document.createElement("div"); subItem.classList.add("sub-item"); subItem.appendChild(link); // Append the subitem to the current h2's list item currentH2.appendChild(subItem); } }); // Scroll to the section when a TOC item is clicked tocWrapper.addEventListener("click", (e) => { e.preventDefault() if (e.target.tagName === "A") { const targetId = e.target.getAttribute("href").substring(1); const targetElement = document.querySelector(`[data-id="${targetId}"]`); if (targetElement) { // Scroll to the element, but adjust for the header height const targetOffset = targetElement.getBoundingClientRect().top + window.scrollY - 84; window.scrollTo({ top: targetOffset, behavior: "smooth" }); e.preventDefault(); } } }); const tableOfcontent = document.querySelector('.table_of_contents'); const tagleOfContentTitle = tableOfcontent.querySelector('.title span') const translateTableOfContent = () => { const language = getLanguageKey(); if (language === "fa") { tagleOfContentTitle.textContent = "فهرست مطالب"; } else if (language === "ar") { tagleOfContentTitle.textContent = "جدول المحتويات"; } else { tagleOfContentTitle.textContent = "Table of Content"; } }; // فراخوانی تابع ترجمه translateTableOfContent(); // Copy logic // Localized messages for different languages const messages = { en: { initial: "Copy link", copied: "Copied!", }, fa: { initial: "کپی لینک", copied: "کپی شد!", }, ar: { initial: "نسخ الرابط", copied: "تم النسخ!", }, }; // Function to detect language and match messages function getLanguageKey () { const lang = document.documentElement.lang.toLowerCase(); if (lang.includes("fa")) return "fa"; if (lang.includes("ar")) return "ar"; return "en"; }; // Function to update button text based on language const updateButtonText = (button, state = "initial") => { const langKey = getLanguageKey(); button.textContent = messages[langKey]?.[state] || messages.en[state]; }; // Function to change button background color const updateButtonBackgroundColor = (button, color) => { button.style.backgroundColor = color; }; // Initialize button text and background color on page load window.addEventListener("load", () => { const copyButton = document.querySelector(".copy_btn"); updateButtonText(copyButton); updateButtonBackgroundColor(copyButton, "#f9c43e"); // Initial color }); // Add click event listener to copy URL and update button text and color document.querySelector(".copy_btn").addEventListener("click", function () { const copyButton = this; const currentUrl = window.location.href; navigator.clipboard .writeText(currentUrl) .then(() => { updateButtonText(copyButton, "copied"); updateButtonBackgroundColor(copyButton, "#cacaca"); // Change color on click setTimeout(() => { updateButtonBackgroundColor(copyButton, "#f9c43e"); // Reset color after 3 seconds updateButtonText(copyButton); // Reset text after 3 seconds }, 3000); // 3-second timeout }) .catch((err) => { console.error("Failed to copy:", err); }); }); // rate popup click function /** * Initialize popup functionality for rate popups. * @param {HTMLElement} trigger - Element that triggers the popup. * @param {HTMLElement} popup - Popup element to display. * @param {HTMLElement} overlay - The overlay element. * @param {HTMLElement} closeButton - Button to close the popup. */ function initRatePopup(trigger, popup, overlay, closeButton) { // Show the popup when the trigger is clicked if (trigger) { trigger.addEventListener("click", () => { setTimeout(()=>{ openModal(popup, overlay); },1000) }); } // Add event listener to the overlay for closing the modal overlay.addEventListener("click", () => closeModal(popup, overlay)); // Hide the popup when the close button is clicked if (closeButton) { closeButton.addEventListener("click", () => { closeModal(popup, overlay); }); } } // Initialize the rate popup const rateStarsWrapper = document.querySelectorAll(".rate_stars_wrapper"); const ratePopup = document.querySelector(".rate_popup"); const closeRatePopupBtn = document.querySelector(".no_thanks"); rateStarsWrapper.forEach((element)=>{ initRatePopup(element, ratePopup, overlay, closeRatePopupBtn); }) window.addEventListener("load", () => { // Bonus popup functions const popup = document.querySelector(".bonus_popup"); if (!popup) return; // Exit if popup doesn't exist let isPopupShown = false; let hasScrolled = false; // Listener for scroll event const handleScroll = () => { if (isPopupShown || hasScrolled) return; // Prevent multiple triggers hasScrolled = true; setTimeout(() => { popup.classList.add("show"); isPopupShown = true; // Remove the event listener after showing the popup window.removeEventListener("scroll", handleScroll); }, 0); }; window.addEventListener("scroll", handleScroll); // Close popup functionality const closeIcon = popup.querySelector(".close_icon"); if (closeIcon) { closeIcon.addEventListener("click", () => { popup.classList.remove("show"); popup.classList.add("hide"); // Remove the hide class after animation completes popup.addEventListener( "transitionend", () => { popup.classList.remove("hide"); }, { once: true } ); }); } // Suggested Article Popup Logic const suggestedPopup = document.querySelector(".suggested_article_popup"); if (suggestedPopup) { const timeout = parseInt(suggestedPopup.getAttribute("data-timeout"), 10) || 0; setTimeout(() => { suggestedPopup.classList.add("show"); const closeSuggestedIcon = suggestedPopup.querySelector(".close_btn_wrapper"); if (closeSuggestedIcon) { closeSuggestedIcon.addEventListener("click", () => { suggestedPopup.classList.remove("show"); suggestedPopup.classList.add("hide"); suggestedPopup.addEventListener( "transitionend", () => { suggestedPopup.classList.remove("hide"); }, { once: true } ); }); } }, timeout); } }); } -->