> For the complete documentation index, see [llms.txt](https://help.signals.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.signals.network/getting-started/strategies/strategy-types/single-market-strategy.md).

# Single Market Strategy

SMS is a strategy operating on a single cryptocurrency asset pair on a single crypto exchange.

## What is Single Market Strategy?

Single Market Strategy (SMS) is a strategy, which allows you to follow and monitor movements of a single asset pairing, such as ETH/BTC. Using [indicators](/knowledge-base/indicators.md), you can analyze market movements and process any kind of [data stream](/framework-documentation/data.md) to inform your trades of that pair. It is a very effective way of performing in-depth analysis on one pair.

You will recognize that your strategy is of a Single Market Strategy type by looking in the code and see what class your model inherits from:

```csharp
public class MyStrategy : SingleMarketStrategy
{
    // Your strategy definition.
}
```

### Works on a single asset pairing

SMS strategies allows you to select only a single market (an asset pairing on selected exchange) which your strategy will be able to access through the [`DataMarketplace`](/framework-documentation/untitled/methods/setup.md) object.

![](https://1280131605-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LL8qCacd77-C_Tcc0xo%2F-LmxBXOgJm6TYBVkdJa_%2F-LmxErs8gv7-C2QrCTbt%2FScreenshot%202019-08-23%2008.42.48.png?alt=media\&token=a7361aea-ff71-431a-aee7-aad7e222c68c)

Having selected the BTC/USDT asset pairing on Poloniex, a strategy with this code would every hour print to logs the closing time and value of the BTC/USDT pairing:

```csharp
private Bars hourlyBars;

public override void Setup(DataMarketplace data, IndicatorsMarketplace indicators)
{
    hourlyBars = data.Bars(BarPeriodType.Hour, 1).WithOffset(25);
}

public override void RegisterActions()
{
    OnUpdateOf(hourlyBars).Do(() =>
    {
        Log(hourlyBars[0].CloseTime.ToString() + ": " + hourlyBars[0].Close.ToString());
    });
}
```

## How to create a SMS?

You can follow a tutorial [Your First Strategy](/getting-started/tutorials/your-first-strategy.md), which will step-by-step walk you through creation, testing and deployment of a simple SMS strategy. &#x20;
