このプロジェクトについて

# 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クロス)、詳細な通知。