{
    "version": "https://jsonfeed.org/version/1",
    "title": "CygneNoir",
    "subtitle": "赌徒去往哪儿里，那里就是赌场。",
    "icon": "https://zielonanoir.github.io/assets/favicon.ico",
    "description": "赌徒去往哪儿里，那里就是赌场。",
    "home_page_url": "https://zielonanoir.github.io",
    "items": [
        {
            "id": "https://zielonanoir.github.io/2025/03/27/LLMApplicationWork/Microsoft%20ai-agents-for-beginners/",
            "url": "https://zielonanoir.github.io/2025/03/27/LLMApplicationWork/Microsoft%20ai-agents-for-beginners/",
            "title": "Microsoft ai-agents-for-beginners",
            "date_published": "2025-03-27T07:39:16.382Z",
            "content_html": "",
            "tags": [
                "LLMApplicationWork",
                "ai-agents"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/27/LLMApplicationWork/Function%20call%20&%20MCP%20Server%20Deploy/",
            "url": "https://zielonanoir.github.io/2025/03/27/LLMApplicationWork/Function%20call%20&%20MCP%20Server%20Deploy/",
            "title": "Function call & MCP Server Deploy",
            "date_published": "2025-03-27T06:00:58.322Z",
            "content_html": "",
            "tags": [
                "LLMApplicationWork",
                "MCP",
                "RPC",
                "FunctionCall"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/27/LLMApplicationWork/Commend%20Ubuntu%20For%20Training%20LLM/",
            "url": "https://zielonanoir.github.io/2025/03/27/LLMApplicationWork/Commend%20Ubuntu%20For%20Training%20LLM/",
            "title": "Commend Ubuntu For Training LLM",
            "date_published": "2025-03-27T05:43:39.791Z",
            "content_html": "<h1 id=\"操作系统版本及其相关依赖版本\"><a class=\"anchor\" href=\"#操作系统版本及其相关依赖版本\">#</a> 操作系统版本及其相关依赖版本</h1>\n<h3 id=\"1-选择-ubuntu-版本\"><a class=\"anchor\" href=\"#1-选择-ubuntu-版本\">#</a> 1. <strong>选择 Ubuntu 版本</strong></h3>\n<h4 id=\"长期支持版本lts\"><a class=\"anchor\" href=\"#长期支持版本lts\">#</a> <strong>长期支持版本（LTS）</strong></h4>\n<ul>\n<li>\n<p><strong>Ubuntu 22.04 LTS (Jammy Jellyfish)</strong>：</p>\n<ul>\n<li>\n<p><strong>发布日期</strong>：2022 年 4 月</p>\n</li>\n<li>\n<p><strong>支持周期</strong>：直到 2027 年 4 月（五年支持期）</p>\n</li>\n<li>\n<p><strong>推荐理由</strong>：</p>\n<ul>\n<li>\n<p><strong>稳定性</strong>：Ubuntu 22.04 LTS 是目前最稳定的 Ubuntu 版本，适合长期使用，尤其适合服务器和开发环境。</p>\n</li>\n<li>\n<p><strong>软件和库支持</strong>：作为 LTS 版本，它将继续获得长期的软件更新、安全补丁和库的兼容性支持，非常适合用于生产环境。</p>\n</li>\n<li>\n<p><strong>深度学习和 AI 框架</strong>：它兼容大量最新的 AI 和深度学习框架，如 TensorFlow、PyTorch、CUDA 等，且默认提供了 Python 3 和最新的库支持。</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p><strong>Ubuntu 20.04 LTS (Focal Fossa)</strong>：</p>\n<ul>\n<li>\n<p><strong>发布日期</strong>：2020 年 4 月</p>\n</li>\n<li>\n<p><strong>支持周期</strong>：直到 2025 年 4 月（五年支持期）</p>\n</li>\n<li>\n<p><strong>推荐理由</strong>：</p>\n<ul>\n<li>\n<p>与 22.04 LTS 相比，它的更新稍旧，但仍然非常稳定且被广泛使用。</p>\n</li>\n<li>\n<p>如果你使用的是某些较老的硬件，或希望保持与之前的环境兼容，Ubuntu 20.04 LTS 也是一个不错的选择。</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"非-lts-版本\"><a class=\"anchor\" href=\"#非-lts-版本\">#</a> <strong>非 LTS 版本</strong></h4>\n<ul>\n<li>\n<p><strong>Ubuntu 23.04 (Lunar Lobster)</strong>：</p>\n<ul>\n<li>\n<p><strong>发布日期</strong>：2023 年 4 月</p>\n</li>\n<li>\n<p><strong>支持周期</strong>：9 个月（直到 2024 年 1 月）</p>\n</li>\n<li>\n<p><strong>推荐理由</strong>：</p>\n<ul>\n<li>\n<p>适合那些需要最新版本的软件和功能的用户。尽管它在短期内得到更新，但不适合生产环境，因为它的支持周期较短。</p>\n</li>\n<li>\n<p>如果您对最新的技术和特性有需求，并且能频繁更新系统，非 LTS 版本可能适合。</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"2-依赖版本选择\"><a class=\"anchor\" href=\"#2-依赖版本选择\">#</a> 2. <strong>依赖版本选择</strong></h3>\n<p>在深度学习和 AI 开发中，选择合适的依赖版本至关重要。以下是一些常见依赖及其推荐版本：</p>\n<h4 id=\"python-版本\"><a class=\"anchor\" href=\"#python-版本\">#</a> <strong>Python 版本</strong></h4>\n<ul>\n<li>\n<p><strong>Python 3.8+</strong>：</p>\n<ul>\n<li>\n<p>Python 3.8 和 3.9 都是稳定且广泛支持的版本，推荐使用 <strong>Python 3.9</strong>（在 Ubuntu 22.04 LTS 默认提供）。</p>\n</li>\n<li>\n<p>选择较新的版本（如 3.10 或 3.11）时，需确保所有依赖和库支持这些版本。某些深度学习框架可能会暂时不完全支持最新版本的 Python。</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"cuda-和-cudnn\"><a class=\"anchor\" href=\"#cuda-和-cudnn\">#</a> <strong>CUDA 和 cuDNN</strong></h4>\n<ul>\n<li>\n<p><strong>CUDA 版本</strong>：</p>\n<ul>\n<li>\n<p>对于深度学习和 AI 开发，选择 <strong>CUDA 11.2 或 11.3</strong> 是较为常见的选择，因为它们支持大多数深度学习框架（如 TensorFlow 和 PyTorch）。</p>\n</li>\n<li>\n<p>如果使用较新的 GPU 或要求较高的性能，您可以选择 <strong>CUDA 11.6 或 11.7</strong>，它们提供了对最新硬件的支持。</p>\n</li>\n</ul>\n</li>\n<li>\n<p><strong>cuDNN</strong>：</p>\n<ul>\n<li>配合 CUDA 使用，选择 <strong>cuDNN 8.x</strong> 系列版本。确保 cuDNN 版本与您选择的 CUDA 版本兼容。cuDNN 8.3 和 8.4 是比较常用且稳定的版本。</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"深度学习框架\"><a class=\"anchor\" href=\"#深度学习框架\">#</a> <strong>深度学习框架</strong></h4>\n<ul>\n<li>\n<p><strong>TensorFlow</strong>：</p>\n<ul>\n<li>\n<p>推荐使用 <strong>TensorFlow 2.7+</strong>，这是当前的稳定版本，并且与大多数深度学习任务兼容。</p>\n</li>\n<li>\n<p>如果需要最新的功能和性能提升，可以使用 <strong>TensorFlow 2.10+</strong>（但是要确认与您的 CUDA 版本兼容）。</p>\n</li>\n</ul>\n</li>\n<li>\n<p><strong>PyTorch</strong>：</p>\n<ul>\n<li>推荐使用 <strong>PyTorch 1.10+</strong> 或 <strong>1.12</strong>。如果您需要最新的功能，可以选择 <strong>PyTorch 2.x</strong>，但是请确保与您的 CUDA 和 cuDNN 版本兼容。</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"其他常见依赖\"><a class=\"anchor\" href=\"#其他常见依赖\">#</a> <strong>其他常见依赖</strong></h4>\n<ul>\n<li>\n<p><strong>NumPy</strong>：&gt;= <strong>1.21.0</strong>，保持与 Python 3.8+ 兼容。</p>\n</li>\n<li>\n<p><strong>OpenCV</strong>：&gt;= <strong>4.5.1.48</strong>，确保与最新的深度学习框架兼容。</p>\n</li>\n<li>\n<p><strong>Pillow</strong>：&gt;= <strong>8.0</strong>，适用于图像处理。</p>\n</li>\n<li>\n<p><strong>tqdm</strong>：最新版本，保持与 Python 3.8+ 兼容。</p>\n</li>\n<li>\n<p><strong>PyYAML</strong>：&gt;= <strong>5.4</strong>，适合读取和处理 YAML 配置文件。</p>\n</li>\n<li>\n<p><strong>Shapely</strong>：&gt;= <strong>1.7.1</strong>，适用于几何处理任务。</p>\n</li>\n</ul>\n<h3 id=\"3-gpu-驱动\"><a class=\"anchor\" href=\"#3-gpu-驱动\">#</a> 3. <strong>GPU 驱动</strong></h3>\n<p>对于深度学习任务，确保系统支持 GPU 加速，尤其是 NVIDIA 显卡。安装合适的 <strong>NVIDIA 驱动</strong> 和 <strong>CUDA 工具包</strong> 是关键步骤。</p>\n<ul>\n<li>\n<p><strong>NVIDIA 驱动</strong>：建议使用与 CUDA 版本兼容的最新 NVIDIA 驱动（可以通过  <code>nvidia-smi</code>  命令查看驱动信息）。</p>\n</li>\n<li>\n<p><strong>安装方法</strong>：</p>\n<ul>\n<li>\n<p>推荐使用 <strong>官方 Ubuntu 仓库</strong> 或 <strong>NVIDIA 官方网站</strong> 提供的安装方法。</p>\n</li>\n<li>\n<p><code>nvidia-driver-460</code> （或更高版本）通常与最新的 CUDA 版本兼容。</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"4-其他工具\"><a class=\"anchor\" href=\"#4-其他工具\">#</a> 4. <strong>其他工具</strong></h3>\n<ul>\n<li>\n<p><strong>Docker</strong>：推荐安装 Docker，尤其是对深度学习的容器化环境。这样可以避免依赖冲突，并为不同项目提供独立的环境。</p>\n</li>\n<li>\n<p><strong>Jupyter Notebook</strong>：对于 AI 和数据科学项目，Jupyter Notebook 是一个非常实用的工具，便于实验和数据可视化。</p>\n</li>\n</ul>\n<h3 id=\"总结建议\"><a class=\"anchor\" href=\"#总结建议\">#</a> 总结建议</h3>\n<ul>\n<li>\n<p><strong>推荐操作系统版本</strong>：选择 <strong>Ubuntu 22.04 LTS</strong>，它是目前最稳定且长期受支持的版本，适合生产环境和长期开发使用。</p>\n</li>\n<li>\n<p><strong>推荐依赖版本</strong>：</p>\n<ul>\n<li>\n<p>Python：<strong>3.9+</strong></p>\n</li>\n<li>\n<p>TensorFlow：<strong>2.7+</strong></p>\n</li>\n<li>\n<p>PyTorch：<strong>1.10+</strong></p>\n</li>\n<li>\n<p>CUDA：<strong>11.2+</strong></p>\n</li>\n<li>\n<p>cuDNN：<strong>8.x</strong></p>\n</li>\n<li>\n<p>其他库：使用 <strong>最新稳定版</strong>，例如 NumPy、Pillow、tqdm 等。</p>\n</li>\n</ul>\n</li>\n</ul>\n<table>\n<thead>\n<tr>\n<th><strong>操作系统版本</strong></th>\n<th><strong>Python 版本</strong></th>\n<th><strong>CUDA 版本</strong></th>\n<th><strong>cuDNN 版本</strong></th>\n<th><strong>TensorFlow 版本</strong></th>\n<th><strong>PyTorch 版本</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Ubuntu 22.04 LTS</td>\n<td>3.9</td>\n<td>11.2</td>\n<td>8.3</td>\n<td>2.7+</td>\n<td>1.10+</td>\n</tr>\n<tr>\n<td>Ubuntu 20.04 LTS</td>\n<td>3.8</td>\n<td>11.2</td>\n<td>8.3</td>\n<td>2.7+</td>\n<td>1.10+</td>\n</tr>\n<tr>\n<td>Ubuntu 23.04</td>\n<td>3.10</td>\n<td>11.3</td>\n<td>8.4</td>\n<td>2.10+</td>\n<td>1.12+</td>\n</tr>\n</tbody>\n</table>\n<ul>\n<li>\n<p><strong>操作系统版本</strong>：​选择具有长期支持（LTS）的版本，如 Ubuntu 22.04 LTS，以确保系统的稳定性和安全性。​</p>\n</li>\n<li>\n<p><strong>Python 版本</strong>：​建议使用 Python 3.9，因为它与大多数深度学习框架兼容性良好。​</p>\n</li>\n<li>\n<p><strong>CUDA 和 cuDNN 版本</strong>：​对于深度学习任务，CUDA 11.2 和 cuDNN 8.3 是常用且稳定的组合，适用于大多数框架。​</p>\n</li>\n<li>\n<p><strong>TensorFlow 和 PyTorch 版本</strong>：​确保所选的深度学习框架版本与上述 CUDA 和 cuDNN 版本兼容，以获得最佳性能和稳定性。</p>\n</li>\n</ul>\n<h2 id=\"2204版本可能会遇到打不开-system-setting-的情况\"><a class=\"anchor\" href=\"#2204版本可能会遇到打不开-system-setting-的情况\">#</a> 22.04 版本可能会遇到打不开 System Setting 的情况</h2>\n<h3 id=\"1-检查-gnome-control-center-是否安装\"><a class=\"anchor\" href=\"#1-检查-gnome-control-center-是否安装\">#</a> 1. <strong>检查  <code>gnome-control-center</code>  是否安装</strong></h3>\n<p>Ubuntu 22.04 使用 GNOME 桌面环境，而 GNOME 设置通常由  <code>gnome-control-center</code>  组件提供。如果它未安装或损坏，您将无法打开设置。首先，确保该程序已安装并更新到最新版本。</p>\n<ul>\n<li>打开终端并运行以下命令来重新安装  <code>gnome-control-center</code> ：</li>\n</ul>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">sudo</span> <span class=\"token function\">apt</span> update <span class=\"token function\">sudo</span> <span class=\"token function\">apt</span> <span class=\"token function\">install</span> <span class=\"token parameter variable\">--reinstall</span> gnome-control-center</pre></td></tr></table></figure><h3 id=\"2-检查并修复-gnome-配置文件\"><a class=\"anchor\" href=\"#2-检查并修复-gnome-配置文件\">#</a> 2. <strong>检查并修复 GNOME 配置文件</strong></h3>\n<p>如果 GNOME 的配置文件损坏，也可能导致设置无法打开。您可以尝试重置 GNOME 设置。</p>\n<ul>\n<li>在终端中运行以下命令来重置 GNOME 设置：</li>\n</ul>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>dconf reset <span class=\"token parameter variable\">-f</span> /org/gnome/</pre></td></tr></table></figure><ul>\n<li>重置完成后，尝试重新打开设置应用。</li>\n</ul>\n<h3 id=\"3-检查系统日志\"><a class=\"anchor\" href=\"#3-检查系统日志\">#</a> 3. <strong>检查系统日志</strong></h3>\n<p>系统日志可能会提供有关为什么设置无法打开的线索。您可以查看相关日志来获取错误信息。</p>\n<ul>\n<li>打开终端并运行以下命令查看日志：</li>\n</ul>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>journalctl <span class=\"token parameter variable\">-xe</span> <span class=\"token operator\">|</span> <span class=\"token function\">grep</span> gnome-control-center</pre></td></tr></table></figure><ul>\n<li>这将显示与  <code>gnome-control-center</code>  相关的任何错误，您可以根据错误信息采取进一步的解决措施。</li>\n</ul>\n<h3 id=\"4-重新启动-gnome-设置\"><a class=\"anchor\" href=\"#4-重新启动-gnome-设置\">#</a> 4. <strong>重新启动 GNOME 设置</strong></h3>\n<p>有时，GNOME 设置可能会卡住或没有完全加载。您可以通过命令行尝试手动启动它。</p>\n<ul>\n<li>\n<p>在终端中运行以下命令来启动 GNOME 设置：</p>\n<p>bash</p>\n<p>复制编辑</p>\n<p><code>gnome-control-center</code></p>\n</li>\n<li>\n<p>如果有任何错误输出，您可以根据错误信息进一步诊断问题。</p>\n</li>\n</ul>\n<h3 id=\"5-使用-gnome-tweaks高级设置\"><a class=\"anchor\" href=\"#5-使用-gnome-tweaks高级设置\">#</a> 5. <strong>使用  <code>gnome-tweaks</code> （高级设置）</strong></h3>\n<p>如果  <code>gnome-control-center</code>  无法打开，您还可以尝试使用  <code>gnome-tweaks</code> （GNOME Tweaks 工具）来访问部分设置。</p>\n<ul>\n<li>如果未安装  <code>gnome-tweaks</code> ，您可以通过以下命令安装：</li>\n</ul>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">sudo</span> <span class=\"token function\">apt</span> <span class=\"token function\">install</span> gnome-tweaks</pre></td></tr></table></figure><ul>\n<li>安装完成后，您可以通过搜索 &quot;Tweaks&quot; 或运行  <code>gnome-tweaks</code>  命令来打开该工具。</li>\n</ul>\n<h3 id=\"6-更新系统\"><a class=\"anchor\" href=\"#6-更新系统\">#</a> 6. <strong>更新系统</strong></h3>\n<p>确保您的系统是最新的，可能会修复一些已知的 bug 或问题。</p>\n<ul>\n<li>运行以下命令来更新系统：</li>\n</ul>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">sudo</span> <span class=\"token function\">apt</span> update <span class=\"token function\">sudo</span> <span class=\"token function\">apt</span> upgrade</pre></td></tr></table></figure><ul>\n<li>更新完成后，重新启动计算机并检查问题是否解决。</li>\n</ul>\n<h3 id=\"7-检查-xorg-和-wayland\"><a class=\"anchor\" href=\"#7-检查-xorg-和-wayland\">#</a> 7. <strong>检查 Xorg 和 Wayland</strong></h3>\n<p>在某些情况下，Xorg 和 Wayland 之间的兼容性问题可能导致设置无法打开。您可以尝试在登录屏幕切换会话类型。</p>\n<ul>\n<li>在登录屏幕选择您的用户后，点击右上角的齿轮图标，选择 <strong>GNOME on Xorg</strong> 或 <strong>GNOME on Wayland</strong>，然后登录。</li>\n</ul>\n<h3 id=\"8-使用命令行修改设置\"><a class=\"anchor\" href=\"#8-使用命令行修改设置\">#</a> 8. <strong>使用命令行修改设置</strong></h3>\n<p>如果您需要访问设置而  <code>gnome-control-center</code>  无法启动，可以尝试使用  <code>gsettings</code>  命令来修改 GNOME 设置。例如，修改壁纸的命令如下：</p>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>gsettings <span class=\"token builtin class-name\">set</span> org.gnome.desktop.background picture-uri <span class=\"token string\">'file:///path/to/image'</span></pre></td></tr></table></figure><p>您可以根据需要调整其他设置。</p>\n<hr />\n<p>如果以上方法都未能解决问题，您可能需要考虑创建一个新的用户帐户，并查看是否仅限于当前用户的设置问题。</p>\n<ul>\n<li>创建新用户：</li>\n</ul>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">sudo</span> adduser newuser <span class=\"token function\">sudo</span> <span class=\"token function\">usermod</span> <span class=\"token parameter variable\">-aG</span> <span class=\"token function\">sudo</span> newuser</pre></td></tr></table></figure><ul>\n<li>切换到新用户并检查设置是否能正常打开。</li>\n</ul>\n<ol>\n<li><strong>重新安装  <code>gnome-control-center</code> </strong>： 有用户通过重新安装  <code>gnome-control-center</code>  来解决此问题。可以在终端中执行以下命令：</li>\n</ol>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">sudo</span> <span class=\"token function\">apt</span> purge gnome-control-center <span class=\"token function\">sudo</span> <span class=\"token function\">apt</span> <span class=\"token function\">install</span> gnome-control-center</pre></td></tr></table></figure><ol start=\"2\">\n<li><strong>安装  <code>unity-control-center</code> </strong>： 另一些用户发现，安装  <code>unity-control-center</code>  也能解决设置无法打开的问题。在终端中执行以下命令：</li>\n</ol>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">sudo</span> <span class=\"token function\">apt-get</span> <span class=\"token function\">install</span> unity-control-center</pre></td></tr></table></figure><ol start=\"3\">\n<li><strong>重置 GNOME 设置</strong>： 如果 GNOME 的配置文件损坏，可能导致设置无法打开。尝试在终端中执行以下命令来重置 GNOME 设置：</li>\n</ol>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>dconf reset <span class=\"token parameter variable\">-f</span> /org/gnome/</pre></td></tr></table></figure>",
            "tags": [
                "LLMApplicationWork",
                "Ubuntu",
                "LLM"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/26/LLMApplicationWork/Compare%20AliYunDuGuang%20SmolDocling%20PPDocBee%20Multimodal-OCR%20RapidOCR/",
            "url": "https://zielonanoir.github.io/2025/03/26/LLMApplicationWork/Compare%20AliYunDuGuang%20SmolDocling%20PPDocBee%20Multimodal-OCR%20RapidOCR/",
            "title": "Compare SmolDocling PPDocBee Multimodal-OCR RapidOCR",
            "date_published": "2025-03-26T01:16:04.538Z",
            "content_html": "",
            "tags": [
                "LLMApplicationWork",
                "OCR"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/26/LLMApplicationWork/Centos%207%20Deploy%20QwQ-32b%20gte-Qwen2-7B-instruct-Q5_K_M-GGUF-8k%20RapidOCR%20in%20Dify/",
            "url": "https://zielonanoir.github.io/2025/03/26/LLMApplicationWork/Centos%207%20Deploy%20QwQ-32b%20gte-Qwen2-7B-instruct-Q5_K_M-GGUF-8k%20RapidOCR%20in%20Dify/",
            "title": "Centos 7 Deploy QwQ-32 bgte-Qwen2-7B-instruct-Q5_K_M-GGUF-8k RapidOCR in Dify",
            "date_published": "2025-03-26T01:08:57.154Z",
            "content_html": "<h1 id=\"centos-7-deploy-qwq-32b-gte-qwen2-7b-instruct-q5_k_m-gguf-8k-rapidocr-in-dify\"><a class=\"anchor\" href=\"#centos-7-deploy-qwq-32b-gte-qwen2-7b-instruct-q5_k_m-gguf-8k-rapidocr-in-dify\">#</a> Centos 7 Deploy QwQ-32b gte-Qwen2-7B-instruct-Q5_K_M-GGUF-8k RapidOCR in Dify</h1>\n<h2 id=\"在-centos-7-上部署-rapidocr需要确保以下组件及其版本的兼容性\"><a class=\"anchor\" href=\"#在-centos-7-上部署-rapidocr需要确保以下组件及其版本的兼容性\">#</a> ​在 <strong>CentOS 7</strong> 上部署 <strong>RapidOCR</strong>，需要确保以下组件及其版本的兼容性</h2>\n<p><strong>其他依赖项及其版本：</strong></p>\n<ul>\n<li>\n<p><strong>pyclipper</strong>：​≥ 1.2.0​<a href=\"https://source.kongzhi.net/uploads/files/2021/05/16218276281.pdf?utm_source=chatgpt.com\">博客园 + 7source.kongzhi.net+7geek.csdn.net+7</a></p>\n</li>\n<li>\n<p><strong>opencv_python</strong>：​≥ 4.5.1.48​</p>\n</li>\n<li>\n<p><strong>numpy</strong>：​≥ 1.19.5，&lt; 3.0.0​</p>\n</li>\n<li>\n<p><strong>six</strong>：​≥ 1.15.0​</p>\n</li>\n<li>\n<p><strong>Shapely</strong>：​≥ 1.7.1，!= 2.0.4（ <code>Shapely</code>  2.0.4 在 Python 3.12 下存在已知问题）​</p>\n</li>\n<li>\n<p><strong>PyYAML</strong>：​最新稳定版​</p>\n</li>\n<li>\n<p><strong>Pillow</strong>：​最新稳定版​<a href=\"https://github.com/yuanzhongqiao/awesome-robotic-tooling-cn/blob/main/README.md?utm_source=chatgpt.com\">GitHub</a></p>\n</li>\n<li>\n<p><strong>onnxruntime</strong>：​≥ 1.7.0​<a href=\"https://github.com/xiaoyuexing/StarrySky/blob/master/README.md?utm_source=chatgpt.com\">GitHub</a></p>\n</li>\n<li>\n<p><strong>tqdm</strong>：​最新稳定版​</p>\n</li>\n<li>\n<p><strong>omegaconf</strong>：​最新稳定版</p>\n</li>\n<li>\n<p><strong>CMake</strong>（用于编译 C++ 库，特别是 OpenCV）</p>\n</li>\n<li>\n<p><strong>GCC/G++</strong>（用于编译和构建 Python 包）</p>\n</li>\n<li>\n<p><strong>Python 3.x</strong>（推荐 3.8 或 3.9）</p>\n</li>\n<li>\n<p><strong>pip</strong>（更新至最新版本）</p>\n</li>\n</ul>\n<table>\n<thead>\n<tr>\n<th>类别</th>\n<th>配置 / 依赖项</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>操作系统</td>\n<td>CentOS 7 (建议 minimal 安装)</td>\n<td>需安装 EPEL</td>\n</tr>\n<tr>\n<td>内核版本</td>\n<td>uname -r 输出的版本应兼容 CUDA</td>\n<td>可使用 3.10.0-1160.el7.x86_64</td>\n</tr>\n<tr>\n<td>GPU</td>\n<td>NVIDIA GPU（如 Tesla P100 / A100 / RTX 3090）</td>\n<td>需要支持 CUDA</td>\n</tr>\n<tr>\n<td>CUDA 版本</td>\n<td>CUDA 11.8 / CUDA 12.1</td>\n<td>需与 PyTorch / TensorRT 兼容</td>\n</tr>\n<tr>\n<td>NVIDIA 驱动</td>\n<td>515+ 适用于 CUDA 11.8 / 525+ 适用于 CUDA 12.1</td>\n<td>nvidia-smi 检查</td>\n</tr>\n<tr>\n<td>Python 版本</td>\n<td>Python 3.8+（推荐 3.10）</td>\n<td>确保兼容 Qwen2、RapidOCR 和 Dify</td>\n</tr>\n<tr>\n<td>Conda 环境</td>\n<td>conda create -n ai_env python=3.10</td>\n<td>统一环境管理</td>\n</tr>\n<tr>\n<td>编译工具</td>\n<td>gcc &gt;= 7.3.0 (建议 devtoolset-7 或更高)</td>\n<td>兼容新库编译</td>\n</tr>\n<tr>\n<td>PyTorch 版本</td>\n<td>pip install torch torchvision torchaudio --index-url 官方 PyTorch 下载地址</td>\n<td>适配 CUDA 11.8</td>\n</tr>\n<tr>\n<td>GGUF 推理</td>\n<td>pip install ctransformers</td>\n<td>适用于 Qwen2 GGUF</td>\n</tr>\n<tr>\n<td>ONNX Runtime</td>\n<td>pip install onnxruntime-gpu==1.15.1</td>\n<td>适配 RapidOCR</td>\n</tr>\n<tr>\n<td>OCR 相关依赖</td>\n<td>pip install rapidocr-pyonnx modelscope requests</td>\n<td>RapidOCR 运行</td>\n</tr>\n<tr>\n<td>Dify 相关依赖</td>\n<td>pip install docker-compose</td>\n<td>Dify 运行需要</td>\n</tr>\n<tr>\n<td>前端依赖</td>\n<td>Node.js 16+ / npm 8+</td>\n<td>Dify 需要</td>\n</tr>\n<tr>\n<td>数据库</td>\n<td>PostgreSQL 14+ / MySQL 8+ / Redis 6+</td>\n<td>Dify 需要</td>\n</tr>\n<tr>\n<td>环境变量</td>\n<td>export CUDA_HOME=/usr/local/cuda</td>\n<td>需正确配置</td>\n</tr>\n<tr>\n<td>端口需求</td>\n<td>Dify（默认 5001）、RapidOCR（自定义端口）</td>\n<td>需开放防火墙</td>\n</tr>\n</tbody>\n</table>\n<hr />\n<table>\n<thead>\n<tr>\n<th>组件</th>\n<th>推荐版本</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>操作系统</td>\n<td>CentOS 7</td>\n<td>确保系统已更新至最新可用版本。</td>\n</tr>\n<tr>\n<td>Python</td>\n<td>3.8 或 3.9</td>\n<td>可通过源代码编译安装，或使用第三方仓库获取。</td>\n</tr>\n<tr>\n<td>CUDA Toolkit</td>\n<td>11.2 或 11.3</td>\n<td>与大多数深度学习框架兼容，需与 GPU 驱动匹配。</td>\n</tr>\n<tr>\n<td>NVIDIA 驱动程序</td>\n<td>460.x 或更高</td>\n<td>与所选 CUDA 版本兼容，建议使用最新稳定版本。</td>\n</tr>\n<tr>\n<td>cuDNN</td>\n<td>8.x</td>\n<td>与所选 CUDA 版本兼容，建议使用与 CUDA 版本匹配的 cuDNN 版本。</td>\n</tr>\n<tr>\n<td>PyTorch</td>\n<td>1.10+</td>\n<td>与上述 CUDA 和 cuDNN 版本兼容。</td>\n</tr>\n<tr>\n<td>TensorFlow</td>\n<td>2.7+</td>\n<td>与上述 CUDA 和 cuDNN 版本兼容。</td>\n</tr>\n<tr>\n<td>其他依赖项</td>\n<td>见下方详细列表</td>\n<td>包括 pyclipper、opencv_python、numpy 等。</td>\n</tr>\n</tbody>\n</table>\n<h3 id=\"安装及部署步骤\"><a class=\"anchor\" href=\"#安装及部署步骤\">#</a> <strong>安装及部署步骤</strong></h3>\n<h4 id=\"1-配置-cuda-驱动\"><a class=\"anchor\" href=\"#1-配置-cuda-驱动\">#</a> <strong>1. 配置 CUDA &amp; 驱动</strong></h4>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>yum <span class=\"token function\">install</span> <span class=\"token parameter variable\">-y</span> epel-release yum <span class=\"token function\">install</span> <span class=\"token parameter variable\">-y</span> gcc gcc-c++ <span class=\"token function\">make</span> cmake kernel-devel-<span class=\"token variable\"><span class=\"token variable\">$(</span><span class=\"token function\">uname</span> <span class=\"token parameter variable\">-r</span><span class=\"token variable\">)</span></span> <span class=\"token function\">bash</span> NVIDIA-Linux-x86_64-*.run  <span class=\"token comment\"># 安装 NVIDIA 驱动</span></pre></td></tr></table></figure><h4 id=\"2-配置-python-环境\"><a class=\"anchor\" href=\"#2-配置-python-环境\">#</a> <strong>2. 配置 Python 环境</strong></h4>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>conda create <span class=\"token parameter variable\">-n</span> ai_env <span class=\"token assign-left variable\">python</span><span class=\"token operator\">=</span><span class=\"token number\">3.10</span> <span class=\"token parameter variable\">-y</span> conda activate ai_env pip <span class=\"token function\">install</span> torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip <span class=\"token function\">install</span> ctransformers onnxruntime-gpu<span class=\"token operator\">==</span><span class=\"token number\">1.15</span>.1 rapidocr-pyonnx modelscope requests</pre></td></tr></table></figure><h4 id=\"3-下载-qwen2-gguf\"><a class=\"anchor\" href=\"#3-下载-qwen2-gguf\">#</a> <strong>3. 下载 Qwen2 GGUF</strong></h4>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>ollama run ordis/gte-Qwen2-7B-instruct-Q5_K_M-GGUF-8k</pre></td></tr></table></figure><figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">mkdir</span> <span class=\"token parameter variable\">-p</span> /data/models/Qwen2 <span class=\"token builtin class-name\">cd</span> /data/models/Qwen2 <span class=\"token function\">wget</span> https://huggingface.co/Qwen/Qwen2-7B/resolve/main/Qwen2-7B-Q5_K_M.gguf</pre></td></tr></table></figure><h4 id=\"4-启动-qwen2\"><a class=\"anchor\" href=\"#4-启动-qwen2\">#</a> <strong>4. 启动 Qwen2</strong></h4>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>python <span class=\"token parameter variable\">-m</span> ctransformers <span class=\"token parameter variable\">--model</span> /data/models/Qwen2/Qwen2-7B-Q5_K_M.gguf</pre></td></tr></table></figure><h4 id=\"5-部署-rapidocr\"><a class=\"anchor\" href=\"#5-部署-rapidocr\">#</a> <strong>5. 部署 RapidOCR</strong></h4>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token builtin class-name\">export</span> <span class=\"token assign-left variable\">det_model_path</span><span class=\"token operator\">=</span>/mnt/sda1/models/PP-OCRv4/ch_PP-OCRv4_det_server_infer.onnx <span class=\"token builtin class-name\">export</span> <span class=\"token assign-left variable\">rec_model_path</span><span class=\"token operator\">=</span>/mnt/sda1/models/PP-OCRv4/ch_PP-OCRv4_rec_server_infer.onnx rapidocr_api <span class=\"token parameter variable\">-ip</span> <span class=\"token number\">0.0</span>.0.0 <span class=\"token parameter variable\">-p</span> <span class=\"token number\">9005</span> <span class=\"token parameter variable\">-workers</span> <span class=\"token number\">2</span></pre></td></tr></table></figure><p>配置环境变量 使用 Server models</p>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token punctuation\">(</span>rapidocr_env<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">[</span>root@gpu-prod-new det<span class=\"token punctuation\">]</span><span class=\"token comment\"># export det_model_path=/data/cygnenoir/rapidocr/ocr_modal/RapidAI/RapidOCR/onnx/PP-OCRv4/det/ch_PP-OCRv4_det_server_infer.onnx</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token punctuation\">(</span>rapidocr_env<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">[</span>root@gpu-prod-new det<span class=\"token punctuation\">]</span><span class=\"token comment\"># export det_model_path=/data/cygnenoir/rapidocr/ocr_modal/RapidAI/RapidOCR/onnx/PP-OCRv4/det/ch_PP-OCRv4_rec_server_infer.onnx</span></pre></td></tr></table></figure><h4 id=\"6-安装并启动-dify\"><a class=\"anchor\" href=\"#6-安装并启动-dify\">#</a> <strong>6. 安装并启动 Dify</strong></h4>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">git</span> clone https://github.com/langgenius/dify.git <span class=\"token builtin class-name\">cd</span> dify <span class=\"token function\">docker-compose</span> up <span class=\"token parameter variable\">-d</span></pre></td></tr></table></figure><h4 id=\"7-run-qwq\"><a class=\"anchor\" href=\"#7-run-qwq\">#</a> 7. Run QwQ</h4>\n<figure class=\"highlight bash\"><figcaption data-lang=\"bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>ollama run qwq</pre></td></tr></table></figure>",
            "tags": [
                "LLMApplicationWork",
                "LLM"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/Web3/Solidity/",
            "url": "https://zielonanoir.github.io/2025/03/02/Web3/Solidity/",
            "title": "Solidity",
            "date_published": "2025-03-02T07:38:29.620Z",
            "content_html": "<h1 id=\"solidity\"><a class=\"anchor\" href=\"#solidity\">#</a> Solidity</h1>\n<p><div class=\"links\"><div class=\"item\" title=\"Solidity Academy\" style=\"--block-color:#e9546b;\"><a href=\"https://www.wtf.academy/\" class=\"image\" data-background-image=\"https://www.wtf.academy/img/logo.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.wtf.academy/\" class=\"title\">Solidity Academy</a>\n        <p class=\"desc\">Web3 Academy</p>\n        </div></div><div class=\"item\" title=\"Remix\" style=\"--block-color:#9d5b8b;\"><a href=\"https://remix.ethereum.org/\" class=\"image\" data-background-image=\"/assets/404.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://remix.ethereum.org/\" class=\"title\">Remix</a>\n        <p class=\"desc\">以太链上的合约开发 IDE</p>\n        </div></div></div></p>\n<h1 id=\"solidity-basic\"><a class=\"anchor\" href=\"#solidity-basic\">#</a> Solidity Basic</h1>\n<h2 id=\"开发工具remix\"><a class=\"anchor\" href=\"#开发工具remix\">#</a> 开发工具：Remix<a href=\"https://www.wtf.academy/docs/solidity-101/HelloWeb3#%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7remix\" title=\"开发工具：Remix的直接链接\">​</a></h2>\n<p>本教程中，我们将使用   <code>Remix</code>   运行   <code>Solidity</code>   合约。 <code>Remix</code>   是以太坊官方推荐的智能合约集成开发环境（IDE），适合新手，可以在浏览器中快速开发和部署合约，无需在本地安装任何程序。</p>\n<p>网址：<a href=\"https://remix.ethereum.org/\">https://remix.ethereum.org</a></p>\n<p>在   <code>Remix</code>   中，左侧菜单有三个按钮，分别对应文件（编写代码）、编译（运行代码）和部署（将合约部署到链上）。点击 “创建新文件”（ <code>Create New File</code> ）按钮，即可创建一个空白的   <code>Solidity</code>   合约。</p>\n<p><img loading=\"lazy\" data-src=\"https://www.wtf.academy/assets/images/1-1-59ec4df354181363259759212e42dad1.png\" alt=\"Remix 面板\" /></p>\n<h2 id=\"first-solidity-program\"><a class=\"anchor\" href=\"#first-solidity-program\">#</a> First Solidity Program</h2>\n<figure class=\"highlight solidity\"><figcaption data-lang=\"Solidity (Ethereum)\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// SPDX-License-Identifier: MIT</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre>pragama <span class=\"token keyword\">solidity</span> <span class=\"token operator\">^</span><span class=\"token version number\">0.8.21</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token keyword\">contract</span> <span class=\"token class-name\">HelloWeb3</span><span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre>\t<span class=\"token builtin\">string</span> <span class=\"token keyword\">public</span> _string <span class=\"token operator\">=</span> <span class=\"token string\">\"Hello Web3!\"</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token punctuation\">&#125;</span></pre></td></tr></table></figure><p>快捷键  <code>prag</code></p>\n",
            "tags": [
                "Web3",
                "Web3",
                "Solidity"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/%E5%8F%8B%E9%93%BE%E6%B7%BB%E5%8A%A0/",
            "url": "https://zielonanoir.github.io/2025/03/02/%E5%8F%8B%E9%93%BE%E6%B7%BB%E5%8A%A0/",
            "title": "友链添加",
            "date_published": "2025-03-02T07:38:29.619Z",
            "content_html": "<h1 id=\"查看友链\"><a class=\"anchor\" href=\"#查看友链\">#</a> 查看友链</h1>\n<p><div class=\"links\"><div class=\"item\" title=\"Noir\" style=\"--block-color:#e9546b;\"><a href=\"/friends/\" class=\"image\" data-background-image=\"https://2.gravatar.com/avatar/6f9c7742c6e97f0e83534c95c4088a2fec3aade410c8b72622137a876e488644\"></a>\n        <div class=\"info\">\n        <a href=\"/friends/\" class=\"title\">查看友链</a>\n        <p class=\"desc\">Noir's Blog & Computer Notes</p>\n        </div></div></div></p>\n<h1 id=\"申请方法\"><a class=\"anchor\" href=\"#申请方法\">#</a> 申请方法</h1>\n<ul>\n<li>添加本站后，在下方 Post 处留言，格式如下</li>\n</ul>\n<figure class=\"highlight yml\"><figcaption data-lang=\"YAML\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">site</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#网站的名字</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre>  <span class=\"token key atrule\">owner</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#您的名字</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre>  <span class=\"token key atrule\">url</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#您的网址</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre>  <span class=\"token key atrule\">desc</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#简短描述</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre>  <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#一张图片</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre>  <span class=\"token key atrule\">color</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#方块颜色</span></pre></td></tr></table></figure>",
            "tags": [
                "FriendChainAdd",
                "FriendChainAdd"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/Typescript/Typescript/",
            "url": "https://zielonanoir.github.io/2025/03/02/Typescript/Typescript/",
            "title": "Typescript Learning",
            "date_published": "2025-03-02T07:38:29.619Z",
            "content_html": "<h1 id=\"typescript-learning\"><a class=\"anchor\" href=\"#typescript-learning\">#</a> Typescript Learning</h1>\n<h3 id=\"在-vscode-终端中无法直接-npm-ls-g-很有可能是权限不够-以管理员身份启动-vscode-解决\"><a class=\"anchor\" href=\"#在-vscode-终端中无法直接-npm-ls-g-很有可能是权限不够-以管理员身份启动-vscode-解决\">#</a> 在 VSCODE 终端中无法直接 npm ls -g 很有可能是权限不够 以管理员身份启动 VSCODE 解决</h3>\n<h3 id=\"npm-常用命令\"><a class=\"anchor\" href=\"#npm-常用命令\">#</a> npm 常用命令</h3>\n<pre><code>npm ls -g\n</code></pre>\n<p>这样只会查到包 不会查到依赖</p>\n<pre><code>npm ls -g --depth 0\n</code></pre>\n<p>只显示生产环境依赖的包</p>\n<pre><code>npm ls --depth 0 --prod\n</code></pre>\n<p>只显示开发环境依赖的包</p>\n<pre><code>npm ls --depth 0 --dev\n</code></pre>\n<p>我们安装完成 <a href=\"https://so.csdn.net/so/search?q=node&amp;spm=1001.2101.3001.7020\">node</a> 环境后，默认使用的 <a href=\"https://so.csdn.net/so/search?q=%E9%95%9C%E5%83%8F%E6%BA%90&amp;spm=1001.2101.3001.7020\">镜像源</a> 是 npm，但是有时候，需要切换到其他的镜像源安装依赖，这时候我们需要用 nrm（npm registry manager ）进行源的快速切换。</p>\n<h1 id=\"node-使用-nrm-切换镜像源-更快安装依赖\"><a class=\"anchor\" href=\"#node-使用-nrm-切换镜像源-更快安装依赖\">#</a> node 使用 nrm 切换镜像源 - 更快安装依赖</h1>\n<h2 id=\"1安装-nrm\"><a class=\"anchor\" href=\"#1安装-nrm\">#</a> 1. 安装 <a href=\"https://so.csdn.net/so/search?q=nrm&amp;spm=1001.2101.3001.7020\">nrm</a></h2>\n<p>安装 nrm 很简单，使用  <code>npm install -g nrm</code>  可以直接就全局安装 ()<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/NdEhmTPa5vI3lYf.png\" alt=\"\" /><br />\n 安装完成后，我们可以使用  <code>nrm ls</code>  查看所有的可用源，展示的源前有 * 的表示目前正在使用的源。<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/lwBn5fXo9MgNdqc.png\" alt=\"\" /></p>\n<h2 id=\"2切换源\"><a class=\"anchor\" href=\"#2切换源\">#</a> 2. 切换源</h2>\n<p>我们通过  <code>nrm ls</code>  查看目前可用的源后，需要切换到某个源，直接使用  <code>nrm use &lt;源名&gt;</code>  即可完成切换。比如我们需要切换到 taobao 的源直接使用  <code>nrm use taobao</code> <br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/iDqWpIURM9n2AuC.png\" alt=\"\" /></p>\n<h2 id=\"3增加源\"><a class=\"anchor\" href=\"#3增加源\">#</a> 3. 增加源</h2>\n<p>有时我们需要增加一些定制的源，如公司内部自己的私有源，我们使用  <code>nrm add &lt;源名&gt; &lt;源 url&gt;</code>   进行添加。<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/uvs76ydPr1eiQEW.png\" alt=\"\" /></p>\n<h2 id=\"4删除源\"><a class=\"anchor\" href=\"#4删除源\">#</a> 4. 删除源</h2>\n<p>删除不需要的源使用  <code>nrm del &lt;源名&gt;</code>  进行删除<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/zs9ZYStfHnk1OWG.png\" alt=\"\" /><br />\n我们也可以使用  <code>nrm test &lt;源名&gt;</code>  去测试速度，以方便我们选择使用哪个源</p>\n<h3 id=\"因为在此系统上禁止运行脚本解决办法\"><a class=\"anchor\" href=\"#因为在此系统上禁止运行脚本解决办法\">#</a> “因为在此系统上禁止运行脚本” 解决办法</h3>\n<p><a href=\"https://zhuanlan.zhihu.com/p/493496089\">原地址</a></p>\n<figure class=\"highlight text\"><figcaption data-lang=\"text\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>set-ExecutionPolicy RemoteSigned</pre></td></tr></table></figure><p>改回去</p>\n<figure class=\"highlight text\"><figcaption data-lang=\"text\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>set-ExecutionPolicy Default</pre></td></tr></table></figure><p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/kyMZD9n5pUo8Bcx.png\" alt=\"\" /></p>\n<h3 id=\"安装-typescript-并检测-tsc短端口类型脚本编译器\"><a class=\"anchor\" href=\"#安装-typescript-并检测-tsc短端口类型脚本编译器\">#</a> 安装 typescript 并检测 tsc（短端口类型脚本编译器）</h3>\n<pre><code>npm i -g typescript\n</code></pre>\n<pre><code>tsc -v\n</code></pre>\n<h3 id=\"常用-terminal-命令\"><a class=\"anchor\" href=\"#常用-terminal-命令\">#</a> 常用 terminal 命令</h3>\n<pre><code>cd ~\n</code></pre>\n<pre><code class=\"language-Sh\">mkdir #新文件夹名字\n</code></pre>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/6JmfTwYqzDoNr1R.png\" alt=\"\" /><br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/wH9lBKIvO4nWixh.png\" alt=\"\" /><br />\n在 vscode 中打开现在的目录文件夹</p>\n<figure class=\"highlight sh\"><figcaption data-lang=\"sh\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>code <span class=\"token builtin class-name\">.</span></pre></td></tr></table></figure><p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/6HzlByNfnPmwj8X.png\" alt=\"\" /></p>\n<h2 id=\"linux-创建新文件的命令\"><a class=\"anchor\" href=\"#linux-创建新文件的命令\">#</a> linux 创建新文件的命令</h2>\n<ol>\n<li>vi 或 vim</li>\n</ol>\n<p>[root@localhost ~]# vi file1.txt// 直接创建并打开一个文件 file1.txt</p>\n<p>用 vi 编辑器编辑文本后，如果是新创建的文件，默认保存在当前目录下，如果想保存到指定目录下，可以在 vi 编辑器中，按 Esc 键切换到命令模式，然后用 w 命令写到指定目录下的指定新建文件，如写到 /tmp/test.txt 文件，则在 vi 命令模式下输入: w /tmp/test.txt 写好后，在 /tmp 目录下新的文件 test.txt 就被创建了。</p>\n<ol start=\"2\">\n<li>touch</li>\n</ol>\n<p>[root@localhost ~]# touch file2.txt// 创建新的空文件 file2.txt</p>\n<p>touch 的另一个作用是更改一个文件或目录的时间。</p>\n<ol start=\"3\">\n<li>echo</li>\n</ol>\n<p>[root@localhost ~]# echo &quot;this is a new file&quot; &gt; file3.txt// 创建文件 file3.txt 并将 this is a new file 写入</p>\n<p>(说明：使用&gt; 指令覆盖文件原内容并重新输入内容，若文件不存在则创建文件。)</p>\n<p>[root@localhost ~]# echo &quot;add contents&quot; &gt;&gt;file3.txt// 在已存在的文件补充写入新内容 add contents</p>\n<p>(说明：使用&gt;&gt; 指令向文件追加内容，原内容将保存。)</p>\n<p>拓展： Linux 中输出重定向 &gt; 和 &gt;&gt; 的区别，&gt; 是覆盖，&gt;&gt; 是追加</p>\n<blockquote>\n<p>会重写文件，如果文件里面有内容会覆盖。</p>\n</blockquote>\n<blockquote>\n<blockquote>\n<p>追加文件。也就是如果文件里面有内容会把新内容追加到文件尾</p>\n</blockquote>\n</blockquote>\n<ol start=\"4\">\n<li>less 、more 、cat</li>\n</ol>\n<p>三者都是将文件内容输出到标准输出，其中 less 和 more 可以分页显示，cat 是显示全部。</p>\n<p>三者可以根据已经存在的文件创建新的文件。假设已经存在文件 1.txt。</p>\n<p>cat 1.txt &gt; 2.txt</p>\n<p>less 1.txt &gt; 3.txt</p>\n<p>more 1.txt &gt; 4.txt</p>\n<p>此时创建的文件内容都和 1.txt 中文件内容相同。</p>\n<p>cat 命令可以一次显示整个文件，如果文件比较大，使用不是很方便；适用于文件内容少的情况。</p>\n<p>cat 主要有三大功能：</p>\n<p>1) 一次显示整个文件: cat filename</p>\n<p>2) 从键盘创建一个文件: cat &gt; filename 只能创建新文件，不能编辑已有文件.</p>\n<p>3) 将几个文件合并为一个文件: cat file1 file2 &gt; file</p>\n<p>more 命令可以让屏幕在显示满一屏幕时暂停，此时可按空格健继续显示下一个画面，或按 Q 键停止显示。</p>\n<p>less 命令也可以分页显示文件，和 more 命令的区别就在于它支持上下键卷动屏幕，当结束浏览时，只要在 less 命令的提示符 “:” 下按 Q 键即可。</p>\n<ol start=\"5\">\n<li>cd</li>\n</ol>\n<p>[root@localhost ~]# cd &gt; file3.txt// 创建新的空文件 file3.txt</p>\n<p>[root@localhost ~]# cd &gt;&gt; file4.txt// 创建新的空文件 file3.txt</p>\n<p>cd 最主要的作用是切换目录，在 cd 后面跟 &gt; 或 &gt;&gt; 再加上文件名就可以创建一个内容为空的文件。它和 echo 的区别之处在于 echo 可写文件内容，而 cd 并不能。<br />\n————————————————<br />\n 版权声明：本文为 CSDN 博主「csdnlzy」的原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接及本声明。</p>\n<h3 id=\"删除文件\"><a class=\"anchor\" href=\"#删除文件\">#</a> 删除文件</h3>\n<p><a href=\"http://t.zoukankan.com/macrored-p-11415741.html\">原文地址</a></p>\n<h3 id=\"使用-typesript-编译器使得我们可以编译-indexts\"><a class=\"anchor\" href=\"#使用-typesript-编译器使得我们可以编译-indexts\">#</a> 使用 typesript 编译器使得我们可以编译 index.ts</h3>\n<figure class=\"highlight shell\"><figcaption data-lang=\"Bash\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>tsc index.ts</pre></td></tr></table></figure><p>会出现一个 index.js 就编译好了</p>\n<h2 id=\"创建-typescript-配置文件\"><a class=\"anchor\" href=\"#创建-typescript-配置文件\">#</a> 创建 Typescript 配置文件</h2>\n<pre><code>tsc --init\n</code></pre>\n<h3 id=\"在-vscode-中搜索文件\"><a class=\"anchor\" href=\"#在-vscode-中搜索文件\">#</a> 在 VSCODE 中搜索文件</h3>\n<p>ctrl + p</p>\n<h3 id=\"创建类\"><a class=\"anchor\" href=\"#创建类\">#</a> 创建类</h3>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/dlzeJytuF5UL9Dg.png\" alt=\"\" /><br />\n这是 Typescript 的初始化属性方法<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/z4sZwFr8vMdUWTO.png\" alt=\"\" /><br />\n这是 Javascript 的<br />\n声明 id/owner/balance 的类型 在 JavaScript 中不存在</p>\n<h3 id=\"报错-throw-new-error\"><a class=\"anchor\" href=\"#报错-throw-new-error\">#</a> 报错: throw new Error</h3>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/3IMogFkEQ5YXCKc.png\" alt=\"\" /><br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/p965kdPCq3AhgNG.png\" alt=\"\" /></p>\n<h2 id=\"一步编译并运行\"><a class=\"anchor\" href=\"#一步编译并运行\">#</a> 一步编译并运行</h2>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/47Jc5fFvxyLIrp9.png\" alt=\"\" /><br />\nmac 下的<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/ZERTsi7vNQJ6dYX.png\" alt=\"\" /></p>\n<p>Linux 下的</p>\n<figure class=\"highlight sh\"><figcaption data-lang=\"sh\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>tsc <span class=\"token operator\">&amp;&amp;</span> <span class=\"token function\">node</span> ~</pre></td></tr></table></figure><p>Windows 下的<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/dD4KO2ZIYiGsmNR.png\" alt=\"\" /></p>\n<h3 id=\"只读修饰符-在类型声明的时候-加上-readonly-只能在构造函数内设置它\"><a class=\"anchor\" href=\"#只读修饰符-在类型声明的时候-加上-readonly-只能在构造函数内设置它\">#</a> 只读修饰符 在类型声明的时候 加上 readonly (只能在构造函数内设置它)</h3>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/7qfzeILgmMy435s.png\" alt=\"\" /></p>\n<h3 id=\"继承\"><a class=\"anchor\" href=\"#继承\">#</a> 继承</h3>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/MkJVPURgiZKHaxs.png\" alt=\"\" /></p>\n<figure class=\"highlight ts\"><figcaption data-lang=\"TypeScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// 继承 inheritance 即类中共同的属性 防止重复</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre></pre></td></tr><tr><td data-num=\"3\"></td><td><pre></pre></td></tr><tr><td data-num=\"4\"></td><td><pre></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token keyword\">class</span> <span class=\"token class-name\">Person</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre></pre></td></tr><tr><td data-num=\"7\"></td><td><pre>    <span class=\"token function\">constructor</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">public</span> firstName<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">public</span> lastName<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span> <span class=\"token punctuation\">&#125;</span><span class=\"token comment\">// 注意这里不能 return 任何 因为要返回一个实例对象 object 类型</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre></pre></td></tr><tr><td data-num=\"9\"></td><td><pre>    <span class=\"token keyword\">get</span> <span class=\"token function\">fullName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre></pre></td></tr><tr><td data-num=\"11\"></td><td><pre>        <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>firstName <span class=\"token operator\">+</span> <span class=\"token string\">' '</span> <span class=\"token operator\">+</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>lastName</pre></td></tr><tr><td data-num=\"12\"></td><td><pre></pre></td></tr><tr><td data-num=\"13\"></td><td><pre>    <span class=\"token punctuation\">&#125;</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre></pre></td></tr><tr><td data-num=\"15\"></td><td><pre>    <span class=\"token function\">walk</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"16\"></td><td><pre></pre></td></tr><tr><td data-num=\"17\"></td><td><pre>        <span class=\"token builtin\">console</span><span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Walking'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre></pre></td></tr><tr><td data-num=\"19\"></td><td><pre>    <span class=\"token punctuation\">&#125;</span></pre></td></tr><tr><td data-num=\"20\"></td><td><pre></pre></td></tr><tr><td data-num=\"21\"></td><td><pre><span class=\"token punctuation\">&#125;</span></pre></td></tr><tr><td data-num=\"22\"></td><td><pre></pre></td></tr><tr><td data-num=\"23\"></td><td><pre></pre></td></tr><tr><td data-num=\"24\"></td><td><pre></pre></td></tr><tr><td data-num=\"25\"></td><td><pre><span class=\"token keyword\">class</span> <span class=\"token class-name\">Student</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">Person</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"26\"></td><td><pre></pre></td></tr><tr><td data-num=\"27\"></td><td><pre>    <span class=\"token function\">constructor</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">public</span> studentId<span class=\"token operator\">:</span> <span class=\"token builtin\">number</span><span class=\"token punctuation\">,</span> firstName<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">,</span> lastName<span class=\"token operator\">:</span> <span class=\"token builtin\">string</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"28\"></td><td><pre></pre></td></tr><tr><td data-num=\"29\"></td><td><pre>        <span class=\"token comment\">// 这里使用访问修饰符时：public /private 我们本质上是在创建一个参数属性 所以类型脚本编译器将创建此名称的属性并为我们初始化它 这里我们不想用公共修饰符 public 因为之前已经在 Person 里声明且初始化过了</span></pre></td></tr><tr><td data-num=\"30\"></td><td><pre></pre></td></tr><tr><td data-num=\"31\"></td><td><pre>        <span class=\"token keyword\">super</span><span class=\"token punctuation\">(</span>firstName<span class=\"token punctuation\">,</span> lastName<span class=\"token punctuation\">)</span><span class=\"token comment\">// 在 ts 中 有一个特殊的关键字 super 去让我们来参考 reference 基础的类 basic class</span></pre></td></tr><tr><td data-num=\"32\"></td><td><pre></pre></td></tr><tr><td data-num=\"33\"></td><td><pre>    <span class=\"token punctuation\">&#125;</span></pre></td></tr><tr><td data-num=\"34\"></td><td><pre></pre></td></tr><tr><td data-num=\"35\"></td><td><pre>    <span class=\"token function\">takeTest</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"36\"></td><td><pre></pre></td></tr><tr><td data-num=\"37\"></td><td><pre>        <span class=\"token builtin\">console</span><span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Taking a test'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"38\"></td><td><pre></pre></td></tr><tr><td data-num=\"39\"></td><td><pre>    <span class=\"token punctuation\">&#125;</span></pre></td></tr><tr><td data-num=\"40\"></td><td><pre></pre></td></tr><tr><td data-num=\"41\"></td><td><pre><span class=\"token punctuation\">&#125;</span></pre></td></tr><tr><td data-num=\"42\"></td><td><pre></pre></td></tr><tr><td data-num=\"43\"></td><td><pre></pre></td></tr><tr><td data-num=\"44\"></td><td><pre></pre></td></tr><tr><td data-num=\"45\"></td><td><pre><span class=\"token keyword\">let</span> student <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Student</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'John'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'john@gmail.com'</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure><h3 id=\"折叠代码块\"><a class=\"anchor\" href=\"#折叠代码块\">#</a> 折叠代码块</h3>\n<p>ctrl + k + 0 折叠全部<br />\n ctrl + k + j 展开全部</p>\n<p>ctrl + shift + [ 折叠选中<br />\n \\ 反义符号<br />\n ctrl + shift + ] 展开选中</p>\n<h3 id=\"属性-properties-运算符-operator\"><a class=\"anchor\" href=\"#属性-properties-运算符-operator\">#</a> 属性 Properties 运算符 Operator</h3>\n<h3 id=\"这些东西非常有用-且内置在-typescript-中\"><a class=\"anchor\" href=\"#这些东西非常有用-且内置在-typescript-中\">#</a> 这些东西非常有用 且内置在 Typescript 中</h3>\n<p><a href=\"typescriptlang.org/docs/handbook/utility-types.html\">原链接</a></p>\n<h3 id=\"65-至-68-需复习记得写笔记-78-属性装饰器\"><a class=\"anchor\" href=\"#65-至-68-需复习记得写笔记-78-属性装饰器\">#</a> 6.5 至 6.8 需复习记得写笔记 7.8 属性装饰器</h3>\n<h3 id=\"展开运算符\"><a class=\"anchor\" href=\"#展开运算符\">#</a> 展开运算符 ...</h3>\n<p><a href=\"https://www.jianshu.com/p/a432a9e78949\">展开运算符</a></p>\n<h3 id=\"ctrl-移动到新文件或者删除模块\"><a class=\"anchor\" href=\"#ctrl-移动到新文件或者删除模块\">#</a> ctrl + . 移动到新文件或者删除模块</h3>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/JC6UtTRiW9IGHbY.png\" alt=\"\" /></p>\n<h3 id=\"lodash-流行的应用程序\"><a class=\"anchor\" href=\"#lodash-流行的应用程序\">#</a> lodash 流行的应用程序</h3>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/MfSojCyk2XlpeY4.png\" alt=\"\" /><br />\n因为 lodash 纯纯 JS 所以需要类型注释 使得构建应用程序更快<br />\n所以再装一个类型注释库 @types 是很流行的 JS 类型注释库 里面有所有 JS 包的类型注释</p>\n<figure class=\"highlight sh\"><figcaption data-lang=\"sh\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">npm</span> i <span class=\"token parameter variable\">-D</span> @types/lodash</pre></td></tr></table></figure><p>-D 开发环境安装 也就是不会出现在上线环境<br />\n @types/ + 上 JS 包<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/UNFM5fXyRi2KSPh.png\" alt=\"\" /><br />\n这样就可以出现提示了</p>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/bPVMUXvisc7OryI.png\" alt=\"\" /><br />\n包和声明文件一般不会分开</p>\n<h2 id=\"react\"><a class=\"anchor\" href=\"#react\">#</a> React</h2>\n<figure class=\"highlight sh\"><figcaption data-lang=\"sh\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>npx create-react-app reminders-app <span class=\"token parameter variable\">--template</span> typescript</pre></td></tr></table></figure><p>创建一个叫 reminders-app 的 react 且使用 typescript</p>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/Wh9QGLDtRdnuBEV.png\" alt=\"\" /></p>\n<pre><code>button.btn.btn-primary\n</code></pre>\n<p>创建一个 button className 为 btn btn-primary</p>\n<p><img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/dG9w5zgelPZoJq4.png\" alt=\"\" /></p>\n<p>还是一样的 ctrl + .<br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/UGcnwb4qm5vMIsE.png\" alt=\"\" /><br />\n<img loading=\"lazy\" data-src=\"https://s2.loli.net/2024/08/09/H3at5vrYZqQJVdz.png\" alt=\"\" /><br />\n 就会自动创建了</p>\n",
            "tags": [
                "Typescript"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/PineScript/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/PineScript/",
            "title": "PineScript",
            "date_published": "2025-03-02T07:38:29.619Z",
            "content_html": "<p> \n<iframe width=\"560\" height=\"315\" src=\"https://player.bilibili.com/player.html?isOutside=true&aid=269784647&bvid=BV1Dc411H7QG&cid=1091435650&p=1&autoplay=0\" scrolling=\"no\" border=\"0\" frameborder=\"no\" framespacing=\"0\" allowfullscreen=\"true\" width=\"700\" height=\"500\"> </iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/NdwQJEV4Avo?si=-F8UQiWwsOXFLNrv\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n\n</p>\n<p><div class=\"links\"><div class=\"item\" title=\"Bitget\" style=\"--block-color:#00b8cc;\"><a href=\"https://www.bitget.com/academy/Beginners-Guide-to-Using-TradingView-to-Trade-Crypto-on-Bitget\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/08/14/xkg1IALjR3tH2Wc.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.bitget.com/academy/Beginners-Guide-to-Using-TradingView-to-Trade-Crypto-on-Bitget\" class=\"title\">Bitget link to the TradingView</a>\n        <p class=\"desc\">Bitget link to the TradingView</p>\n        </div></div><div class=\"item\" title=\"OKX\" style=\"--block-color:#b8c5d3;\"><a href=\"https://www.okx.com/zh-hans/help/how-to-set-up-signal-trading-bot-with-tradingview\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/08/14/jVat2Lp3AvfT47s.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.okx.com/zh-hans/help/how-to-set-up-signal-trading-bot-with-tradingview\" class=\"title\">OKX link to the TradingView （Signaling Strategy）</a>\n        <p class=\"desc\">OKX link to the TradingView （Signaling Strategy）</p>\n        </div></div><div class=\"item\" title=\"OKX\" style=\"--block-color:#b8c5d3;\"><a href=\"https://www.tradingview.com/pine-script-docs/v4/welcome/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/08/14/fTrh6qFY5BH17eX.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/pine-script-docs/v4/welcome/\" class=\"title\">PineScript Document</a>\n        <p class=\"desc\">PineScript Document</p>\n        </div></div></div></p>\n",
            "tags": [
                "TradingView",
                "PineScript",
                "TradingView"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/Super%20Secret%20200%20EMA/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/Super%20Secret%20200%20EMA/",
            "title": "Super Secret 200 EMA",
            "date_published": "2025-03-02T07:38:29.619Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"brutaltraderyt\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/script/IyXNjd7M-Super-Secret-200-EMA/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/09/05/YHyCDKlFExiwsfr.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/IyXNjd7M-Super-Secret-200-EMA/\" class=\"title\">Super Secret 200 EMA</a>\n        <p class=\"desc\">The indicator is called \"Super Secret 200 EMA.\" It combines two technical indicators, the Supertrend and the 200 Exponential Moving Average (EMA), to generate buy and sell opportunities in a trading chart.</p>\n        </div></div></div></p>\n<p>The indicator is called &quot;Super Secret 200 EMA.&quot; It combines two technical indicators, the Supertrend and the 200 Exponential Moving Average (EMA), to generate buy and sell opportunities in a trading chart.</p>\n<p>Here's how the indicator works and how you can use it:</p>\n<p>Supertrend Calculation:</p>\n<p>The Supertrend indicator helps identify the current trend in the market. It uses two parameters: Length and Multiplier.<br />\nLength: This parameter determines the number of periods used for the calculation.<br />\nMultiplier: It controls the width of the Supertrend line, indicating the level of volatility considered in the calculation.<br />\nThe Supertrend is calculated by looping through the historical data from length to 1.<br />\nFor each period, it checks whether the closing price has increased or decreased compared to the previous period.<br />\nIf the closing price has increased, it updates the highestHigh value with the maximum of the current highest high and the high of the current period.<br />\nIf the closing price has decreased, it updates the lowestLow value with the minimum of the current lowest low and the low of the current period.<br />\nFinally, it calculates the Supertrend value using the following formula:<br />\nIf the change in the closing price is positive: Supertrend = lowestLow + (multiplier _ Average True Range (ATR))<br />\nIf the change in the closing price is negative: Supertrend = highestHigh - (multiplier _ ATR)<br />\nThe Supertrend line will be green if it is above the 200 EMA line and red if it is below.<br />\n200 EMA Calculation:</p>\n<p>The 200 EMA is a widely used moving average indicator that gives more weight to recent prices.<br />\nThe EMA period is set to 200 in this case.<br />\nThe 200 EMA is calculated using the EMA formula, taking into account the closing prices over the specified period.<br />\nPlotting:</p>\n<p>The Supertrend and 200 EMA lines are plotted on the chart using the plot function.<br />\nThe Supertrend line is colored green if it is above the 200 EMA line and red if it is below.<br />\nThe 200 EMA line is colored green if the closing price is above it and red if it is below.<br />\nBuy and Sell Conditions:</p>\n<p>The indicator determines the buy and sell conditions based on the crossover and crossunder of the closing price with the 200 EMA line and the Supertrend line.<br />\nBuy Condition: A buy signal is generated when the closing price crosses above the 200 EMA line and is also above the Supertrend line.<br />\nSell Condition: A sell signal is generated when the closing price crosses below the 200 EMA line and is also below the Supertrend line.<br />\nPlotting Buy and Sell Signals:</p>\n<p>You can use this indicator to identify potential buy and sell opportunities in your trading strategy. However, please note that this is a simplified explanation, and it's essential to thoroughly understand the indicator's principles and backtest it with historical data before relying on it for actual trading decisions.</p>\n<p>Use this with other confluences for best results and never rely on a single indicator</p>\n<p><a href=\"https://www.tradingview.com/scripts/200/\">200</a> <a href=\"https://www.tradingview.com/scripts/200ma/\">200ma</a> <a href=\"https://www.tradingview.com/scripts/bandsandchannels/\">Bands and Channels</a> <a href=\"https://www.tradingview.com/scripts/chartpatterns/\">Chart patterns</a> <a href=\"https://www.tradingview.com/scripts/moving_average/\">moving_average</a> <a href=\"https://www.tradingview.com/scripts/movingaverage/\">Moving Averages</a> <a href=\"https://www.tradingview.com/scripts/movingaveragecrossover/\">movingaveragecrossover</a></p>\n<hr />\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">//@version=5</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token function\">indicator</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Super Secret 200 EMA\"</span><span class=\"token punctuation\">,</span> overlay<span class=\"token operator\">=</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre></pre></td></tr><tr><td data-num=\"4\"></td><td><pre>length <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Supertrend Length\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre>multiplier <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">float</span><span class=\"token punctuation\">(</span><span class=\"token number\">3.0</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Supertrend Multiplier\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre>emaPeriod <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">200</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"EMA Period\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre></pre></td></tr><tr><td data-num=\"8\"></td><td><pre><span class=\"token comment\">// Calculate Supertrend</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre><span class=\"token keyword\">var</span> float supertrend <span class=\"token operator\">=</span> na</pre></td></tr><tr><td data-num=\"10\"></td><td><pre><span class=\"token keyword\">var</span> float highestHigh <span class=\"token operator\">=</span> na</pre></td></tr><tr><td data-num=\"11\"></td><td><pre><span class=\"token keyword\">var</span> float lowestLow <span class=\"token operator\">=</span> na</pre></td></tr><tr><td data-num=\"12\"></td><td><pre></pre></td></tr><tr><td data-num=\"13\"></td><td><pre><span class=\"token keyword\">for</span> i <span class=\"token operator\">=</span> length to <span class=\"token number\">1</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre>    <span class=\"token keyword\">if</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">change</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">></span> <span class=\"token number\">0</span></pre></td></tr><tr><td data-num=\"15\"></td><td><pre>        <span class=\"token literal-property property\">highestHigh</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> math<span class=\"token punctuation\">.</span><span class=\"token function\">max</span><span class=\"token punctuation\">(</span>highestHigh<span class=\"token punctuation\">,</span> high<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"16\"></td><td><pre>    <span class=\"token keyword\">else</span></pre></td></tr><tr><td data-num=\"17\"></td><td><pre>        <span class=\"token literal-property property\">lowestLow</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> math<span class=\"token punctuation\">.</span><span class=\"token function\">min</span><span class=\"token punctuation\">(</span>lowestLow<span class=\"token punctuation\">,</span> low<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre></pre></td></tr><tr><td data-num=\"19\"></td><td><pre>    <span class=\"token literal-property property\">supertrend</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">change</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">)</span> <span class=\"token operator\">></span> <span class=\"token number\">0</span> <span class=\"token operator\">?</span> lowestLow <span class=\"token operator\">+</span> multiplier <span class=\"token operator\">*</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">atr</span><span class=\"token punctuation\">(</span>length<span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> highestHigh <span class=\"token operator\">-</span> multiplier <span class=\"token operator\">*</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">atr</span><span class=\"token punctuation\">(</span>length<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"20\"></td><td><pre></pre></td></tr><tr><td data-num=\"21\"></td><td><pre>supertrendColor <span class=\"token operator\">=</span> supertrend <span class=\"token operator\">></span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> emaPeriod<span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> color<span class=\"token punctuation\">.</span>green <span class=\"token operator\">:</span> color<span class=\"token punctuation\">.</span>red</pre></td></tr><tr><td data-num=\"22\"></td><td><pre></pre></td></tr><tr><td data-num=\"23\"></td><td><pre><span class=\"token comment\">// Calculate 200 EMA</span></pre></td></tr><tr><td data-num=\"24\"></td><td><pre>ema200 <span class=\"token operator\">=</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> emaPeriod<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"25\"></td><td><pre>emaColor <span class=\"token operator\">=</span> close <span class=\"token operator\">></span> ema200 <span class=\"token operator\">?</span> color<span class=\"token punctuation\">.</span>green <span class=\"token operator\">:</span> color<span class=\"token punctuation\">.</span>red</pre></td></tr><tr><td data-num=\"26\"></td><td><pre></pre></td></tr><tr><td data-num=\"27\"></td><td><pre><span class=\"token comment\">// Plot Supertrend and EMA</span></pre></td></tr><tr><td data-num=\"28\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>supertrend<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>supertrendColor<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"Supertrend\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"29\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>ema200<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>emaColor<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"200 EMA\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"30\"></td><td><pre></pre></td></tr><tr><td data-num=\"31\"></td><td><pre><span class=\"token comment\">// Determine Buy and Sell Conditions</span></pre></td></tr><tr><td data-num=\"32\"></td><td><pre>buyCondition <span class=\"token operator\">=</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">crossover</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> ema200<span class=\"token punctuation\">)</span> and close <span class=\"token operator\">></span> supertrend</pre></td></tr><tr><td data-num=\"33\"></td><td><pre>sellCondition <span class=\"token operator\">=</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">crossunder</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> ema200<span class=\"token punctuation\">)</span> and close <span class=\"token operator\">&lt;</span> supertrend</pre></td></tr><tr><td data-num=\"34\"></td><td><pre></pre></td></tr><tr><td data-num=\"35\"></td><td><pre><span class=\"token comment\">// Plot Buy and Sell Signals</span></pre></td></tr><tr><td data-num=\"36\"></td><td><pre><span class=\"token function\">plotshape</span><span class=\"token punctuation\">(</span>buyCondition<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"Buy Signal\"</span><span class=\"token punctuation\">,</span> location<span class=\"token operator\">=</span>location<span class=\"token punctuation\">.</span>belowbar<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>green<span class=\"token punctuation\">,</span> style<span class=\"token operator\">=</span>shape<span class=\"token punctuation\">.</span>labelup<span class=\"token punctuation\">,</span> text<span class=\"token operator\">=</span><span class=\"token string\">\"Buy\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"37\"></td><td><pre><span class=\"token function\">plotshape</span><span class=\"token punctuation\">(</span>sellCondition<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"Sell Signal\"</span><span class=\"token punctuation\">,</span> location<span class=\"token operator\">=</span>location<span class=\"token punctuation\">.</span>abovebar<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>red<span class=\"token punctuation\">,</span> style<span class=\"token operator\">=</span>shape<span class=\"token punctuation\">.</span>labeldown<span class=\"token punctuation\">,</span> text<span class=\"token operator\">=</span><span class=\"token string\">\"Sell\"</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "EMA 200"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/WaveTrend%20with%20Crosses/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/WaveTrend%20with%20Crosses/",
            "title": "WaveTrend with Crosses -LazyBear-",
            "date_published": "2025-03-02T07:38:29.619Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"lonestar108\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/script/jFQn4jYZ-WaveTrend-with-Crosses-LazyBear/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/09/04/1hD85cr4P7qWiHz.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/jFQn4jYZ-WaveTrend-with-Crosses-LazyBear/\" class=\"title\">WaveTrend with Crosses -LazyBear-</a>\n        <p class=\"desc\">WaveTrend with Crosses -LazyBear-</p>\n        </div></div></div></p>\n<h2 id=\"lazybears-wavetrend-oscillator-enhanced-with-wavetrend-cross-visualization-on-the-indicator-as-well-as-with-bar-color-highlights\"><a class=\"anchor\" href=\"#lazybears-wavetrend-oscillator-enhanced-with-wavetrend-cross-visualization-on-the-indicator-as-well-as-with-bar-color-highlights\">#</a> LazyBear's wavetrend oscillator enhanced with wavetrend cross visualization on the indicator as well as with bar color highlights.</h2>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token comment\">// @author LazyBear</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre><span class=\"token comment\">// If you use this code in its original/modified form, do drop me a note.</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre><span class=\"token function\">study</span><span class=\"token punctuation\">(</span>title<span class=\"token operator\">=</span><span class=\"token string\">\"WaveTrend with Crosses [LazyBear]\"</span><span class=\"token punctuation\">,</span> shorttitle<span class=\"token operator\">=</span><span class=\"token string\">\"WT_CROSS_LB\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre>n1 <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Channel Length\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre>n2 <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">21</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Average Length\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre>obLevel1 <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">60</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Over Bought Level 1\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre>obLevel2 <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">53</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Over Bought Level 2\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre>osLevel1 <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token operator\">-</span><span class=\"token number\">60</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Over Sold Level 1\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre>osLevel2 <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token operator\">-</span><span class=\"token number\">53</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Over Sold Level 2\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre></pre></td></tr><tr><td data-num=\"14\"></td><td><pre>ap <span class=\"token operator\">=</span> hlc3</pre></td></tr><tr><td data-num=\"15\"></td><td><pre>esa <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>ap<span class=\"token punctuation\">,</span> n1<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"16\"></td><td><pre>d <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span><span class=\"token function\">abs</span><span class=\"token punctuation\">(</span>ap <span class=\"token operator\">-</span> esa<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> n1<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"17\"></td><td><pre>ci <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>ap <span class=\"token operator\">-</span> esa<span class=\"token punctuation\">)</span> <span class=\"token operator\">/</span> <span class=\"token punctuation\">(</span><span class=\"token number\">0.015</span> <span class=\"token operator\">*</span> d<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre>tci <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>ci<span class=\"token punctuation\">,</span> n2<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"19\"></td><td><pre></pre></td></tr><tr><td data-num=\"20\"></td><td><pre>wt1 <span class=\"token operator\">=</span> tci</pre></td></tr><tr><td data-num=\"21\"></td><td><pre>wt2 <span class=\"token operator\">=</span> <span class=\"token function\">sma</span><span class=\"token punctuation\">(</span>wt1<span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"22\"></td><td><pre></pre></td></tr><tr><td data-num=\"23\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>gray<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"24\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>obLevel1<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>red<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"25\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>osLevel1<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>green<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"26\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>obLevel2<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>red<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"27\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>osLevel2<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>green<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"28\"></td><td><pre></pre></td></tr><tr><td data-num=\"29\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>wt1<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>green<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"30\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>wt2<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>red<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"31\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>wt1<span class=\"token operator\">-</span>wt2<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>blue<span class=\"token punctuation\">,</span> style<span class=\"token operator\">=</span>area<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span><span class=\"token number\">80</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"32\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span><span class=\"token function\">cross</span><span class=\"token punctuation\">(</span>wt1<span class=\"token punctuation\">,</span> wt2<span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> wt2 <span class=\"token operator\">:</span> na<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> black <span class=\"token punctuation\">,</span> style <span class=\"token operator\">=</span> circles<span class=\"token punctuation\">,</span> linewidth <span class=\"token operator\">=</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"33\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span><span class=\"token function\">cross</span><span class=\"token punctuation\">(</span>wt1<span class=\"token punctuation\">,</span> wt2<span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> wt2 <span class=\"token operator\">:</span> na<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>wt2 <span class=\"token operator\">-</span> wt1 <span class=\"token operator\">></span> <span class=\"token number\">0</span> <span class=\"token operator\">?</span> red <span class=\"token operator\">:</span> lime<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">,</span> style <span class=\"token operator\">=</span> circles<span class=\"token punctuation\">,</span> linewidth <span class=\"token operator\">=</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"34\"></td><td><pre><span class=\"token function\">barcolor</span><span class=\"token punctuation\">(</span><span class=\"token function\">cross</span><span class=\"token punctuation\">(</span>wt1<span class=\"token punctuation\">,</span> wt2<span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> <span class=\"token punctuation\">(</span>wt2 <span class=\"token operator\">-</span> wt1 <span class=\"token operator\">></span> <span class=\"token number\">0</span> <span class=\"token operator\">?</span> aqua <span class=\"token operator\">:</span> yellow<span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> na<span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "WaveTrend with Crosses -LazyBear-",
                "LazyBear"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/VWAP%20EMA50%20EMA200/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/VWAP%20EMA50%20EMA200/",
            "title": "VWAP EMA50 EMA200",
            "date_published": "2025-03-02T07:38:29.619Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"A1TradingHub\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/script/mdk25cuf-VWAP-EMA50-EMA200/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/09/05/MsSeuQdTBqA4ckN.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/mdk25cuf-VWAP-EMA50-EMA200/\" class=\"title\">VWAP EMA50 EMA200</a>\n        <p class=\"desc\">The indicator is called \"Super Secret 200 EMA.\" It combines two technical indicators, the Supertrend and the 200 Exponential Moving Average (EMA), to generate buy and sell opportunities in a trading chart.</p>\n        </div></div></div></p>\n<p>We script this one for combining VWAP , EMA50 and EMA200. The tool is fantastic if traders know how VWAP , EMA work? Just adding this script in your favorite and work like charm:</p>\n<p>VWAP: How to trade with that</p>\n<ul>\n<li>One of the simplest uses of the VWAP is gauging support and/or resistance.</li>\n<li>A trader who is long a stock can use the VWAP as a target exit if its trading below.</li>\n<li>A stock trading over intraday VWAP may be bullish , while a stock trading under may be bearish .</li>\n</ul>\n<p>EMA 50/EMA200: How to trade with that timeframe 50-day or 200-day period</p>\n<ul>\n<li>Identify the trend of market in longterm</li>\n<li>Golden-cross (short term EMA cross above longterm EMA ) is call golden-cross signals. It is opportunity for buying.</li>\n<li>Deal-cross ( short term EMA cross below longterm EMA ) is call dead-cross signals. It is opportunity for selling.</li>\n<li>Identify support levels</li>\n<li>Identify resistance levels</li>\n</ul>\n<p>Let me know if you see anything else that should be added/changed.</p>\n<p><a href=\"https://www.tradingview.com/scripts/bottom/\">bottom</a> <a href=\"https://www.tradingview.com/scripts/chart-pattern/\">chart-pattern</a> <a href=\"https://www.tradingview.com/scripts/education/\">education</a> <a href=\"https://www.tradingview.com/scripts/ema/\">Exponential Moving Average (EMA)</a> <a href=\"https://www.tradingview.com/scripts/forecasting/\">forecasting</a> <a href=\"https://www.tradingview.com/scripts/fundamental/\">Fundamental Analysis</a> <a href=\"https://www.tradingview.com/scripts/moving-averages-system/\">moving-averages-system</a> <a href=\"https://www.tradingview.com/scripts/top/\">TOP</a></p>\n<hr />\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">//@version=4</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token comment\">// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token comment\">// FrogAlgo LLC</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token function\">study</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"VWAP/EMA50/EMA200\"</span><span class=\"token punctuation\">,</span> overlay<span class=\"token operator\">=</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre>src <span class=\"token operator\">=</span> close</pre></td></tr><tr><td data-num=\"7\"></td><td><pre></pre></td></tr><tr><td data-num=\"8\"></td><td><pre></pre></td></tr><tr><td data-num=\"9\"></td><td><pre><span class=\"token comment\">//===============================================</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre><span class=\"token comment\">// VWAP</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre>vwapval <span class=\"token operator\">=</span>  <span class=\"token function\">vwap</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre>emaval50 <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span><span class=\"token number\">50</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre>emaval200 <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span><span class=\"token number\">200</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre></pre></td></tr><tr><td data-num=\"15\"></td><td><pre>vwapBoolean <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"VWAP\"</span><span class=\"token punctuation\">,</span> type<span class=\"token operator\">=</span>input<span class=\"token punctuation\">.</span>bool<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"16\"></td><td><pre></pre></td></tr><tr><td data-num=\"17\"></td><td><pre>ema50Boolean <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA50\"</span><span class=\"token punctuation\">,</span> type<span class=\"token operator\">=</span>input<span class=\"token punctuation\">.</span>bool<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre></pre></td></tr><tr><td data-num=\"19\"></td><td><pre>ema200Boolean <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA200\"</span><span class=\"token punctuation\">,</span> type<span class=\"token operator\">=</span>input<span class=\"token punctuation\">.</span>bool<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"20\"></td><td><pre></pre></td></tr><tr><td data-num=\"21\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>vwapBoolean <span class=\"token operator\">?</span> vwapval<span class=\"token operator\">:</span>na<span class=\"token punctuation\">,</span>title<span class=\"token operator\">=</span><span class=\"token string\">\"VWAP\"</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>white<span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"22\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>ema50Boolean <span class=\"token operator\">?</span> emaval50<span class=\"token operator\">:</span>na<span class=\"token punctuation\">,</span>  title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 50\"</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>yellow<span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"23\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>ema200Boolean<span class=\"token operator\">?</span> emaval200<span class=\"token operator\">:</span>na<span class=\"token punctuation\">,</span>  title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 200\"</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>blue<span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "EMA 200"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/WTT%20Volume%20Trend%20by%20Morty/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/WTT%20Volume%20Trend%20by%20Morty/",
            "title": "WTT Volume Trend by Morty",
            "date_published": "2025-03-02T07:38:29.619Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"bf30075\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/script/v008IqH7-wtt-volume/\" class=\"image\" data-background-image=\"/assets/404.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/v008IqH7-wtt-volume/\" class=\"title\">WTT Volume</a>\n        <p class=\"desc\">WTT Volume</p>\n        </div></div><div class=\"item\" title=\"Morty\" style=\"--block-color:#fefe6c;\"><a href=\"https://www.tradingview.com/script/yqJ2wl50/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/08/14/qzUsFr6vMLcoI8P.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/yqJ2wl50/\" class=\"title\">WTT Volume Trend by Morty</a>\n        <p class=\"desc\">WTT Volume</p>\n        </div></div></div></p>\n<h1 id=\"wtt-volume-by-bf30075\"><a class=\"anchor\" href=\"#wtt-volume-by-bf30075\">#</a> WTT Volume by bf30075</h1>\n<p>This indicator is based on the chapter Progress in Volume Capacity of WTT. The Fundamentals and Advance of Natural Trading Theory.<br />\nProgress in volume capacity focuses on the absolute strength or relative strength of the volume capacity of bulls and bears in a single k-bar.<br />\nThe book grades volume capacity as follows:<br />\nAbsolute Strength:<br />\nAbsolute strength of bulls: the bulls win and close, with long lower shadow or long solid body.<br />\nAbsolute strength of bears: the bears win and close, with long upper shadow or long solid body.<br />\nRelative Strength<br />\nRelative strength of bulls: long lower shadow much longer than the solid K-bar, even when the bears win; or well-matched solid K-bar and upper shadow when the bulls close.<br />\nRelative strength of bears: long upper shadow much longer than the solid K-bar, even when the bulls win; or well-matched solid K-bar and lower shadow when the bears close.<br />\nCrosshairs<br />\nFrequently found in market shocks or before turning points, to be analyzed on top of the above relative and absolute strength.</p>\n<p>This indicator colors the volume by the size of volume capacity, dark colors for the strong, light colors for the weak, and grey crosshairs. This is to make it easier for you to draw the curve of volume capacity and feel the contrast of strength between the bulls and the bears. You may therefore have better timing and position for opening and closing a position. The bull-bear strength comparison reflected by a single k-bar helps you better decide the next move within a very short period, which could be opening a position, coming into the position at low, underweighting, or closing a position.</p>\n<p>本指标根据《WTT. 自然交易理论基础与进阶》量能精进一章编写。</p>\n<p>量能精进关注的，是单个 K 柱中多空双方量能的绝对强势或相对强势。<br />\n该书把量能分为以下几个等级：<br />\n绝对强势<br />\n多头绝对强势：多头获胜收线，带有长下影线或长实心柱体。<br />\n空头绝对强势：空头获胜收线，带有长上影线或长实心柱体。<br />\n相对强势<br />\n多头相对强势：长下影线相对实心 K 柱长很多，即使是空头获胜收线；或多头收线时实心 K 柱与上影线旗鼓相当。<br />\n空头相对强势：长上影线相对实心 K 柱长很多，即使是多头获胜收线；或空头收线时实心 K 柱与下影线旗鼓相当。<br />\n十字线<br />\n在震荡行情或出现拐点前出现频率较高，可结合上述相对强势和绝对强势进行综合判断。</p>\n<p>本指标根据量能强弱对交易量进行染色，强势为深色，弱势为浅色，灰色为十字线，方便你手绘量能曲线，感受多空量能强弱。能给你提供更优的开平仓时机和点位。通过单个 k 柱形态反映出来的多空强弱关系，你可以更好地执行下一个极短周期内的操作，可能是开仓，也可能是补仓、减仓或平仓。</p>\n<p>Feb 24, 2021</p>\n<p>Release Notes</p>\n<p>Add alarm.<br />\n 添加警报功能。</p>\n<p>Feb 24, 2021</p>\n<p>Release Notes</p>\n<p>Improve the English description of alert.</p>\n<p>（PineScript Private）</p>\n<h1 id=\"wtt-volume-trend-by-morty\"><a class=\"anchor\" href=\"#wtt-volume-trend-by-morty\">#</a> <strong>WTT Volume Trend by Morty</strong></h1>\n<p>Inspired by Natural Trading Theory</p>\n<p>It is a colored volume indicator based on the strength of single candlestick pattern.</p>\n<p>It also paints two weighted volume SMA, which shows the strength and trend of the market.</p>\n<p>Version 1.0, Updated at 20210327</p>\n<p><strong>Features:</strong></p>\n<ul>\n<li>Colored volume bars (Optional)</li>\n<li>Weighted Bullish volume SMA trend lines according to candlestick pattern</li>\n<li>Weighted Bearish volume SMA trend lines according to candlestick pattern</li>\n<li>Adjustable volume SMA length</li>\n<li>Adjustable weighting factors</li>\n<li>Filling the background between volume SMA trend lines</li>\n</ul>\n<p>Mar 29, 2021</p>\n<p>Release Notes</p>\n<p>fix bullish weak and bearish weak pattern recognition bugs</p>\n<p>Apr 9, 2021</p>\n<p>Release Notes</p>\n<p><strong>Version 1.1</strong><br />\nAdd feature: Highlight large volume</p>\n<figure class=\"highlight javascript\"><figcaption data-lang=\"javascript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token comment\">// © M0rty</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre></pre></td></tr><tr><td data-num=\"4\"></td><td><pre><span class=\"token comment\">//@version=4</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre></pre></td></tr><tr><td data-num=\"6\"></td><td><pre><span class=\"token comment\">////////////////////////////////////////////////////////////////</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre><span class=\"token comment\">// WTT Volume Trend by Morty</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre><span class=\"token comment\">// Inspired by Natural Trading Theory</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre><span class=\"token comment\">//--------------------------------------------------------------</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre><span class=\"token comment\">// Version 1.1, Updated at 20210409</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"15\"></td><td><pre><span class=\"token comment\">// Add feature:</span></pre></td></tr><tr><td data-num=\"16\"></td><td><pre><span class=\"token comment\">// - Highlight large volume</span></pre></td></tr><tr><td data-num=\"17\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre><span class=\"token comment\">//--------------------------------------------------------------</span></pre></td></tr><tr><td data-num=\"19\"></td><td><pre><span class=\"token comment\">// Version 1.0, Updated at 20210327</span></pre></td></tr><tr><td data-num=\"20\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"21\"></td><td><pre><span class=\"token comment\">// Features:</span></pre></td></tr><tr><td data-num=\"22\"></td><td><pre><span class=\"token comment\">// - Colored volume bars (Optional)</span></pre></td></tr><tr><td data-num=\"23\"></td><td><pre><span class=\"token comment\">// - Weighted Bullish volume SMA trend lines according to candlestick pattern</span></pre></td></tr><tr><td data-num=\"24\"></td><td><pre><span class=\"token comment\">// - Weighted Bearish volume SMA trend lines according to candlestick pattern</span></pre></td></tr><tr><td data-num=\"25\"></td><td><pre><span class=\"token comment\">// - Adjustable volume SMA length</span></pre></td></tr><tr><td data-num=\"26\"></td><td><pre><span class=\"token comment\">// - Adjustable weighting factors</span></pre></td></tr><tr><td data-num=\"27\"></td><td><pre><span class=\"token comment\">// - Filling the background between volume SMA trend lines</span></pre></td></tr><tr><td data-num=\"28\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"29\"></td><td><pre><span class=\"token comment\">////////////////////////////////////////////////////////////////</span></pre></td></tr><tr><td data-num=\"30\"></td><td><pre></pre></td></tr><tr><td data-num=\"31\"></td><td><pre><span class=\"token function\">study</span><span class=\"token punctuation\">(</span>title<span class=\"token operator\">=</span><span class=\"token string\">\"WTT Volume Trend [Morty]\"</span><span class=\"token punctuation\">,</span> shorttitle<span class=\"token operator\">=</span><span class=\"token string\">\"Vol Trend [Morty]\"</span><span class=\"token punctuation\">,</span> format<span class=\"token operator\">=</span>format<span class=\"token punctuation\">.</span>volume<span class=\"token punctuation\">,</span> resolution<span class=\"token operator\">=</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"32\"></td><td><pre></pre></td></tr><tr><td data-num=\"33\"></td><td><pre></pre></td></tr><tr><td data-num=\"34\"></td><td><pre><span class=\"token comment\">// inputs</span></pre></td></tr><tr><td data-num=\"35\"></td><td><pre>showVolume <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Show Volume Bars\"</span><span class=\"token punctuation\">,</span> group<span class=\"token operator\">=</span><span class=\"token string\">\"Volume Bars\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"36\"></td><td><pre>showColor <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Coloring Volume Bars\"</span><span class=\"token punctuation\">,</span> group<span class=\"token operator\">=</span><span class=\"token string\">\"Volume Bars\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"37\"></td><td><pre></pre></td></tr><tr><td data-num=\"38\"></td><td><pre>showTrend <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Show Volume Trend\"</span><span class=\"token punctuation\">,</span> group<span class=\"token operator\">=</span><span class=\"token string\">\"Volume Trend\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"39\"></td><td><pre>trend_ma_length <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Volume Trend SMA length\"</span><span class=\"token punctuation\">,</span> type<span class=\"token operator\">=</span>input<span class=\"token punctuation\">.</span>integer<span class=\"token punctuation\">,</span> group<span class=\"token operator\">=</span><span class=\"token string\">\"Volume Trend\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"40\"></td><td><pre></pre></td></tr><tr><td data-num=\"41\"></td><td><pre>strong_volume_weighting_factor <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">0.8</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Strong volume weighting factor\"</span><span class=\"token punctuation\">,</span> type<span class=\"token operator\">=</span>input<span class=\"token punctuation\">.</span>float<span class=\"token punctuation\">,</span> minval<span class=\"token operator\">=</span><span class=\"token number\">0.0</span><span class=\"token punctuation\">,</span> maxval<span class=\"token operator\">=</span><span class=\"token number\">1.0</span><span class=\"token punctuation\">,</span>step<span class=\"token operator\">=</span><span class=\"token number\">0.1</span><span class=\"token punctuation\">,</span> group<span class=\"token operator\">=</span><span class=\"token string\">\"Volume Trend weighting factor\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"42\"></td><td><pre>weak_volume_weighting_factor <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">0.4</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Weak volume weighting factor\"</span><span class=\"token punctuation\">,</span> type<span class=\"token operator\">=</span>input<span class=\"token punctuation\">.</span>float<span class=\"token punctuation\">,</span> minval<span class=\"token operator\">=</span><span class=\"token number\">0.0</span><span class=\"token punctuation\">,</span> maxval<span class=\"token operator\">=</span><span class=\"token number\">1.0</span><span class=\"token punctuation\">,</span>step<span class=\"token operator\">=</span><span class=\"token number\">0.1</span><span class=\"token punctuation\">,</span> group<span class=\"token operator\">=</span><span class=\"token string\">\"Volume Trend weighting factor\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"43\"></td><td><pre>neutral_volume_weighting_factor <span class=\"token operator\">=</span> <span class=\"token number\">1</span></pre></td></tr><tr><td data-num=\"44\"></td><td><pre></pre></td></tr><tr><td data-num=\"45\"></td><td><pre><span class=\"token comment\">// candlestick pattern variables</span></pre></td></tr><tr><td data-num=\"46\"></td><td><pre>C_Len <span class=\"token operator\">=</span> <span class=\"token number\">10</span> <span class=\"token comment\">// ema depth for bodyAvg</span></pre></td></tr><tr><td data-num=\"47\"></td><td><pre>C_ShadowPercent <span class=\"token operator\">=</span> <span class=\"token number\">5.0</span> <span class=\"token comment\">// size of shadows</span></pre></td></tr><tr><td data-num=\"48\"></td><td><pre>C_ShadowEqualsPercent <span class=\"token operator\">=</span> <span class=\"token number\">100.0</span></pre></td></tr><tr><td data-num=\"49\"></td><td><pre>C_DojiBodyPercent <span class=\"token operator\">=</span> <span class=\"token number\">8.5</span></pre></td></tr><tr><td data-num=\"50\"></td><td><pre>C_Factor <span class=\"token operator\">=</span> <span class=\"token number\">2.0</span> <span class=\"token comment\">// shows the number of times the shadow dominates the candlestick body</span></pre></td></tr><tr><td data-num=\"51\"></td><td><pre></pre></td></tr><tr><td data-num=\"52\"></td><td><pre>C_BodyHi <span class=\"token operator\">=</span> <span class=\"token function\">max</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> open<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"53\"></td><td><pre>C_BodyLo <span class=\"token operator\">=</span> <span class=\"token function\">min</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> open<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"54\"></td><td><pre>C_Body <span class=\"token operator\">=</span> C_BodyHi <span class=\"token operator\">-</span> C_BodyLo</pre></td></tr><tr><td data-num=\"55\"></td><td><pre>C_BodyAvg <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>C_Body<span class=\"token punctuation\">,</span> C_Len<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"56\"></td><td><pre>C_SmallBody <span class=\"token operator\">=</span> C_Body <span class=\"token operator\">&lt;</span> C_BodyAvg</pre></td></tr><tr><td data-num=\"57\"></td><td><pre>C_LongBody <span class=\"token operator\">=</span> C_Body <span class=\"token operator\">></span> C_BodyAvg</pre></td></tr><tr><td data-num=\"58\"></td><td><pre>C_UpShadow <span class=\"token operator\">=</span> high <span class=\"token operator\">-</span> C_BodyHi</pre></td></tr><tr><td data-num=\"59\"></td><td><pre>C_DnShadow <span class=\"token operator\">=</span> C_BodyLo <span class=\"token operator\">-</span> low</pre></td></tr><tr><td data-num=\"60\"></td><td><pre>C_HasUpShadow <span class=\"token operator\">=</span> C_UpShadow <span class=\"token operator\">></span> C_ShadowPercent <span class=\"token operator\">/</span> <span class=\"token number\">100</span> <span class=\"token operator\">*</span> C_Body</pre></td></tr><tr><td data-num=\"61\"></td><td><pre>C_HasDnShadow <span class=\"token operator\">=</span> C_DnShadow <span class=\"token operator\">></span> C_ShadowPercent <span class=\"token operator\">/</span> <span class=\"token number\">100</span> <span class=\"token operator\">*</span> C_Body</pre></td></tr><tr><td data-num=\"62\"></td><td><pre>C_WhiteBody <span class=\"token operator\">=</span> open <span class=\"token operator\">&lt;</span> close</pre></td></tr><tr><td data-num=\"63\"></td><td><pre>C_BlackBody <span class=\"token operator\">=</span> open <span class=\"token operator\">></span> close</pre></td></tr><tr><td data-num=\"64\"></td><td><pre>C_Range <span class=\"token operator\">=</span> high<span class=\"token operator\">-</span>low</pre></td></tr><tr><td data-num=\"65\"></td><td><pre>C_IsInsideBar <span class=\"token operator\">=</span> C_BodyHi<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">></span> C_BodyHi and C_BodyLo<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">&lt;</span> C_BodyLo</pre></td></tr><tr><td data-num=\"66\"></td><td><pre>C_BodyMiddle <span class=\"token operator\">=</span> C_Body <span class=\"token operator\">/</span> <span class=\"token number\">2</span> <span class=\"token operator\">+</span> C_BodyLo</pre></td></tr><tr><td data-num=\"67\"></td><td><pre>C_ShadowEquals <span class=\"token operator\">=</span> C_UpShadow <span class=\"token operator\">==</span> C_DnShadow <span class=\"token function\">or</span> <span class=\"token punctuation\">(</span><span class=\"token function\">abs</span><span class=\"token punctuation\">(</span>C_UpShadow <span class=\"token operator\">-</span> C_DnShadow<span class=\"token punctuation\">)</span> <span class=\"token operator\">/</span> C_DnShadow <span class=\"token operator\">*</span> <span class=\"token number\">100</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;</span> C_ShadowEqualsPercent <span class=\"token function\">and</span> <span class=\"token punctuation\">(</span><span class=\"token function\">abs</span><span class=\"token punctuation\">(</span>C_DnShadow <span class=\"token operator\">-</span> C_UpShadow<span class=\"token punctuation\">)</span> <span class=\"token operator\">/</span> C_UpShadow <span class=\"token operator\">*</span> <span class=\"token number\">100</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;</span> C_ShadowEqualsPercent</pre></td></tr><tr><td data-num=\"68\"></td><td><pre>C_IsDojiBody <span class=\"token operator\">=</span> C_Range <span class=\"token operator\">></span> <span class=\"token number\">0</span> and C_Body <span class=\"token operator\">&lt;=</span> C_Range <span class=\"token operator\">*</span> C_DojiBodyPercent <span class=\"token operator\">/</span> <span class=\"token number\">100</span></pre></td></tr><tr><td data-num=\"69\"></td><td><pre>C_Doji <span class=\"token operator\">=</span> C_IsDojiBody and C_ShadowEquals</pre></td></tr><tr><td data-num=\"70\"></td><td><pre></pre></td></tr><tr><td data-num=\"71\"></td><td><pre></pre></td></tr><tr><td data-num=\"72\"></td><td><pre></pre></td></tr><tr><td data-num=\"73\"></td><td><pre><span class=\"token comment\">// candlestick pattern recognition</span></pre></td></tr><tr><td data-num=\"74\"></td><td><pre></pre></td></tr><tr><td data-num=\"75\"></td><td><pre><span class=\"token comment\">// Neutral Doji</span></pre></td></tr><tr><td data-num=\"76\"></td><td><pre>C_DragonflyDoji <span class=\"token operator\">=</span> C_IsDojiBody and C_UpShadow <span class=\"token operator\">&lt;=</span> C_Body</pre></td></tr><tr><td data-num=\"77\"></td><td><pre>C_GravestoneDojiOne <span class=\"token operator\">=</span> C_IsDojiBody and C_DnShadow <span class=\"token operator\">&lt;=</span> C_Body</pre></td></tr><tr><td data-num=\"78\"></td><td><pre>is_Doji <span class=\"token operator\">=</span> C_Doji and not C_DragonflyDoji and not C_GravestoneDojiOne</pre></td></tr><tr><td data-num=\"79\"></td><td><pre></pre></td></tr><tr><td data-num=\"80\"></td><td><pre><span class=\"token comment\">// LongLowerShadowInput</span></pre></td></tr><tr><td data-num=\"81\"></td><td><pre>C_LongLowerShadowPercent <span class=\"token operator\">=</span> <span class=\"token number\">55.0</span></pre></td></tr><tr><td data-num=\"82\"></td><td><pre>C_LongLowerShadowBullish <span class=\"token operator\">=</span> C_DnShadow <span class=\"token operator\">></span> C_Range<span class=\"token operator\">/</span><span class=\"token number\">100</span><span class=\"token operator\">*</span>C_LongLowerShadowPercent</pre></td></tr><tr><td data-num=\"83\"></td><td><pre></pre></td></tr><tr><td data-num=\"84\"></td><td><pre><span class=\"token comment\">// LongUpperShadowInput</span></pre></td></tr><tr><td data-num=\"85\"></td><td><pre>C_LongShadowPercent <span class=\"token operator\">=</span> <span class=\"token number\">55.0</span></pre></td></tr><tr><td data-num=\"86\"></td><td><pre>C_LongUpperShadowBearish <span class=\"token operator\">=</span> C_UpShadow <span class=\"token operator\">></span> C_Range<span class=\"token operator\">/</span><span class=\"token number\">100</span><span class=\"token operator\">*</span>C_LongShadowPercent</pre></td></tr><tr><td data-num=\"87\"></td><td><pre></pre></td></tr><tr><td data-num=\"88\"></td><td><pre><span class=\"token comment\">// Bullish</span></pre></td></tr><tr><td data-num=\"89\"></td><td><pre>is_Bullish_strong <span class=\"token operator\">=</span> C_WhiteBody <span class=\"token function\">and</span> <span class=\"token punctuation\">(</span>C_LongLowerShadowBullish or C_LongBody<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"90\"></td><td><pre>is_Bullish_weak <span class=\"token operator\">=</span> C_LongLowerShadowBullish <span class=\"token function\">or</span> <span class=\"token punctuation\">(</span>C_WhiteBody <span class=\"token function\">and</span> <span class=\"token punctuation\">(</span>C_Body<span class=\"token operator\">>=</span><span class=\"token number\">0.45</span><span class=\"token operator\">*</span>C_UpShadow or C_Body<span class=\"token operator\">&lt;=</span><span class=\"token number\">0.55</span><span class=\"token operator\">*</span>C_UpShadow<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"91\"></td><td><pre><span class=\"token comment\">// Bearish</span></pre></td></tr><tr><td data-num=\"92\"></td><td><pre>is_Bearish_strong <span class=\"token operator\">=</span> C_BlackBody <span class=\"token function\">and</span> <span class=\"token punctuation\">(</span>C_LongUpperShadowBearish or C_LongBody<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"93\"></td><td><pre>is_Bearish_weak <span class=\"token operator\">=</span> C_LongUpperShadowBearish <span class=\"token function\">or</span> <span class=\"token punctuation\">(</span>C_BlackBody <span class=\"token function\">and</span> <span class=\"token punctuation\">(</span>C_Body<span class=\"token operator\">>=</span><span class=\"token number\">0.45</span><span class=\"token operator\">*</span>C_UpShadow or C_Body<span class=\"token operator\">&lt;=</span><span class=\"token number\">0.55</span><span class=\"token operator\">*</span>C_UpShadow<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"94\"></td><td><pre></pre></td></tr><tr><td data-num=\"95\"></td><td><pre></pre></td></tr><tr><td data-num=\"96\"></td><td><pre><span class=\"token comment\">// calculate weighting volume</span></pre></td></tr><tr><td data-num=\"97\"></td><td><pre>weight_bullish <span class=\"token operator\">=</span> <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Doji<span class=\"token punctuation\">,</span> neutral_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"98\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bullish_strong<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token operator\">+</span>strong_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"99\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bearish_strong<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token operator\">-</span>strong_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"100\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bullish_weak<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token operator\">+</span>weak_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"101\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bearish_weak<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token operator\">-</span>weak_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"102\"></td><td><pre>     neutral_volume_weighting_factor<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"103\"></td><td><pre></pre></td></tr><tr><td data-num=\"104\"></td><td><pre>weight_bearish <span class=\"token operator\">=</span> <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Doji<span class=\"token punctuation\">,</span> neutral_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"105\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bullish_strong<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token operator\">-</span>strong_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"106\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bearish_strong<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token operator\">+</span>strong_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"107\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bullish_weak<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token operator\">-</span>weak_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"108\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bearish_weak<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token operator\">+</span>weak_volume_weighting_factor<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"109\"></td><td><pre>     neutral_volume_weighting_factor<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"110\"></td><td><pre></pre></td></tr><tr><td data-num=\"111\"></td><td><pre>volume_bullish <span class=\"token operator\">=</span> volume <span class=\"token operator\">*</span> weight_bullish</pre></td></tr><tr><td data-num=\"112\"></td><td><pre>volume_bearish <span class=\"token operator\">=</span> volume <span class=\"token operator\">*</span> weight_bearish</pre></td></tr><tr><td data-num=\"113\"></td><td><pre></pre></td></tr><tr><td data-num=\"114\"></td><td><pre>bullish_sma <span class=\"token operator\">=</span> showTrend <span class=\"token operator\">?</span> <span class=\"token function\">sma</span><span class=\"token punctuation\">(</span>volume_bullish<span class=\"token punctuation\">,</span> trend_ma_length<span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> na</pre></td></tr><tr><td data-num=\"115\"></td><td><pre>bearish_sma <span class=\"token operator\">=</span> showTrend <span class=\"token operator\">?</span> <span class=\"token function\">sma</span><span class=\"token punctuation\">(</span>volume_bearish<span class=\"token punctuation\">,</span> trend_ma_length<span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> na</pre></td></tr><tr><td data-num=\"116\"></td><td><pre></pre></td></tr><tr><td data-num=\"117\"></td><td><pre><span class=\"token comment\">// plot</span></pre></td></tr><tr><td data-num=\"118\"></td><td><pre>blue <span class=\"token operator\">=</span> color<span class=\"token punctuation\">.</span>blue</pre></td></tr><tr><td data-num=\"119\"></td><td><pre>green <span class=\"token operator\">=</span> color<span class=\"token punctuation\">.</span>green</pre></td></tr><tr><td data-num=\"120\"></td><td><pre>red <span class=\"token operator\">=</span> color<span class=\"token punctuation\">.</span>red</pre></td></tr><tr><td data-num=\"121\"></td><td><pre>light_green <span class=\"token operator\">=</span> #afd4ab</pre></td></tr><tr><td data-num=\"122\"></td><td><pre>light_red <span class=\"token operator\">=</span> #e39e9c</pre></td></tr><tr><td data-num=\"123\"></td><td><pre>neutral <span class=\"token operator\">=</span> color<span class=\"token punctuation\">.</span>gray</pre></td></tr><tr><td data-num=\"124\"></td><td><pre></pre></td></tr><tr><td data-num=\"125\"></td><td><pre>palette <span class=\"token operator\">=</span> <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Doji<span class=\"token punctuation\">,</span> blue<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"126\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bullish_strong<span class=\"token punctuation\">,</span> green<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"127\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bearish_strong<span class=\"token punctuation\">,</span> red<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"128\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bullish_weak<span class=\"token punctuation\">,</span> light_green<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"129\"></td><td><pre>     <span class=\"token function\">iff</span><span class=\"token punctuation\">(</span>is_Bearish_weak<span class=\"token punctuation\">,</span> light_red<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"130\"></td><td><pre>     neutral<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"131\"></td><td><pre></pre></td></tr><tr><td data-num=\"132\"></td><td><pre>original_color <span class=\"token operator\">=</span> close<span class=\"token operator\">></span>open<span class=\"token operator\">?</span>green<span class=\"token operator\">:</span>red</pre></td></tr><tr><td data-num=\"133\"></td><td><pre></pre></td></tr><tr><td data-num=\"134\"></td><td><pre><span class=\"token comment\">// plot volume bars</span></pre></td></tr><tr><td data-num=\"135\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>showVolume<span class=\"token operator\">?</span> volume <span class=\"token operator\">:</span> na<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">'volume'</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>showColor<span class=\"token operator\">?</span>palette<span class=\"token operator\">:</span>original_color<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"136\"></td><td><pre>     style<span class=\"token operator\">=</span>plot<span class=\"token punctuation\">.</span>style_columns<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span>showColor<span class=\"token operator\">?</span><span class=\"token number\">10</span><span class=\"token operator\">:</span><span class=\"token number\">35</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"137\"></td><td><pre></pre></td></tr><tr><td data-num=\"138\"></td><td><pre><span class=\"token comment\">// plot volume trend SMA</span></pre></td></tr><tr><td data-num=\"139\"></td><td><pre>p1 <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>bullish_sma<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"Bullish Volume Trend\"</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"140\"></td><td><pre>     linewidth<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>green<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span><span class=\"token number\">0</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"141\"></td><td><pre>p2 <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>bearish_sma<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"Bearish Volume Trend\"</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"142\"></td><td><pre>     linewidth<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>red<span class=\"token punctuation\">,</span>   transp<span class=\"token operator\">=</span><span class=\"token number\">0</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"143\"></td><td><pre></pre></td></tr><tr><td data-num=\"144\"></td><td><pre><span class=\"token comment\">// fill area between volume trend</span></pre></td></tr><tr><td data-num=\"145\"></td><td><pre><span class=\"token function\">fill</span><span class=\"token punctuation\">(</span>p1<span class=\"token punctuation\">,</span> p2<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>bullish_sma<span class=\"token operator\">></span>bearish_sma<span class=\"token operator\">?</span>green<span class=\"token operator\">:</span>red<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span><span class=\"token number\">75</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"146\"></td><td><pre></pre></td></tr><tr><td data-num=\"147\"></td><td><pre><span class=\"token comment\">// add bgcolor to highlight large volume</span></pre></td></tr><tr><td data-num=\"148\"></td><td><pre>is_large_volume <span class=\"token operator\">=</span> volume <span class=\"token operator\">></span> <span class=\"token number\">2.25</span> <span class=\"token operator\">*</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>volume<span class=\"token punctuation\">,</span> <span class=\"token number\">14</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"149\"></td><td><pre><span class=\"token function\">bgcolor</span><span class=\"token punctuation\">(</span>is_large_volume<span class=\"token operator\">?</span>palette<span class=\"token operator\">:</span>na<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span><span class=\"token number\">90</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">'Highlight large volume'</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "wtt",
                "WTT Volume"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/EMA21%20Speed%20&%20Accel/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/EMA21%20Speed%20&%20Accel/",
            "title": "EMA21 Speed & Accel",
            "date_published": "2025-03-02T07:38:29.618Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"Saltapones\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/script/omlpqq5X/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/09/05/8LE4OlZq5Un3Ykh.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/omlpqq5X/\" class=\"title\">EMA21 Speed & Accel</a>\n        <p class=\"desc\">The script calculates an plots first and second derivatives of a EMA of \"length\" periods, with a default value of 21 periods.</p>\n        </div></div></div></p>\n<p>Aug 18, 2020The script calculates an plots first and second derivatives of a EMA of &quot;length&quot; periods, with a default value of 21 periods.</p>\n<ul>\n<li>Blue curve is the first derivative of the EMA, which can be interpreted as the &quot;speed&quot; , &quot;slope&quot;, or percentage of gains (or loses) walking over the EMA, measured in % per period. If timeframe is Days, it will show a %/day on the scale @ the right of graphic.</li>\n<li>Fuchsia curve is the second derivative of the EMA, and can be assumed to be the &quot;acceleration&quot; or driving force that could augment or diminish the EMA Speed.</li>\n</ul>\n<p>When Speed &amp; Acceleration ar both &gt;=0, EMA is in positive rally, and becoming stepper, so the bacground is colored green.</p>\n<p>First and second derivatoves are performed using &quot;basis functions&quot;, as are applied in FEM implementation.</p>\n<hr />\n<p>El Script calcula y plotea la primera y segunga derivada de una EMA de &quot;length&quot; períodos, con un valor por defecto de 21.</p>\n<ul>\n<li>La curva azul es la primera derivada de la EMA; que puede ser interpretada conmo su &quot;velocidad&quot;, &quot;pendiente&quot; o % de ganancia o pérdida que se tendría sobre la EMA. Cuando la unidad de tiempo del gráfico es Días, permite visualizar en la escala de la derecha el % de ganancia o pérdida por día.</li>\n<li>La curva Fucsia muestra la segunda derivada, o &quot;Aceleración&quot;, que se puede interpretar como la fuerza que puede aumentar o dismu¿inuir la pendiente de la EMA.</li>\n</ul>\n<p>Cuando la Velocidad y Aceleración son mayores que cero, las ganancias aumentan cada período, y el findo de colorea de verde.</p>\n<p>Las derivadas primera y segunda se calculan usando técnicas de funciones de forma, como las aplicadas en el MEF.</p>\n<p>Oct 5, 2020</p>\n<p>Release Notes</p>\n<p>Scale of EMA Acceleration (curvature) is calculated automatically</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">//@version=4</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token function\">study</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"EMA21 Speed &amp; Accel\"</span><span class=\"token punctuation\">,</span> overlay<span class=\"token operator\">=</span><span class=\"token boolean\">false</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token comment\">// Variable definition</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre><span class=\"token constant\">NP</span> <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> minval<span class=\"token operator\">=</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"Number of Periods to use in finite difference derivatives\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token comment\">//  CURVSC = input(0.1, minval=0, title=\"Accel Plot Scale\")  // Not used in this release</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre>len1 <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">21</span><span class=\"token punctuation\">,</span> minval<span class=\"token operator\">=</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA Length\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre>out1 <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> len1<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre><span class=\"token comment\">// background color when speed &amp; acceleration are >=0</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre>verdeclaro<span class=\"token operator\">=</span>#98FB98</pre></td></tr><tr><td data-num=\"11\"></td><td><pre>blanco<span class=\"token operator\">=</span>#<span class=\"token constant\">FFFFFF</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre><span class=\"token comment\">// SLOW MA Derivative (Speed in %/Period) Calculation (over NP periods)</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"15\"></td><td><pre><span class=\"token constant\">SMAS</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">1.50</span><span class=\"token operator\">*</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> len1<span class=\"token punctuation\">)</span><span class=\"token operator\">-</span><span class=\"token number\">2</span><span class=\"token operator\">*</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">[</span><span class=\"token constant\">NP</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span> len1<span class=\"token punctuation\">)</span><span class=\"token operator\">+</span><span class=\"token number\">0.5</span><span class=\"token operator\">*</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token operator\">*</span><span class=\"token constant\">NP</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span> len1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token operator\">/</span><span class=\"token punctuation\">(</span><span class=\"token constant\">NP</span><span class=\"token operator\">*</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> len1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>  <span class=\"token comment\">// derivada con tres puntos</span></pre></td></tr><tr><td data-num=\"16\"></td><td><pre><span class=\"token comment\">// Se plotea SMASMA para suavizar un poco</span></pre></td></tr><tr><td data-num=\"17\"></td><td><pre><span class=\"token constant\">SMASMA</span> <span class=\"token operator\">=</span> <span class=\"token function\">sma</span><span class=\"token punctuation\">(</span><span class=\"token constant\">SMAS</span><span class=\"token punctuation\">,</span> <span class=\"token number\">5</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"19\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span><span class=\"token function\">max</span><span class=\"token punctuation\">(</span><span class=\"token constant\">SMASMA</span><span class=\"token operator\">*</span><span class=\"token number\">100</span><span class=\"token punctuation\">,</span><span class=\"token operator\">-</span><span class=\"token number\">5</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"%-per-day\"</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>blue<span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">3</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"20\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"21\"></td><td><pre><span class=\"token comment\">// SMAS Derivative (Curvature = acceleration in %/period/period )  = Speed derivative = Acceleration</span></pre></td></tr><tr><td data-num=\"22\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"23\"></td><td><pre><span class=\"token constant\">CURV</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> len1<span class=\"token punctuation\">)</span><span class=\"token operator\">-</span><span class=\"token number\">2</span><span class=\"token operator\">*</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">[</span><span class=\"token constant\">NP</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span> len1<span class=\"token punctuation\">)</span><span class=\"token operator\">+</span><span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token operator\">*</span><span class=\"token constant\">NP</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span> len1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token operator\">/</span><span class=\"token punctuation\">(</span><span class=\"token constant\">NP</span><span class=\"token operator\">*</span><span class=\"token constant\">NP</span><span class=\"token punctuation\">)</span>  <span class=\"token comment\">// derivada SEGUNDA con tres puntos</span></pre></td></tr><tr><td data-num=\"24\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"25\"></td><td><pre><span class=\"token constant\">CURVMA</span> <span class=\"token operator\">=</span> <span class=\"token function\">sma</span><span class=\"token punctuation\">(</span><span class=\"token constant\">CURV</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"26\"></td><td><pre><span class=\"token comment\">// Scale Curvature</span></pre></td></tr><tr><td data-num=\"27\"></td><td><pre>maxslope<span class=\"token operator\">=</span><span class=\"token function\">highest</span><span class=\"token punctuation\">(</span><span class=\"token constant\">SMASMA</span><span class=\"token punctuation\">,</span><span class=\"token number\">200</span><span class=\"token punctuation\">)</span><span class=\"token operator\">*</span><span class=\"token number\">100</span></pre></td></tr><tr><td data-num=\"28\"></td><td><pre>maxcurvature<span class=\"token operator\">=</span><span class=\"token function\">highest</span><span class=\"token punctuation\">(</span><span class=\"token constant\">CURVMA</span><span class=\"token punctuation\">,</span><span class=\"token number\">200</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"29\"></td><td><pre>scale<span class=\"token operator\">=</span><span class=\"token number\">1</span><span class=\"token operator\">*</span>maxslope<span class=\"token operator\">/</span>maxcurvature</pre></td></tr><tr><td data-num=\"30\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"31\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span><span class=\"token function\">iff</span><span class=\"token punctuation\">(</span><span class=\"token constant\">CURVMA</span><span class=\"token operator\">></span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token function\">min</span><span class=\"token punctuation\">(</span><span class=\"token constant\">CURVMA</span><span class=\"token operator\">*</span>scale<span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token function\">max</span><span class=\"token punctuation\">(</span><span class=\"token constant\">CURVMA</span><span class=\"token operator\">*</span>scale<span class=\"token punctuation\">,</span><span class=\"token operator\">-</span><span class=\"token number\">5</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"CURV\"</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>fuchsia<span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"32\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"33\"></td><td><pre><span class=\"token comment\">// Colorear verde claro u oscuro en función de CURV >=0 and/or SMASMA >=0</span></pre></td></tr><tr><td data-num=\"34\"></td><td><pre><span class=\"token comment\">//</span></pre></td></tr><tr><td data-num=\"35\"></td><td><pre><span class=\"token function\">bgcolor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token constant\">CURVMA</span><span class=\"token operator\">>=</span><span class=\"token number\">0</span> and <span class=\"token constant\">SMASMA</span><span class=\"token operator\">>=</span><span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> verdeclaro <span class=\"token operator\">:</span> blanco<span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"36\"></td><td><pre> transp<span class=\"token operator\">=</span><span class=\"token number\">40</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"37\"></td><td><pre><span class=\"token comment\">//  Se plotea el eje de abscisas</span></pre></td></tr><tr><td data-num=\"38\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"0\"</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>black<span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "EMA21"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/EMA50,%20EMA100,%20EMA200/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/EMA50,%20EMA100,%20EMA200/",
            "title": "EMA50, EMA100, EMA200",
            "date_published": "2025-03-02T07:38:29.618Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"ali_011\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/script/cChWMejJ/\" class=\"image\" data-background-image=\"/assets/404.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/cChWMejJ/\" class=\"title\">EMA50, EMA100, EMA200</a>\n        <p class=\"desc\">EMA50, EMA100, EMA200</p>\n        </div></div></div></p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">//For TRI'ers with a stinky trading view account.</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token comment\">//Some reccomended moving averages including the institutional moving averages.</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token comment\">//Much love to Brian for changing our lives.</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token function\">study</span><span class=\"token punctuation\">(</span>title<span class=\"token operator\">=</span><span class=\"token string\">\"Moving Averages: EMA50, EMA100, EMA200\"</span><span class=\"token punctuation\">,</span> shorttitle<span class=\"token operator\">=</span><span class=\"token string\">\"EMA50, EMA100, EMA200\"</span><span class=\"token punctuation\">,</span> overlay<span class=\"token operator\">=</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre></pre></td></tr><tr><td data-num=\"7\"></td><td><pre>src <span class=\"token operator\">=</span> close</pre></td></tr><tr><td data-num=\"8\"></td><td><pre></pre></td></tr><tr><td data-num=\"9\"></td><td><pre>ema50 <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>src<span class=\"token punctuation\">,</span> <span class=\"token number\">50</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre>ema100 <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>src<span class=\"token punctuation\">,</span> <span class=\"token number\">100</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre>ema200 <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>src<span class=\"token punctuation\">,</span> <span class=\"token number\">200</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre></pre></td></tr><tr><td data-num=\"13\"></td><td><pre></pre></td></tr><tr><td data-num=\"14\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span> ema50<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>red<span class=\"token punctuation\">,</span> style<span class=\"token operator\">=</span>line<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA50\"</span><span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"15\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span> ema100<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>black<span class=\"token punctuation\">,</span> style<span class=\"token operator\">=</span>line<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA100\"</span><span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"16\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span> ema200<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>green<span class=\"token punctuation\">,</span> style<span class=\"token operator\">=</span>line<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA200\"</span><span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "EMA50",
                "EMA100",
                "EMA200"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/HOW-TO%20use%20Zero-Lag%20EMA%2021%20to%20track%20Bitcoin%20Trend%20($M%20Eric)/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/HOW-TO%20use%20Zero-Lag%20EMA%2021%20to%20track%20Bitcoin%20Trend%20($M%20Eric)/",
            "title": "HOW-TO use Zero-Lag EMA 21 to track Bitcoin Trend ($M Eric)",
            "date_published": "2025-03-02T07:38:29.618Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"blackcat1402\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/chart/BTCUSDT/OGX5QOA6-HOW-TO-use-Zero-Lag-EMA-21-to-track-Bitcoin-Trend-M-Eric/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/09/05/zGEnkqC39bIUDN7.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/chart/BTCUSDT/OGX5QOA6-HOW-TO-use-Zero-Lag-EMA-21-to-track-Bitcoin-Trend-M-Eric/\" class=\"title\">HOW-TO use Zero-Lag EMA 21 to track Bitcoin Trend ($M Eric)</a>\n        <p class=\"desc\">The Zero-Lag EMA Band is calculated by taking the standard deviation of the price data and adding or subtracting it from the Zero-Lag EMA to create an upper band and a lower band. This process results in a trend band that can help traders identify potential support and resistance levels, providing them with a more accurate assessment of the market's behavior.</p>\n        </div></div></div></p>\n<p>This idea is from Million Eric on X. I am his follower and try to convert his idea into a Pine Script with my understanding of technical indicators. The Zero-Lag EMA Band is a sophisticated technical analysis tool designed to provide traders with a comprehensive view of market trends. This innovative indicator merges the Zero-Lag EMA, a derivative of the traditional Exponential Moving Average, with Bollinger Bands to create a unique trend indicator that is less laggy and more responsive to market changes.</p>\n<p>The Zero-Lag EMA Band is calculated by taking the standard deviation of the price data and adding or subtracting it from the Zero-Lag EMA to create an upper band and a lower band. This process results in a trend band that can help traders identify potential support and resistance levels, providing them with a more accurate assessment of the market's behavior.</p>\n<p>The Zero-Lag EMA Band is particularly useful for traders who need to react quickly to market changes. It offers a more timely assessment of potential trend reversals, allowing traders to capitalize on market opportunities and mitigate risk.</p>\n<p>The indicator's design is based on the principle of Zero-Lag, which aims to reduce the lag associated with traditional EMAs. This feature makes the Zero-Lag EMA Band a powerful tool for traders who want to stay ahead of the market and make more informed decisions.</p>\n<p>In summary, the Zero-Lag EMA Band is a comprehensive and responsive tool for traders looking to identify and capitalize on market trends. It is a valuable addition to any trader's toolkit, offering a more accurate and timely assessment of potential trend reversals and providing a more comprehensive view of the market's behavior.</p>\n<p>Certainly! Let's go through the Pine Script code line by line to understand its functionality:</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">//@version=5</span></pre></td></tr></table></figure><p>This line specifies the version of Pine Script being used. In this case, it's version 5.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">indicator</span><span class=\"token punctuation\">(</span><span class=\"token string\">'[blackcat] L1 Zero-Lag EMA Band'</span><span class=\"token punctuation\">,</span> shorttitle<span class=\"token operator\">=</span><span class=\"token string\">'L1 ZLEMA Band'</span><span class=\"token punctuation\">,</span> overlay<span class=\"token operator\">=</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure><p>This line defines the indicator with a title and a short title. The  <code>overlay=true</code>  parameter means that the indicator will be plotted on top of the price data.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>length <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">int</span><span class=\"token punctuation\">(</span><span class=\"token number\">21</span><span class=\"token punctuation\">,</span> minval<span class=\"token operator\">=</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">'Length'</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure><p>This line creates an input field for the user to specify the length of the EMA. The default value is 21, and the minimum value is 1.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>mult <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">'Multiplier'</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure><p>This line creates an input field for the user to specify the multiplier for the standard deviation, which is used to calculate the bands around the EMA. The default value is 1.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>src <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">source</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"Source\"</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure><p>This line creates an input field for the user to specify the data source for the EMA calculation. The default value is the closing price of the asset.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// Define the smoothing factor (alpha) for the EMA</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre>alpha <span class=\"token operator\">=</span> <span class=\"token number\">2</span> <span class=\"token operator\">/</span> <span class=\"token punctuation\">(</span>length <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure><p>This line calculates the smoothing factor alpha for the EMA. It's a common formula for EMA calculation.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// Initialize a variable to store the previous EMA value</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token keyword\">var</span> float prevEMA <span class=\"token operator\">=</span> na</pre></td></tr></table></figure><p>This line initializes a variable to store the previous EMA value. It's initialized as  <code>na</code>  (not a number), which means it's not yet initialized.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// Calculate the zero-lag EMA</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre>emaValue <span class=\"token operator\">=</span> <span class=\"token function\">na</span><span class=\"token punctuation\">(</span>prevEMA<span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">sma</span><span class=\"token punctuation\">(</span>src<span class=\"token punctuation\">,</span> length<span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> <span class=\"token punctuation\">(</span>src <span class=\"token operator\">-</span> prevEMA<span class=\"token punctuation\">)</span> \\<span class=\"token operator\">*</span> alpha <span class=\"token operator\">+</span> prevEMA</pre></td></tr></table></figure><p>This line calculates the zero-lag EMA. If  <code>prevEMA</code>  is not a number (which means it's the first calculation), it uses the simple moving average (SMA) as the initial EMA. Otherwise, it uses the standard EMA formula.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// Update the previous EMA value</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token literal-property property\">prevEMA</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> emaValue</pre></td></tr></table></figure><p>This line updates the  <code>prevEMA</code>  variable with the newly calculated EMA value. The  <code>:=</code>  operator is used to update the variable in Pine Script.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// Calculate the upper and lower bands</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre>dev <span class=\"token operator\">=</span> mult \\<span class=\"token operator\">*</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">stdev</span><span class=\"token punctuation\">(</span>src<span class=\"token punctuation\">,</span> length<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre>upperBand <span class=\"token operator\">=</span> emaValue <span class=\"token operator\">+</span> dev</pre></td></tr><tr><td data-num=\"4\"></td><td><pre>lowerBand <span class=\"token operator\">=</span> emaValue <span class=\"token operator\">-</span> dev</pre></td></tr></table></figure><p>Expand 1 line</p>\n<p>These lines calculate the upper and lower bands around the EMA. The bands are calculated by adding and subtracting the product of the multiplier and the standard deviation of the source data over the specified length.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// Plot the bands</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre>p0 <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>emaValue<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">.</span>yellow<span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre>p1 <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>upperBand<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">.</span>yellow<span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre>p2 <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>lowerBand<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">.</span>yellow<span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token function\">fill</span><span class=\"token punctuation\">(</span>p1<span class=\"token punctuation\">,</span> p2<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">.</span>fuchsia<span class=\"token punctuation\">,</span> <span class=\"token number\">80</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure><p>Expand 2 lines</p>\n<p>These lines plot the EMA value, upper band, and lower band on the chart. The  <code>fill</code>  function is used to color the area between the upper and lower bands. The  <code>color.new</code>  function is used to create a new color with a specified alpha value (transparency).</p>\n<p>In summary, this script creates an indicator that displays the zero-lag EMA and its bands on a trading chart. The user can specify the length of the EMA and the multiplier for the standard deviation. The bands are used to identify potential support and resistance levels for the asset's price.</p>\n<p>In the context of the provided Pine Script code,  <code>prevEMA</code>  is a variable used to store the previous value of the Exponential Moving Average (EMA). The EMA is a type of moving average that places a greater weight on the most recent data points. Unlike a simple moving average (SMA), which is an equal-weighted average, the EMA gives more weight to the most recent data points, which can help to smooth out short-term price fluctuations and highlight the long-term trend.</p>\n<p>The  <code>prevEMA</code>  variable is used to calculate the current EMA value. When the script runs for the first time,  <code>prevEMA</code>  will be  <code>na</code>  (not a number), indicating that there is no previous EMA value to use in the calculation. In such cases, the script falls back to using the simple moving average (SMA) as the initial EMA value.</p>\n<p>Here's a breakdown of the role of  <code>prevEMA</code> :</p>\n<ol>\n<li>\n<p><strong>Initialization</strong>: On the first bar,  <code>prevEMA</code>  is  <code>na</code> , so the script uses the SMA of the close price over the specified period as the initial EMA value.</p>\n</li>\n<li>\n<p><strong>Calculation</strong>: On subsequent bars,  <code>prevEMA</code>  holds the value of the EMA from the previous bar. This value is used in the EMA calculation to give more weight to the most recent data points.</p>\n</li>\n<li>\n<p><strong>Update</strong>: After calculating the current EMA value,  <code>prevEMA</code>  is updated with the new EMA value so it can be used in the next bar's calculation.</p>\n</li>\n</ol>\n<p>The purpose of  <code>prevEMA</code>  is to maintain the state of the EMA across different bars, ensuring that the EMA calculation is not reset to the SMA on each new bar. This is crucial for the EMA to function properly and to avoid the &quot;lag&quot; that can sometimes be associated with moving averages, especially when the length of the moving average is short.</p>\n<p>In the provided script,  <code>prevEMA</code>  is used to simulate a zero-lag EMA, but as mentioned earlier, there is no such thing as a zero-lag EMA in the traditional sense. The EMA already has a very minimal lag due to its recursive nature, and any attempt to reduce the lag further would likely not be accurate or reliable for trading purposes.</p>\n<p>Please note that the script provided is a conceptual example and may not be suitable for actual trading without further testing and validation.</p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">//@version=5</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token function\">indicator</span><span class=\"token punctuation\">(</span><span class=\"token string\">'[blackcat] L1 Zero-Lag EMA Band'</span><span class=\"token punctuation\">,</span> shorttitle<span class=\"token operator\">=</span><span class=\"token string\">'L1 ZLEMA Band'</span><span class=\"token punctuation\">,</span> overlay<span class=\"token operator\">=</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre></pre></td></tr><tr><td data-num=\"5\"></td><td><pre>length <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">int</span><span class=\"token punctuation\">(</span><span class=\"token number\">21</span><span class=\"token punctuation\">,</span> minval<span class=\"token operator\">=</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">'Length'</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre></pre></td></tr><tr><td data-num=\"7\"></td><td><pre>mult <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">'Multiplier'</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre></pre></td></tr><tr><td data-num=\"9\"></td><td><pre>src <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">source</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> title<span class=\"token operator\">=</span><span class=\"token string\">\"Source\"</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre></pre></td></tr><tr><td data-num=\"11\"></td><td><pre><span class=\"token comment\">// Define the smoothing factor (alpha) for the EMA</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre>alpha <span class=\"token operator\">=</span> <span class=\"token number\">2</span> <span class=\"token operator\">/</span> <span class=\"token punctuation\">(</span>length <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre></pre></td></tr><tr><td data-num=\"14\"></td><td><pre><span class=\"token comment\">// Initialize a variable to store the previous EMA value</span></pre></td></tr><tr><td data-num=\"15\"></td><td><pre><span class=\"token keyword\">var</span> float prevEMA <span class=\"token operator\">=</span> na</pre></td></tr><tr><td data-num=\"16\"></td><td><pre></pre></td></tr><tr><td data-num=\"17\"></td><td><pre><span class=\"token comment\">// Calculate the zero-lag EMA</span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre>emaValue <span class=\"token operator\">=</span> <span class=\"token function\">na</span><span class=\"token punctuation\">(</span>prevEMA<span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">sma</span><span class=\"token punctuation\">(</span>src<span class=\"token punctuation\">,</span> length<span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> <span class=\"token punctuation\">(</span>src <span class=\"token operator\">-</span> prevEMA<span class=\"token punctuation\">)</span> <span class=\"token operator\">*</span> alpha <span class=\"token operator\">+</span> prevEMA</pre></td></tr><tr><td data-num=\"19\"></td><td><pre></pre></td></tr><tr><td data-num=\"20\"></td><td><pre><span class=\"token comment\">// Update the previous EMA value</span></pre></td></tr><tr><td data-num=\"21\"></td><td><pre><span class=\"token literal-property property\">prevEMA</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> emaValue</pre></td></tr><tr><td data-num=\"22\"></td><td><pre></pre></td></tr><tr><td data-num=\"23\"></td><td><pre><span class=\"token comment\">// Calculate the upper and lower bands</span></pre></td></tr><tr><td data-num=\"24\"></td><td><pre>dev <span class=\"token operator\">=</span> mult <span class=\"token operator\">*</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">stdev</span><span class=\"token punctuation\">(</span>src<span class=\"token punctuation\">,</span> length<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"25\"></td><td><pre>upperBand <span class=\"token operator\">=</span> emaValue <span class=\"token operator\">+</span> dev</pre></td></tr><tr><td data-num=\"26\"></td><td><pre>lowerBand <span class=\"token operator\">=</span> emaValue <span class=\"token operator\">-</span> dev</pre></td></tr><tr><td data-num=\"27\"></td><td><pre></pre></td></tr><tr><td data-num=\"28\"></td><td><pre><span class=\"token comment\">// Plot the bands</span></pre></td></tr><tr><td data-num=\"29\"></td><td><pre>p0 <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>emaValue<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">.</span>yellow<span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"30\"></td><td><pre>p1 <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>upperBand<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">.</span>yellow<span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"31\"></td><td><pre>p2 <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>lowerBand<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">.</span>yellow<span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"32\"></td><td><pre><span class=\"token function\">fill</span><span class=\"token punctuation\">(</span>p1<span class=\"token punctuation\">,</span> p2<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">.</span>fuchsia<span class=\"token punctuation\">,</span> <span class=\"token number\">80</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "EMA21"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/MVRV%20Z%20Score%20and%20MVRV%20Free%20Float%20Z-Score/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/MVRV%20Z%20Score%20and%20MVRV%20Free%20Float%20Z-Score/",
            "title": "MVRV Z Score and MVRV Free Float Z-Score",
            "date_published": "2025-03-02T07:38:29.618Z",
            "content_html": "<h1 id=\"mvrv-z-score-and-mvrv-free-float-z-score\"><a class=\"anchor\" href=\"#mvrv-z-score-and-mvrv-free-float-z-score\">#</a> MVRV Z Score and MVRV Free Float Z-Score</h1>\n<p><div class=\"links\"><div class=\"item\" title=\"PowerScooter\" style=\"--block-color:#bc7d4c;\"><a href=\"https://tw.tradingview.com/script/v3TqVthK-MVRV-Z-Score-and-MVRV-Free-Float-Z-Score/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/08/13/bGOdNWMwhuyX7os.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://tw.tradingview.com/script/v3TqVthK-MVRV-Z-Score-and-MVRV-Free-Float-Z-Score/\" class=\"title\">MVRV Z Score and MVRV Free Float Z-Score</a>\n        <p class=\"desc\">MVRV Z Score and MVRV Free Float Z-Score</p>\n        </div></div></div></p>\n<p><strong>IMPORTANT:</strong> This script needs as much historic data as possible. Please run it on <a href=\"https://tw.tradingview.com/symbols/BTCUSD/?exchange=INDEX\">BTCUSD</a>, <a href=\"https://tw.tradingview.com/symbols/BLX/?exchange=BNC\">BLX</a> or another chart of sufficient length.</p>\n<p><strong>MVRV</strong><br />\nThe MVRV (Market Value to Realised Value Ratio) simply divides bitcoins market cap by bitcoins realized market cap. This was previously impossible on Tradingview but has now been made possible thanks to Coinmetrics providing us with the realized market cap data.<br />\nIn the free float version, the free float market cap is used instead of the regular market cap.</p>\n<p><strong>Z-Score</strong><br />\nThe MVRV Z-score divides the difference between Market cap and realized market cap by the historic standard deviation of the market cap.<br />\nHistorically, this has been insanely accurate at detecting bitcoin tops and bottoms:<br />\nA Z-Score above 7 means bitcoin is vastly overpriced and at a local top.<br />\nA Z-Score below 0.1 means bitcoin is underpriced and at a local bottom.</p>\n<p>In the free float version, the free float market cap is used instead of the regular market cap.</p>\n<p>The Z-Score, also known as the standard score is hugely popular in a wide range of mathematical and statistical fields and is usually used to measure the number of standard deviations by which the value of a raw score is above or below the mean value of what is being observed or measured.</p>\n<p><strong>Credits</strong><br />\nMVRV Z Score initially created by aweandwonder<br />\nMVRV initially created by Murad Mahmudov and David Puell</p>\n<hr />\n<h2 id=\"開源腳本\"><a class=\"anchor\" href=\"#開源腳本\">#</a> 開源腳本</h2>\n<p>在真正的 TradingView 精神中，這個腳本的作者以開源的方式發佈，這樣交易員可以理解和驗證它。請向作者致敬！您可以免費使用它，但在出版物中再次使用這段程式碼將受到<a href=\"https://tw.tradingview.com/house-rules/?solution=43000590599\">網站規則</a>的約束。 您可以收藏它以在圖表上使用。</p>\n<h2 id=\"想在圖表上使用此腳本\"><a class=\"anchor\" href=\"#想在圖表上使用此腳本\">#</a> 想在圖表上使用此腳本？</h2>\n<p>Pine Script™策略</p>\n<h2 id=\"mvrv-z-score-and-mvrv-free-float-z-score-2\"><a class=\"anchor\" href=\"#mvrv-z-score-and-mvrv-free-float-z-score-2\">#</a> MVRV Z Score and MVRV Free Float Z-Score</h2>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/  </span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token comment\">// © Powerscooter  </span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre>  </pre></td></tr><tr><td data-num=\"4\"></td><td><pre><span class=\"token comment\">//@version=5  </span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token function\">strategy</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"MVRV Z Score and MVRV Free Float Z-Score\"</span><span class=\"token punctuation\">,</span>shorttitle <span class=\"token operator\">=</span> <span class=\"token string\">\"MVRV Z Score\"</span><span class=\"token punctuation\">,</span>precision<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span>default_qty_type <span class=\"token operator\">=</span> strategy<span class=\"token punctuation\">.</span>cash<span class=\"token punctuation\">,</span> default_qty_value <span class=\"token operator\">=</span> <span class=\"token number\">100</span><span class=\"token punctuation\">,</span> initial_capital <span class=\"token operator\">=</span> <span class=\"token number\">100</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"6\"></td><td><pre><span class=\"token comment\">//Inputs  </span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre>Strategymode <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">bool</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"Strategy Mode\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"Switches between indicator and strategy mode.\"</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"8\"></td><td><pre>Calculation <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Standard\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Calculation Method\"</span><span class=\"token punctuation\">,</span>options <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"Standard\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"Free Float\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span> tooltip <span class=\"token operator\">=</span> <span class=\"token string\">\"The standard calculation uses the market cap while the free float version uses the free float market cap.\"</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"9\"></td><td><pre>Source <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Glassnode\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Market Cap Source\"</span><span class=\"token punctuation\">,</span>options <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"Glassnode\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"Coinmetrics\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"10\"></td><td><pre>Upper <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">float</span><span class=\"token punctuation\">(</span><span class=\"token number\">7.0</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"Upper Line\"</span><span class=\"token punctuation\">,</span>tooltip<span class=\"token operator\">=</span><span class=\"token string\">\"Z-Score value above which a sell signal is given, standard is 7.\"</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"11\"></td><td><pre>Lower <span class=\"token operator\">=</span> input<span class=\"token punctuation\">.</span><span class=\"token function\">float</span><span class=\"token punctuation\">(</span><span class=\"token number\">0.1</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"Lower Line\"</span><span class=\"token punctuation\">,</span>tooltip<span class=\"token operator\">=</span><span class=\"token string\">\"Z-Score value below which a buy signal is given, standard is 0.1.\"</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"12\"></td><td><pre><span class=\"token comment\">//Query  </span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre><span class=\"token constant\">MC1</span> <span class=\"token operator\">=</span> request<span class=\"token punctuation\">.</span><span class=\"token function\">security</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"GLASSNODE:BTC_MARKETCAP\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"D\"</span><span class=\"token punctuation\">,</span>close<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"14\"></td><td><pre><span class=\"token constant\">MC2</span> <span class=\"token operator\">=</span> request<span class=\"token punctuation\">.</span><span class=\"token function\">security</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"CRYPTOCAP:BTC\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"D\"</span><span class=\"token punctuation\">,</span>close<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"15\"></td><td><pre><span class=\"token constant\">MCF</span> <span class=\"token operator\">=</span> request<span class=\"token punctuation\">.</span><span class=\"token function\">security</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"COINMETRICS:BTC_MARKETCAPFF\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"D\"</span><span class=\"token punctuation\">,</span>close<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"16\"></td><td><pre><span class=\"token constant\">MCR</span> <span class=\"token operator\">=</span> request<span class=\"token punctuation\">.</span><span class=\"token function\">security</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"COINMETRICS:BTC_MARKETCAPREAL\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"D\"</span><span class=\"token punctuation\">,</span>close<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"17\"></td><td><pre><span class=\"token comment\">//Initialize var  </span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre><span class=\"token keyword\">var</span> float <span class=\"token constant\">MC</span> <span class=\"token operator\">=</span> <span class=\"token number\">0</span>  </pre></td></tr><tr><td data-num=\"19\"></td><td><pre><span class=\"token keyword\">var</span> <span class=\"token constant\">MCA</span> <span class=\"token operator\">=</span> array<span class=\"token punctuation\">.</span>new<span class=\"token operator\">&lt;</span>float<span class=\"token operator\">></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"20\"></td><td><pre><span class=\"token keyword\">var</span> float <span class=\"token constant\">MVRV</span> <span class=\"token operator\">=</span> <span class=\"token number\">0</span>  </pre></td></tr><tr><td data-num=\"21\"></td><td><pre><span class=\"token keyword\">var</span> float Zscore <span class=\"token operator\">=</span> <span class=\"token number\">0</span>  </pre></td></tr><tr><td data-num=\"22\"></td><td><pre><span class=\"token comment\">//Calculations  </span></pre></td></tr><tr><td data-num=\"23\"></td><td><pre><span class=\"token keyword\">if</span> Source<span class=\"token operator\">==</span><span class=\"token string\">\"Glassnode\"</span>  </pre></td></tr><tr><td data-num=\"24\"></td><td><pre>    <span class=\"token constant\">MC</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> <span class=\"token constant\">MC1</span>  </pre></td></tr><tr><td data-num=\"25\"></td><td><pre><span class=\"token keyword\">else</span>  </pre></td></tr><tr><td data-num=\"26\"></td><td><pre>    <span class=\"token constant\">MC</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> <span class=\"token constant\">MC2</span>  </pre></td></tr><tr><td data-num=\"27\"></td><td><pre>array<span class=\"token punctuation\">.</span><span class=\"token function\">push</span><span class=\"token punctuation\">(</span><span class=\"token constant\">MCA</span><span class=\"token punctuation\">,</span><span class=\"token constant\">MC</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"28\"></td><td><pre>StdDevA <span class=\"token operator\">=</span> array<span class=\"token punctuation\">.</span><span class=\"token function\">stdev</span><span class=\"token punctuation\">(</span><span class=\"token constant\">MCA</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"29\"></td><td><pre><span class=\"token keyword\">if</span> Calculation<span class=\"token operator\">==</span><span class=\"token string\">\"Standard\"</span>  </pre></td></tr><tr><td data-num=\"30\"></td><td><pre>    <span class=\"token constant\">MVRV</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> <span class=\"token constant\">MC</span><span class=\"token operator\">/</span><span class=\"token constant\">MCR</span>  </pre></td></tr><tr><td data-num=\"31\"></td><td><pre><span class=\"token keyword\">if</span> Calculation<span class=\"token operator\">==</span><span class=\"token string\">\"Free Float\"</span>  </pre></td></tr><tr><td data-num=\"32\"></td><td><pre>    <span class=\"token constant\">MVRV</span> <span class=\"token operator\">:</span><span class=\"token operator\">=</span> <span class=\"token constant\">MCF</span><span class=\"token operator\">/</span><span class=\"token constant\">MCR</span>  </pre></td></tr><tr><td data-num=\"33\"></td><td><pre><span class=\"token keyword\">if</span> Calculation<span class=\"token operator\">==</span><span class=\"token string\">\"Standard\"</span>    </pre></td></tr><tr><td data-num=\"34\"></td><td><pre>    Zscore <span class=\"token operator\">:</span><span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">MC</span><span class=\"token operator\">-</span><span class=\"token constant\">MCR</span><span class=\"token punctuation\">)</span><span class=\"token operator\">/</span>StdDevA  </pre></td></tr><tr><td data-num=\"35\"></td><td><pre><span class=\"token keyword\">if</span> Calculation<span class=\"token operator\">==</span><span class=\"token string\">\"Free Float\"</span>    </pre></td></tr><tr><td data-num=\"36\"></td><td><pre>    Zscore <span class=\"token operator\">:</span><span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token constant\">MCF</span><span class=\"token operator\">-</span><span class=\"token constant\">MCR</span><span class=\"token punctuation\">)</span><span class=\"token operator\">/</span>StdDevA  </pre></td></tr><tr><td data-num=\"37\"></td><td><pre><span class=\"token comment\">//Plotting  </span></pre></td></tr><tr><td data-num=\"38\"></td><td><pre>MVRVplot <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span><span class=\"token constant\">MVRV</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"MVRV\"</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>blue<span class=\"token punctuation\">,</span>transp<span class=\"token operator\">=</span><span class=\"token number\">40</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"39\"></td><td><pre>Zplot <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>Zscore<span class=\"token punctuation\">,</span> <span class=\"token string\">\"Z-score\"</span><span class=\"token punctuation\">,</span>color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>yellow<span class=\"token punctuation\">,</span>linewidth <span class=\"token operator\">=</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"40\"></td><td><pre>UpperLine <span class=\"token operator\">=</span> Zscore<span class=\"token operator\">>=</span>Upper<span class=\"token operator\">?</span>Upper<span class=\"token operator\">:</span>na  </pre></td></tr><tr><td data-num=\"41\"></td><td><pre>LowerLine <span class=\"token operator\">=</span> Zscore<span class=\"token operator\">&lt;=</span>Lower<span class=\"token operator\">?</span>Lower<span class=\"token operator\">:</span>na  </pre></td></tr><tr><td data-num=\"42\"></td><td><pre><span class=\"token comment\">//Lower and UpperLine are undefined when Zscore isn't close to them so they don't affect panel scaling.  </span></pre></td></tr><tr><td data-num=\"43\"></td><td><pre>UpperPlot <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>UpperLine<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span><span class=\"token number\">100</span><span class=\"token punctuation\">,</span> trackprice <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>red<span class=\"token punctuation\">,</span> display<span class=\"token operator\">=</span>display<span class=\"token punctuation\">.</span>all<span class=\"token operator\">-</span>display<span class=\"token punctuation\">.</span>status_line<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"44\"></td><td><pre>LowerPlot <span class=\"token operator\">=</span> <span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>LowerLine<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span><span class=\"token number\">100</span><span class=\"token punctuation\">,</span> trackprice <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>green<span class=\"token punctuation\">,</span> display<span class=\"token operator\">=</span>display<span class=\"token punctuation\">.</span>all<span class=\"token operator\">-</span>display<span class=\"token punctuation\">.</span>status_line<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"45\"></td><td><pre><span class=\"token function\">fill</span><span class=\"token punctuation\">(</span>plot1<span class=\"token operator\">=</span>Zplot<span class=\"token punctuation\">,</span>plot2<span class=\"token operator\">=</span>UpperPlot<span class=\"token punctuation\">,</span>color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>red<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span><span class=\"token number\">30</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"46\"></td><td><pre><span class=\"token function\">fill</span><span class=\"token punctuation\">(</span>plot1<span class=\"token operator\">=</span>Zplot<span class=\"token punctuation\">,</span>plot2<span class=\"token operator\">=</span>LowerPlot<span class=\"token punctuation\">,</span>color<span class=\"token operator\">=</span>color<span class=\"token punctuation\">.</span>green<span class=\"token punctuation\">,</span> transp<span class=\"token operator\">=</span><span class=\"token number\">30</span><span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"47\"></td><td><pre><span class=\"token comment\">//Order Conditions  </span></pre></td></tr><tr><td data-num=\"48\"></td><td><pre>Long <span class=\"token operator\">=</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">crossunder</span><span class=\"token punctuation\">(</span>Zscore<span class=\"token punctuation\">,</span>Lower<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"49\"></td><td><pre>TakeProfit <span class=\"token operator\">=</span> ta<span class=\"token punctuation\">.</span><span class=\"token function\">crossover</span><span class=\"token punctuation\">(</span>Zscore<span class=\"token punctuation\">,</span>Upper<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"50\"></td><td><pre><span class=\"token comment\">//Execution  </span></pre></td></tr><tr><td data-num=\"51\"></td><td><pre><span class=\"token keyword\">if</span> Long and Strategymode  </pre></td></tr><tr><td data-num=\"52\"></td><td><pre>    strategy<span class=\"token punctuation\">.</span><span class=\"token function\">entry</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Long\"</span><span class=\"token punctuation\">,</span>strategy<span class=\"token punctuation\">.</span>long<span class=\"token punctuation\">)</span>  </pre></td></tr><tr><td data-num=\"53\"></td><td><pre><span class=\"token keyword\">if</span> TakeProfit and Strategymode  </pre></td></tr><tr><td data-num=\"54\"></td><td><pre>    strategy<span class=\"token punctuation\">.</span><span class=\"token function\">close</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Long\"</span><span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "MVRV Z Score"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/EMA%2021,55,100,200%20SMA%2030,200%20by%20Niko/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/EMA%2021,55,100,200%20SMA%2030,200%20by%20Niko/",
            "title": "EMA 21,55,100,200 SMA 30,200 by Niko",
            "date_published": "2025-03-02T07:38:29.617Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"Niko\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/script/pIS9L0hR-EMA-21-55-100-200-SMA-30-200-by-Niko/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/09/04/9j5XtuBxcyIVmUa.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/pIS9L0hR-EMA-21-55-100-200-SMA-30-200-by-Niko/\" class=\"title\">EMA 21,55,100,200 SMA 30,200 by Niko</a>\n        <p class=\"desc\">EMA 21,55,100,200 SMA 30,200</p>\n        </div></div></div></p>\n<pre><code>Hi stranger,\n\nThis is my script with Exponencial moving average in my scales ( 21,55,100,200) which I use, and Simple moving average (30,200).\n\nEnjoy\n</code></pre>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function\">study</span><span class=\"token punctuation\">(</span>title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 21,55,100,200/SMA 30,200 \"</span><span class=\"token punctuation\">,</span> overlay<span class=\"token operator\">=</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre></pre></td></tr><tr><td data-num=\"3\"></td><td><pre>shortest <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> <span class=\"token number\">21</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre>short <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> <span class=\"token number\">55</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre>longer <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> <span class=\"token number\">100</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre>longest <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> <span class=\"token number\">200</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre>ma <span class=\"token operator\">=</span> <span class=\"token function\">sma</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> <span class=\"token number\">30</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre>ma1 <span class=\"token operator\">=</span> <span class=\"token function\">sma</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> <span class=\"token number\">200</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre></pre></td></tr><tr><td data-num=\"10\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>shortest<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> yellow<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>short<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> green<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>longer<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> aqua<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>longest<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> purple<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>ma<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> blue<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"15\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>ma1<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> red<span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "EMA 21,55,100,200 SMA 30,200",
                "Niko"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/TradingView/EMA21%2055%20Crossover%20Alert/",
            "url": "https://zielonanoir.github.io/2025/03/02/TradingView/EMA21%2055%20Crossover%20Alert/",
            "title": "EMA21 55 Crossover Alert",
            "date_published": "2025-03-02T07:38:29.617Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"cowboycraig\" style=\"--block-color:#1a1e24;\"><a href=\"https://www.tradingview.com/script/ZOiaexGK-EMA21-55-Crossover-Alert/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/09/05/ZTO1sqQSmlWxpvD.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://www.tradingview.com/script/ZOiaexGK-EMA21-55-Crossover-Alert/\" class=\"title\">EMA 8, 21 and SMA 50 from daily timeframe horizontal lines</a>\n        <p class=\"desc\">EMA 8, 21 and SMA 50 from daily timeframe horizontal lines</p>\n        </div></div></div></p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">//@version=1</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token function\">study</span><span class=\"token punctuation\">(</span>title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA21/55CrossoverAlert\"</span><span class=\"token punctuation\">,</span> overlay<span class=\"token operator\">=</span><span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre></pre></td></tr><tr><td data-num=\"4\"></td><td><pre><span class=\"token comment\">// Input options</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token constant\">EMA_21</span> <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span>title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 21\"</span><span class=\"token punctuation\">,</span> type<span class=\"token operator\">=</span>integer<span class=\"token punctuation\">,</span> defval<span class=\"token operator\">=</span><span class=\"token number\">21</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre><span class=\"token constant\">EMA_55</span> <span class=\"token operator\">=</span> <span class=\"token function\">input</span><span class=\"token punctuation\">(</span>title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 55\"</span><span class=\"token punctuation\">,</span> type<span class=\"token operator\">=</span>integer<span class=\"token punctuation\">,</span> defval<span class=\"token operator\">=</span><span class=\"token number\">55</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre></pre></td></tr><tr><td data-num=\"8\"></td><td><pre><span class=\"token comment\">// Calculate values</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre>Alert_EMA_21 <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> <span class=\"token constant\">EMA_21</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre>Alert_EMA_55 <span class=\"token operator\">=</span> <span class=\"token function\">ema</span><span class=\"token punctuation\">(</span>close<span class=\"token punctuation\">,</span> <span class=\"token constant\">EMA_55</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre></pre></td></tr><tr><td data-num=\"12\"></td><td><pre><span class=\"token comment\">// Create Buy/Sell Arrows</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre><span class=\"token comment\">// plotshape(Buy, color=green, style=shape.arrowup, text=\"Buy\", location=location.bottom)</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre><span class=\"token comment\">// plotshape(Sell, color=red, style=shape.arrowdown, text=\"Sell\", location=location.top)</span></pre></td></tr><tr><td data-num=\"15\"></td><td><pre></pre></td></tr><tr><td data-num=\"16\"></td><td><pre><span class=\"token comment\">// Show on Chart</span></pre></td></tr><tr><td data-num=\"17\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>Alert_EMA_21<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> white<span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">3</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"18\"></td><td><pre><span class=\"token function\">plot</span><span class=\"token punctuation\">(</span>Alert_EMA_55<span class=\"token punctuation\">,</span> color <span class=\"token operator\">=</span> lime<span class=\"token punctuation\">,</span> linewidth<span class=\"token operator\">=</span><span class=\"token number\">3</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"19\"></td><td><pre></pre></td></tr><tr><td data-num=\"20\"></td><td><pre></pre></td></tr><tr><td data-num=\"21\"></td><td><pre><span class=\"token comment\">// Create alert conditions</span></pre></td></tr><tr><td data-num=\"22\"></td><td><pre><span class=\"token function\">alertcondition</span><span class=\"token punctuation\">(</span>condition<span class=\"token operator\">=</span><span class=\"token function\">crossover</span><span class=\"token punctuation\">(</span>Alert_EMA_21<span class=\"token punctuation\">,</span> Alert_EMA_55<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"23\"></td><td><pre>     title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 21 Cross Above\"</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"24\"></td><td><pre>     message<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 21 crossed over EMA 55.\"</span></pre></td></tr><tr><td data-num=\"25\"></td><td><pre></pre></td></tr><tr><td data-num=\"26\"></td><td><pre>     <span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"27\"></td><td><pre></pre></td></tr><tr><td data-num=\"28\"></td><td><pre></pre></td></tr><tr><td data-num=\"29\"></td><td><pre><span class=\"token function\">alertcondition</span><span class=\"token punctuation\">(</span>condition<span class=\"token operator\">=</span><span class=\"token function\">crossunder</span><span class=\"token punctuation\">(</span>Alert_EMA_21<span class=\"token punctuation\">,</span> Alert_EMA_55<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"30\"></td><td><pre>     title<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 55 Cross Above\"</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"31\"></td><td><pre>     message<span class=\"token operator\">=</span><span class=\"token string\">\"EMA 55 crossed over EMA 21.\"</span></pre></td></tr><tr><td data-num=\"32\"></td><td><pre></pre></td></tr><tr><td data-num=\"33\"></td><td><pre>     <span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"34\"></td><td><pre></pre></td></tr><tr><td data-num=\"35\"></td><td><pre></pre></td></tr><tr><td data-num=\"36\"></td><td><pre></pre></td></tr><tr><td data-num=\"37\"></td><td><pre><span class=\"token comment\">// EMA trend bar color</span></pre></td></tr><tr><td data-num=\"38\"></td><td><pre><span class=\"token function\">TrendingUp</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> Alert_EMA_21 <span class=\"token operator\">></span> Alert_EMA_55</pre></td></tr><tr><td data-num=\"39\"></td><td><pre><span class=\"token function\">TrendingDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> Alert_EMA_21 <span class=\"token operator\">&lt;</span> Alert_EMA_55</pre></td></tr><tr><td data-num=\"40\"></td><td><pre><span class=\"token function\">barcolor</span><span class=\"token punctuation\">(</span><span class=\"token function\">TrendingUp</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> green <span class=\"token operator\">:</span> <span class=\"token function\">TrendingDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> red <span class=\"token operator\">:</span> blue<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"41\"></td><td><pre></pre></td></tr><tr><td data-num=\"42\"></td><td><pre><span class=\"token comment\">// EMA cross background color alert to chart (Tall Candle)</span></pre></td></tr><tr><td data-num=\"43\"></td><td><pre><span class=\"token function\">Uptrend</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token function\">TrendingUp</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> and <span class=\"token function\">TrendingDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span></pre></td></tr><tr><td data-num=\"44\"></td><td><pre><span class=\"token function\">Downtrend</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token function\">TrendingDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> and <span class=\"token function\">TrendingUp</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span></pre></td></tr><tr><td data-num=\"45\"></td><td><pre><span class=\"token function\">bgcolor</span><span class=\"token punctuation\">(</span><span class=\"token function\">Uptrend</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> green <span class=\"token operator\">:</span> <span class=\"token function\">Downtrend</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">?</span> red <span class=\"token operator\">:</span> na<span class=\"token punctuation\">,</span>transp<span class=\"token operator\">=</span><span class=\"token number\">50</span><span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"46\"></td><td><pre></pre></td></tr><tr><td data-num=\"47\"></td><td><pre><span class=\"token comment\">// Buy and sell alert (Arrow bottom of Chart, using variables from above)</span></pre></td></tr><tr><td data-num=\"48\"></td><td><pre>Buy <span class=\"token operator\">=</span> <span class=\"token function\">Uptrend</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> and close <span class=\"token operator\">></span> close<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span></pre></td></tr><tr><td data-num=\"49\"></td><td><pre>Sell <span class=\"token operator\">=</span> <span class=\"token function\">Downtrend</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> and close <span class=\"token operator\">&lt;</span> close<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span></pre></td></tr><tr><td data-num=\"50\"></td><td><pre><span class=\"token function\">plotshape</span><span class=\"token punctuation\">(</span>Buy<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>white<span class=\"token punctuation\">,</span> style<span class=\"token operator\">=</span>shape<span class=\"token punctuation\">.</span>triangleup<span class=\"token punctuation\">,</span> text<span class=\"token operator\">=</span><span class=\"token string\">\"Buy\"</span><span class=\"token punctuation\">,</span> location<span class=\"token operator\">=</span>location<span class=\"token punctuation\">.</span>bottom<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"51\"></td><td><pre><span class=\"token function\">plotshape</span><span class=\"token punctuation\">(</span>Sell<span class=\"token punctuation\">,</span> color<span class=\"token operator\">=</span>white<span class=\"token punctuation\">,</span> style<span class=\"token operator\">=</span>shape<span class=\"token punctuation\">.</span>triangledown<span class=\"token punctuation\">,</span> text<span class=\"token operator\">=</span><span class=\"token string\">\"Sell\"</span><span class=\"token punctuation\">,</span> location<span class=\"token operator\">=</span>location<span class=\"token punctuation\">.</span>bottom<span class=\"token punctuation\">)</span></pre></td></tr></table></figure>",
            "tags": [
                "TradingView",
                "EMA21 55 Crossover Alert"
            ]
        },
        {
            "id": "https://zielonanoir.github.io/2025/03/02/Internet%20Security/Microsoft%20August%202024%20CVE/",
            "url": "https://zielonanoir.github.io/2025/03/02/Internet%20Security/Microsoft%20August%202024%20CVE/",
            "title": "Microsoft August 2024 CVE",
            "date_published": "2025-03-02T07:38:29.616Z",
            "content_html": "<p><div class=\"links\"><div class=\"item\" title=\"Microsoft\" style=\"--block-color:#0e4775;\"><a href=\"https://msrc.microsoft.com/update-guide/\" class=\"image\" data-background-image=\"https://s2.loli.net/2024/08/16/sgVvmW1RXSiaxe2.png\"></a>\n        <div class=\"info\">\n        <a href=\"https://msrc.microsoft.com/update-guide/\" class=\"title\">Security Update Guide</a>\n        <p class=\"desc\">Microsoft Security Update Guide</p>\n        </div></div></div></p>\n<p><strong>The six actively zero-day vulnerabilities：</strong></p>\n<ul>\n<li>CVE-2024-38178 - Scripting Engine Memory Corruption Vulnerability</li>\n<li>CVE-2024-38193 - Windows Ancillary Function Driver for WinSock Elevation of Privilege Vulnerability</li>\n<li>CVE-2024-38213 - Windows Mark of the Web Security Feature Bypass Vulnerability</li>\n<li>CVE-2024-38106 - Windows Kernel Elevation of Privilege Vulnerability</li>\n<li>CVE-2024-38107 - Windows Power Dependency Coordinator Elevation of Privilege Vulnerability</li>\n<li>CVE-2024-38189 - Microsoft Project Remote Code Execution Vulnerability</li>\n</ul>\n<p><strong>The four publicly disclosed vulnerabilities：</strong></p>\n<ul>\n<li>CVE-2024-38199 - Windows Line Printer Daemon (LPD) Service Remote Code Execution Vulnerability</li>\n<li>CVE-2024-21302 - Windows Secure Kernel Mode Elevation of Privilege Vulnerability</li>\n<li>CVE-2024-38200 - Microsoft Office Spoofing Vulnerability</li>\n<li>CVE-2024-38202 - Windows Update Stack Elevation of Privilege Vulnerability</li>\n</ul>\n<p><strong>The 89 vulnerabilities：</strong></p>\n<ul>\n<li>36 Elevation of Privilege Vulnerabilities</li>\n<li>4 Security Feature Bypass Vulnerabilities</li>\n<li>28 Remote Code Execution Vulnerabilities</li>\n<li>8 Information Disclosure Vulnerabilities</li>\n<li>6 Denial of Service Vulnerabilities</li>\n<li>7 Spoofing Vulnerabilities</li>\n</ul>\n<p><strong>Application：</strong><br />\n• Windows Server 2022<br />\n• Windows Server 2019 (Server Core installation)<br />\n• Windows Server 2019<br />\n• Windows 10 Version 1809 for ARM64-based Systems<br />\n• Windows 10 Version 1809 for x64-based Systems<br />\n• C SDK for Azure IoT<br />\n• Azure IoT Hub Device Client SDK<br />\n• Windows 11 Version 24H2 for x64-based Systems<br />\n• Windows 11 Version 24H2 for ARM64-based Systems<br />\n• Windows 11 Version 23H2 for x64-based Systems<br />\n• Windows 11 Version 23H2 for ARM64-based Systems<br />\n• Windows 10 Version 22H2 for 32-bit Systems<br />\n• Windows 10 Version 21H2 for x64-based Systems<br />\n• Windows 10 Version 21H2 for ARM64-based Systems<br />\n• Windows 10 Version 21H2 for 32-bit Systems<br />\n• Windows 11 version 21H2 for ARM64-based Systems<br />\n• Windows 11 version 21H2 for x64-based Systems<br />\n• Windows Server 2022 (Server Core installation)<br />\n• Windows Server 2016<br />\n• Windows 10 Version 1607 for x64-based Systems<br />\n• Windows 10 Version 1607 for 32-bit Systems<br />\n• Windows 10 for x64-based Systems<br />\n• Windows 10 for 32-bit Systems<br />\n• Windows Server 2022, 23H2 Edition (Server Core installation)<br />\n• Windows Server 2012 (Server Core installation)<br />\n• Windows Server 2012<br />\n• Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core<br />\ninstallation)<br />\n• Windows Server 2008 R2 for x64-based Systems Service Pack 1<br />\n• Windows Server 2016 (Server Core installation)<br />\n• Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core<br />\ninstallation)<br />\n• Windows Server 2008 for 32-bit Systems Service Pack 2<br />\n• Windows 10 Version 22H2 for ARM64-based Systems<br />\n• Windows 10 Version 22H2 for x64-based Systems<br />\n• Windows 11 Version 22H2 for x64-based Systems<br />\n• Windows 11 Version 22H2 for ARM64-based Systems<br />\n• Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core<br />\ninstallation)<br />\n• Windows Server 2008 for x64-based Systems Service Pack 2<br />\n• Windows Server 2012 R2 (Server Core installation)<br />\n• Windows Server 2012 R2<br />\n• Azure Health Bot<br />\n• Windows 10 Version 1809 for 32-bit Systems<br />\n• Microsoft Dynamics 365 (on-premises) version 9.1<br />\n• CBL Mariner 2.0 x64<br />\n• CBL Mariner 2.0 ARM<br />\n• CBL Mariner 1.0 x64<br />\n• CBL Mariner 1.0 ARM<br />\n• Azure Linux 3.0 x64<br />\n• Azure Linux 3.0 ARM<br />\n• Azure CycleCloud 8.6.1<br />\n• Azure CycleCloud 8.6.2<br />\n• Azure CycleCloud 8.5.0<br />\n• Azure CycleCloud 8.4.2<br />\n• Azure CycleCloud 8.4.1<br />\n• Azure CycleCloud 8.4.0<br />\n• Azure CycleCloud 8.3.0<br />\n• Azure CycleCloud 8.2.1<br />\n• Azure CycleCloud 8.2.2<br />\n• Azure CycleCloud 8.1.1<br />\n• Azure CycleCloud 8.1.0<br />\n• Azure CycleCloud 8.0.2<br />\n• Azure CycleCloud 8.0.1<br />\n• Azure CycleCloud 8.6.0<br />\n• Azure CycleCloud 8.0.0<br />\n• Azure CycleCloud 8.2.0<br />\n• Microsoft Office LTSC 2021 for 64-bit editions<br />\n• Microsoft Office LTSC 2021 for 32-bit editions<br />\n• Microsoft Project 2016 (64-bit edition)<br />\n• Microsoft Project 2016 (32-bit edition)<br />\n• Microsoft 365 Apps for Enterprise for 64-bit Systems<br />\n• Microsoft 365 Apps for Enterprise for 32-bit Systems<br />\n• Microsoft Office 2019 for 64-bit editions<br />\n• Microsoft Office 2019 for 32-bit editions<br />\n• App Installer<br />\n• Microsoft Outlook 2016 (64-bit edition)<br />\n• Microsoft Outlook 2016 (32-bit edition)<br />\n• Microsoft PowerPoint 2016 (64-bit edition)<br />\n• Microsoft PowerPoint 2016 (32-bit edition)<br />\n• Microsoft Office LTSC for Mac 2021<br />\n• Azure Connected Machine Agent<br />\n• Remote Desktop client for Windows Desktop<br />\n• Microsoft OfficePLUS<br />\n• Azure Stack Hub<br />\n• Microsoft Teams for iOS<br />\n• Microsoft Visual Studio 2022 version 17.8<br />\n• Microsoft Visual Studio 2022 version 17.10<br />\n• Microsoft Visual Studio 2022 version 17.6<br />\n• .NET 8.0<br />\n• Microsoft Edge (Chromium-based)<br />\n• Microsoft Office 2016 (64-bit edition)<br />\n• Microsoft Office 2016 (32-bit edition)<br />\n• Microsoft Copilot Studio<br />\n• Dynamics CRM Service Portal Web Resource<br />\n• Dynamics 365 Field Service (on-premises) v7 series<br />\n• GroupMe<br />\n• Azure Arc Resource Bridge<br />\n• Azure Kubernetes Service Node on Ubuntu Linux<br />\n• Azure Kubernetes Service Node on Azure Linux<br />\n• PowerShell 7.2<br />\n• PowerShell 7.4<br />\n• .NET 6.0<br />\n• Microsoft Visual Studio 2022 version 17.4<br />\n• Azure CycleCloud 7.9.5<br />\n• Azure CycleCloud 7.9.4<br />\n• Azure CycleCloud 7.9.6<br />\n• Azure CycleCloud 7.9.2<br />\n• Azure CycleCloud 7.9.11<br />\n• Azure CycleCloud 7.9.8<br />\n• Azure CycleCloud 7.9.10<br />\n• Microsoft Defender for IoT<br />\n• Microsoft .NET Framework 3.5 AND 4.7.2<br />\n• Microsoft .NET Framework 3.5 AND 4.8<br />\n• Microsoft .NET Framework 4.8<br />\n• Microsoft .NET Framework 3.5.1<br />\n• Microsoft .NET Framework 3.5<br />\n• Microsoft .NET Framework 4.6.2/4.7/4.7.1/4.7.2<br />\n• Microsoft .NET Framework 3.0 Service Pack 2<br />\n• Microsoft .NET Framework 2.0 Service Pack 2<br />\n• Microsoft .NET Framework 4.6/4.6.2<br />\n• Microsoft .NET Framework 4.6.2<br />\n• Microsoft .NET Framework 3.5 AND 4.8.1<br />\n• Microsoft SharePoint Server Subscription Edition<br />\n• Microsoft SharePoint Server 2019<br />\n• Microsoft SharePoint Enterprise Server 2016<br />\n• Azure CycleCloud 7.9.7<br />\n• Azure CycleCloud 7.9.9<br />\n• Azure CycleCloud 7.9.1<br />\n• Azure CycleCloud 7.9.3<br />\n• Azure CycleCloud 7.9.0<br />\n• Microsoft SQL Server 2019 for x64-based Systems (CU 27)<br />\n• Microsoft SQL Server 2022 for x64-based Systems (CU 13)<br />\n• Microsoft SQL Server 2022 for x64-based Systems (GDR)<br />\n• Microsoft SQL Server 2017 for x64-based Systems (CU 31)<br />\n• Microsoft SQL Server 2016 for x64-based Systems Service Pack 3 Azure<br />\nConnect Feature Pack<br />\n• Microsoft SQL Server 2016 for x64-based Systems Service Pack 3 (GDR)<br />\n• Microsoft SQL Server 2019 for x64-based Systems (GDR)<br />\n• Microsoft SQL Server 2017 for x64-based Systems (GDR)<br />\n• Microsoft OLE DB Driver 18 for SQL Server<br />\n• Microsoft OLE DB Driver 19 for SQL Server<br />\n• Azure DevOps Server 2022.1<br />\n• Azure Network Watcher VM Extension for Windows<br />\n• Azure Kinect SD<br />\n• Microsoft Window</p>\n",
            "tags": [
                "Internet Security",
                "Internet Security",
                "August 2024 CVE"
            ]
        }
    ]
}