このプロジェクトについて
# EMAアラートボット(Deriv + Telegram)— V2
このボットは、シンボル、時間枠、EMAの一意の組み合わせである個別のアラートを監視します。価格が設定されたEMAにタッチすると、Telegramメッセージが送信されます。すべての設定はTelegram内のボタンで行え、ボットはGitHub Actions上で無料で動作します。
## 主な機能
- **アラート作成**:`/new`でボタンを使用してシンボル、時間枠(1分~1日)、EMA(9、20、50、100、200)を選択できます。
- **アラート管理**:`/alerts`でアラート一覧表示、`/pause ID`と`/resume ID`で一時停止/再開、`/delete ID`で確認後に削除。
- **最適化**:キャンドルは(シンボル、時間枠)のグループごとに一度だけダウンロードされ、複数のEMAで再利用されるため、Derivへのリクエストが削減されます。
- **重複防止**:履歴は`state.json`に保存され、同じキャンドルでの重複アラートを防止します。
- **カスタマイズ**:提供されるシンボルリストは`AVAILABLE_SYMBOLS`(外国為替、暗号通貨、合成指数)で変更可能です。
## インストール
1. @BotFather経由でTelegramボットを作成し、トークンとチャットIDを取得します。
2. プライベートなGitHubリポジトリを作成し、ファイル(`ema_alert.py`、`config.json`、`state.json`、`requirements.txt`、`.github/workflows/check.yml`)をアップロードします。
3. リポジトリ設定にシークレット`TELEGRAM_BOT_TOKEN`と`TELEGRAM_CHAT_ID`を追加します。
4. ワークフローに「読み取りおよび書き込み」権限を有効にします。
5. 最初に手動でワークフローを実行し、その後は5分ごとに自動実行されます。
## V2の改善点
- 自動リトライによるGitの競合状態の修正。
- タイムアウト付きの堅牢なWebSocket管理。
- シークレットと状態の検証。
- タイムスタンプ付きの構造化ログ。
- 削除後のIDクリーンアップ。
- 設定可能なハートビート。
## 制限事項
- GitHub Actionsは負荷時に数分の遅延が発生する可能性があります(30分/1時間/4時間には適していますが、1分のスキャルピングにはあまり適していません)。
- 無料プランには月2000分が含まれており、十分な容量です。
- 設定されたチャットIDの1ユーザーのみがボットを操作できます。
## 今後の展開
シンボル検索、カテゴリ、アラート編集、他のアラートタイプ(EMAクロス)、詳細な通知。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.