# 如何在Eclipse上使用范围订单

### 介绍 <a href="#introduction" id="introduction"></a>

Orca的CLMM允许用户创建可定制的流动性头寸，例如单面资产头寸，使他们能够以中央限价订单（clob）用户更熟悉的方式进行交易。这些高级策略，通常被称为范围订单，在传统的CPMM模型中是不可能的。

CLOB交易者通常部署限价单，仅以特定价格交易资产。当市场达到设定的价格时，这些订单将被执行（取决于可用的流动性）。

通过提供单面流动性，Orca的CLMM可以大致模拟CLOB限价单。

与传统的CLOB限价订单相比，这些限价订单既有优点也有缺点。然而，当有效使用时，它们允许用户以预定义的价格自动购买或出售资产。

在这种情况下，CLMM相对于CLOB的主要优点包括：

* 赚取费用：虽然在CLOB中创建限价订单通常会产生成本，但CLMM用户在执行订单时赚取费用。
* 税收优势：在许多税务管辖区，直到资产从CLMM中撤出才触发应税事件。这允许使用者在评估当前市场状况的同时推迟应税事项。

#### CLMM（集中流动性做市机制）对范围订单的限制 CLMM 的机制特性决定了并非所有在 CLOB（集中限价订单簿）上可以执行的订单类型都能在 CLMM 上实现。随着池子的当前价格上升，相对于配对资产增值的资产会逐步被卖出，用来换取相对贬值的资产。这种机制意味着只有某些类型的范围订单是可行的，具体来说是**买入限价单（Buy Limit Orders）和止盈单（Take Profit Orders）**，它们依赖于这种资产转换的方向。 <a href="#docs-internal-guid-748eed3b-7fff-2281-0cc9-f462bbee3f50" id="docs-internal-guid-748eed3b-7fff-2281-0cc9-f462bbee3f50"></a>

尽管范围订单在外观上可能与其他单边流动性头寸没有区别，但它的定义取决于用户的意图，而不是池子的机制。为了使范围订单被视为已执行，用户必须提取他们的资产。否则，范围订单将继续像其他头寸一样运作，在价格在头寸的价格区间内波动时，一种资产会持续被交换为另一种资产。

{% tabs %}
{% tab title="创建一个买入限价单" %}

#### 如何创建买入限价单（Buy Limit Order）

Orca 的 CLMM（集中流动性做市机制）允许交易者执行买入限价单。这是通过 CLMM 的机制实现的——当一种资产相对于其配对资产的价值上升时，它会被卖出以换取另一种资产。通过谨慎地部署单边流动性头寸，交易者可以利用 CLMM 有效地执行买入限价单。

**示例：**

假设你认为 SOL 的价格可能会从当前的 160 USDC 下跌到 150 USDC，然后反弹。你希望在较低的价格买入 SOL，以利用预期的价格回升。这可以通过在 SOL/USDC 池中创建一个下行价格区间的单边头寸来实现。在这个示例中，我们将在 0.01% 费率的 SOL/USDC 池中创建一个 150.002226–150.017226 USDC/SOL 的紧密自定义范围。存款将完全由 USDC 构成。

现在等待价格跌至或低于区间最低值，然后关闭头寸。届时，所有的 USDC 将被兑换为 SOL，同时你还将赚取一些交易费用。

**扩展场景：**

还可以创建一种在 CLOB（集中限价订单簿）上无法实现的买入限价单类型，以利用预期的长期下跌趋势及其低点。在这种情况下，可以设置一个更宽的范围，目的是在整个下跌趋势期间赚取交易费用。例如，我们可以创建一个 150.002226 到 160.011694 USDC/SOL 的范围。当价格下跌至该范围内时，小量 USDC 将在最大值和最小值之间的每个价格点被兑换为 SOL，直到所有 USDC 被耗尽。

如果在价格达到或跌破我们设定的最低范围后提取头寸，该头寸将完全由 SOL 组成，同时还将赚取额外费用。通过这种方法，购买 SOL 的价格将被平均在所选范围内，这意味着实际支付的价格会高于最低设定价格。

***

#### 头寸创建流程

