# forge.signals.Signals

```python
forge.signals.Signals(*, long_entry: np.ndarray | ConditionTree | Entry | Sequence[Entry] | None = None, short_entry: np.ndarray | ConditionTree | Entry | Sequence[Entry] | None = None, long_exit: np.ndarray | ConditionTree | None = None, short_exit: np.ndarray | ConditionTree | None = None, stop: Stop | None = None, target: Target | Targets | None = None, trail: Trail | None = None, size: Size | None = None, filters: Sequence[object] = (), tags: str | np.ndarray | None = None, plots: Mapping[str, np.ndarray | Plot | Region | Sequence[Region]] | None = None, record: Mapping[str, np.ndarray] | None = None) -> None
```

What ``compute()`` returns: entry and exit conditions, and named series to plot or record.

## Members

| Name | Signature | Summary |
| --- | --- | --- |
| fields | (self) -> dict[str, object] | The fields that were given, by name. |

Every argument is optional and keyword-only. An unknown argument is a ``TypeError``. A
comparison with a missing value (NaN) is False, so a missing value can never mean "true".

Since Forge API 1.
