# forge.signals.vote

```python
forge.signals.vote(*, open_at: float, close_at: float, name: str | None = None, note: str | None = None, **weighted: tuple[np.ndarray | ConditionTree, float]) -> ConditionTree
```

True from the bar the weighted share of true conditions reaches ``open_at`` percent until the
bar it falls
to ``close_at`` percent or below.

Each condition is given as ``(condition, weight)``, like ``trend=(fast > slow, 2)``. Between the
two levels it
keeps its last state; before the first time it reaches either, it is false. ``name`` and
``note`` are the
group's own, so a condition cannot be called either.

Since Forge API 1.