1. **访问流动性页面**（<https://www.orca.so/pools>）。
2. **确保用户界面和你的钱包已设置为 Eclipse 网络**。<br>

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FYq7TOV3c31pNCKPEDl0p%2Fimage.png?alt=media&#x26;token=ab52c1c2-2de2-43a8-ad1a-d923a1b2e0dd" alt=""><figcaption></figcaption></figure>
3. 如果尚未连接钱包，请**连接钱包**。<br>

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2Fy1KlmpmqGfoYAP8uQd43%2Fimage.png?alt=media&#x26;token=d461db5a-8bf1-48af-b931-37c2e010735a" alt=""><figcaption></figcaption></figure>
4. 通过在池列表中查找或使用搜索字段找到你希望创建买入限价单的池。

   **提示**：可以通过代币名称、代码或代币铸造地址进行搜索，但请仔细检查已选择正确的代币。

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FyIMi5nVpQqV9zBXxzo14%2Fimage.png?alt=media&#x26;token=f439f3ac-dc04-4349-b58b-73f58aa199e2" alt=""><figcaption></figcaption></figure>
5. 点击你希望添加流动性的池。将会打开流动性侧边栏。<br>

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FxBGChxjyDbwLOt63iX6v%2Fimage.png?alt=media&#x26;token=63c8e617-3e5b-4ccb-bd19-0464745e2f6b" alt=""><figcaption></figcaption></figure>
6. 确保流动性侧边栏已选择“**自定义范围（Custom Range）**”。<br>

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FEOarfwPMsrZA657gh8lo%2Fimage.png?alt=media&#x26;token=266afe92-b1ab-4755-aec0-42bc4a63949e" alt=""><figcaption></figcaption></figure>
7. 在选择自定义范围后，可以通过以下三种方式之一创建单边范围：
   * 拖动滑块
   * 在价格区间的输入框中直接输入价格
   * 使用输入框旁的“+”和“-”按钮调整价格
8. 输入你希望存入的金额，或点击“**最大值（Max）**”以存入钱包中代币的最大数量。

   在这个示例中，我们尝试以比当前池价低 10% 的价格购买价值 1 美元的 SOL，如图中绿色框标出。<br>

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2F6CRcQeFfI0rgxXWqXlV0%2Fimage.png?alt=media&#x26;token=04aed4f2-91da-489c-9cb5-6567fefddc66" alt=""><figcaption></figcaption></figure>
9. （可选）通过点击流动性按钮调整流动性滑点，详细信息请参阅“了解滑点（Understanding Slippage）”。确认存入金额后，点击**存入（Deposit）**。
10. 在你的钱包中检查详情，包括应付的网络费用并批准操作。

    **仔细检查**：确保你的价格区间和当前池价格与你的意图相符，将流动性存入价格与更广泛市场价格不符的池中可能会导致损失。
11. 如果价格下降并穿过你的范围，你的头寸将完全由 SOL 代币组成。此时，你必须提取流动性以确保其不再活跃，否则头寸可能会重新变回 USDC。
    {% endtab %}

{% tab title="创建一个卖出/获利限价单" %}

#### 如何创建止盈单（Take Profit Order）/ 卖出限价单（Sell Limit Order）

Orca 的 CLMM（集中流动性做市机制）允许交易者执行止盈单或卖出限价单。这是通过 CLMM 的机制实现的——当一种资产相对于其配对资产的价值上升时，它会被卖出以换取另一种资产。这意味着，通过谨慎地部署单边头寸，CLMM 可以被用来执行止盈单或卖出限价单。尽管这两种订单类型的意图可能有所不同，其执行方法是相同的。

***

**示例：**

假设你认为 SOL 的价格可能会从当前的 160 USDC 上涨到 170 USDC，并希望以更高的价格将 SOL 卖出兑换为 USDC。这可以通过在 SOL/USDC 池中创建一个上行价格区间的单边头寸来实现。在这个示例中，我们将在 0.01% 费率的 SOL/USDC 池中创建一个 170.007724–170.024725 USDC/SOL 的紧密自定义范围。存款将完全由 SOL 构成。

现在等待价格上涨到或高于区间最大值，然后关闭头寸。届时，所有 SOL 将被卖出兑换为 USDC，同时你还将赚取一些交易费用。

***

**扩展场景：**

还可以创建一种在 CLOB（集中限价订单簿）上无法实现的止盈单或卖出限价单，以利用预期的长期上涨趋势及其高点。在这种情况下，可以设置一个更宽的范围，目的是在整个上涨趋势期间赚取交易费用。例如，我们可以创建一个 160.011694–170.024725 USDC/SOL 的范围。当价格上涨至该范围内时，小量 SOL 将在最大值和最小值之间的每个价格点被兑换为 USDC，直到所有 SOL 被耗尽。

如果在价格达到或超过我们设定的最大范围后提取头寸，该头寸将完全由 USDC 组成，同时还将赚取额外费用。通过这种方法，SOL 的实际卖出价格将在所选范围内平均，因此会低于所选的最大值。

***

#### 头寸创建流程

1. **访问流动性页面**（<https://www.orca.so/pools>）。
2. **确保用户界面和你的钱包已设置为 Eclipse 网络**。<br>

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FSzOooM5Pv5PegUK7O3OC%2Fimage.png?alt=media&#x26;token=61be8878-77f0-468e-a2b6-5bfd54168e7d" alt=""><figcaption></figcaption></figure>
3. 如果尚未连接钱包，请**连接钱包**。<br>

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FaHguRNJzGZEzkNBDetV2%2Fimage.png?alt=media&#x26;token=cdf6fc21-6ddc-44bc-a1db-dd0b61070aeb" alt=""><figcaption></figcaption></figure>
4. 通过在池列表中查找或使用搜索字段找到你希望创建止盈单/卖出限价单的池。<br>

   **提示**：可以通过代币名称、代码或代币铸造地址进行搜索，但请仔细检查已选择正确的代币。

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FwNAZbbg1HjlmADvKWFCK%2Fimage.png?alt=media&#x26;token=6563feed-5d36-4cc0-b0e2-45ab1e6bebf1" alt=""><figcaption></figcaption></figure>
5. 点击你希望添加流动性的池。将会打开流动性侧边栏。<br>

   <figure><img src="https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FvQN9dDe9Ya8g99SAA8nx%2Fimage.png?alt=media&#x26;token=5ae27d17-1996-4219-8c25-ea9ce2a07787" alt=""><figcaption></figcaption></figure>
6. 确保流动性侧边栏已选择“**自定义范围（Custom Range）**”。\
   ![](https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FPkQ51jaKbMV6JnEzHjiW%2Fimage.png?alt=media\&token=a1e201fa-5657-48dc-8121-d20a5b71f962)![](https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2FChfIvDycYMAkZoCt72M6%2Fimage.png?alt=media\&token=5a9dc57e-3609-4218-9ff2-0b768fcdcfab)
7. 在选择自定义范围后，可以通过以下三种方式之一创建单边范围：
   * 拖动滑块
   * 在价格区间的输入框中直接输入价格
   * 使用输入框旁的“+”和“-”按钮调整价格
8. 输入你希望存入的金额，或点击“**最大值（Max）**”以存入钱包中代币的最大数量。

   在这个示例中，我们尝试以比当前池价高 10% 的价格出售价值 1 美元的 SOL，如图中绿色框标出。\
   ![](https://4221160671-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYtQZ_PFZm1sasiYOxm%2Fuploads%2Fi36UBc5OPGL7lE0YtOnI%2Fimage.png?alt=media\&token=cd255ec4-85dd-4bea-9ee9-ea768beda75a)
9. （可选）通过点击流动性按钮调整流动性滑点，详细信息请参阅“了解滑点（Understanding Slippage）”。确认存入金额后，点击**存入（Deposit）**。
10. 在你的钱包中检查详情，包括应付的网络费用并批准操作。

    **仔细检查**：确保你的价格区间和当前池价格与你的意图相符，将流动性存入价格与更广泛市场价格不符的池中可能会导致损失。
11. 如果价格上涨并穿过你的范围，你的头寸将完全由 USDC 代币组成。此时，你必须提取流动性以确保其不再活跃，否则头寸可能会重新变回 SOL。
    {% endtab %}
    {% endtabs %}
