Telegramシグナルボットの改良 – 価格情報を正確にパースする方法、シグナルの読取不良を防ぐために…

はじめに

Telegramボットを使用して、金融取引に関するシグナル(例:買い・売りシグナル、テイクプロフィット(TP)、ストップロス(SL)など)をチャットから読み込み、ファイルに書き込むボットの作成を進めていた際に、特定のメッセージ形式が正しく処理されないという問題に直面しました。

例えば、次のようなシグナルメッセージ:

Gold buy now @ 2571.00 - 2568.00
tp : 2577.00
tp2 : 2600.00
sl : 2565.00

このメッセージ内には、売買シグナル(BUY)、エントリープライス、テイクプロフィット(TP)、ストップロス(SL)の情報が含まれていますが、元のコードでは “BUY” しか認識せず、重要な価格情報を無視してしまうという問題が発生しました。

問題点

初期のコードでは、メッセージを単純に大文字に変換し、キーワード(BUY, SELL)を検索しているだけでした。これにより、以下のような問題が発生しました:

  1. 改行やフォーマットを無視:
    • メッセージが複数行にわたる場合、改行を無視してすべての行をつなげてしまい、シグナルのパースに失敗していました。
  2. 価格情報の抽出ができない:
    • メッセージ内の価格情報やTP、SLといった取引に必要な情報は無視され、BUYやSELLのような単純なキーワードだけが認識されていました。

改善のポイント

この問題を解決するために、次の改善を行いました:

  1. 正規表現を使用した価格情報のパース: メッセージの内容に応じて、取引価格、TP、SLなどを正規表現で抽出するようにしました。これにより、メッセージの書式に依存せず、柔軟に情報を取得できるようになりました。
  2. 改行を保持して処理: メッセージの改行を削除せずに、そのまま処理することで、メッセージ内の構造を壊さずにパースできるようにしました。
  3. フォーマットされた情報をリストとして返す: シグナルメッセージの内容(BUY, SELL, TP, SLなど)をリスト形式で処理し、ファイルに書き込む際にもそのフォーマットを保持しました。

改善後のコード

以下に、改善した process_message 関数の概要を示します(APIキーや特定のディレクトリパスなどは省略してあります)。

import re

class TelegramSignalBot:
def process_message(self, message):
“””メッセージをパースし、シグナルを抽出”””
try:
# メッセージの改行を維持する
message = message.upper()
print(“Processed message:”, message)

signals = []

# CLOSE と SECURE を優先
if “CLOSE” in message:
signals.append(“ALLCLOSE”)
if “SECURE” in message:
signals.append(“ALLCLOSE”)
if “HIT” in message:
signals.append(“ALLCLOSE”)
if “BREAKEVEN” in message:
signals.append(“ALLCLOSE”)

# その後に BUY と SELL を処理
if “BUY” in message:
signals.append(“BUY”)
if “SELL” in message:
signals.append(“SELL”)

# TP, SL, および価格情報の抽出
tp_match = re.search(r’TP\s*:\s*([\d.]+)’, message)
tp2_match = re.search(r’TP2\s*:\s*([\d.]+)’, message)
sl_match = re.search(r’SL\s*:\s*([\d.]+)’, message)
price_match = re.search(r’@[\s]*([\d.]+)[\s]*-[\s]*([\d.]+)’, message)

if tp_match:
signals.append(f”TP: {tp_match.group(1)}”)
if tp2_match:
signals.append(f”TP2: {tp2_match.group(1)}”)
if sl_match:
signals.append(f”SL: {sl_match.group(1)}”)
if price_match:
signals.append(f”ENTRY: {price_match.group(1)} – {price_match.group(2)}”)

if len(signals) == 0:
return message
else:
return signals
except Exception as e:
print(f”Error processing message: {e}”)
return “”


改善内容の詳細

  1. 正規表現の使用: re.search を使用して、次のようなパターンで価格情報やシグナルを抽出しています:
    • TP (テイクプロフィット): r'TP\s*:\s*([\d.]+)'
    • TP2: r'TP2\s*:\s*([\d.]+)'
    • SL (ストップロス): r'SL\s*:\s*([\d.]+)'
    • 価格情報: r'@[\s]*([\d.]+)[\s]*-[\s]*([\d.]+)'

    これにより、複数行のメッセージや異なるフォーマットにも柔軟に対応できるようになりました。

  2. メッセージの構造を保持: メッセージが複数行に分かれていても、改行を保持することで、元の構造に基づいて情報を正確に取得できるようにしています。
  3. リスト形式での処理: シグナルの内容(BUY, SELL, TP, SLなど)をリスト形式で保持し、処理の流れを簡潔にしました。このリスト形式により、ファイルへの書き込みもスムーズに行えます。

まとめ

今回の改善により、Telegramボットがメッセージから取引に必要な詳細情報(価格、TP、SLなど)を正確にパースできるようになり、より堅牢なシグナル処理が可能となりました。改行を含むメッセージや複雑なフォーマットにも対応できるため、今後の拡張やメンテナンスも容易になります。

APIキーや保存パスは公開されていませんが、コードのロジックがどのように機能しているかを理解するための参考にしてください。

そだしPR レイヤートレードシステムがついに登場!

1週間で約1.5億円の利益を確保!あなたもこの驚異的なトレードシステムを体験してみませんか?

テレグラムと連携してリアルタイムでシグナルを受け取りトレードを行うことで、的確なトレードが可能になります。さらに、レイヤートレードを効率的に自動化する特別な仕様により、トレードのパフォーマンスを最大限に引き出すことができます。

無料シグナルを体験

無料シグナルを体験してみたい方は、こちらからどうぞ。
また、互助会グループへの参加も歓迎しています。初めての方でも安心して始められる環境を整えていますので、ぜひご検討ください。

互助会参加のメリット

  • 総額140万円のシグナルを共有:有料シグナルが全て無料で共有され、常に追加や入替が行われています。
  • 完全自動売買ソフトをプレゼント:特典として、最高セッティング済みのEA「Wallstreet-ASIA(MSE)」をプレゼントします。
  • レイヤートレード手法の共有:レイヤートレードの手法についての共有と解説を行います。
  • 安心のサポート:初心者の方にも安心して使えるVPS設定や自動トレードサポートを提供しています。
  • 仮想通貨シグナルも含まれます:精度の高い仮想通貨シグナルもあり、FXとCryptoを両立して資産形成を心汗ます。

Wallstreet-ASIA (MSE版)の配布

Wallstreet-ASIA(1520ドル)
アジアタイムのトレードの最高峰EA(自動売買ソフト)の本体+MSE設定ファイル(MSEは通常入手不可)を配布します。もちろん正規ライセンスです。

Wallstreet-ASIAの特徴

  • 資金効率の高さ:100万円の元手から、たった数ヶ月で1800万円に到達!
  • 特別なセットファイル:このEA(自動売買システム)は、特別なMSEファイルと組み合わせることで、驚異的なパフォーマンスを発揮します。

SODASHIシリーズのシグナル一覧

  • SODASHI(FREE):無料で参加可能なシグナルチャンネル
  • SODASHI(MB GOLD):高精度の金取引シグナル
  • SODASHI(GOLDLAYER):金のレイヤートレードによる高利益シグナル
  • SODASHI(DG):低頻度だが精度の高いスナイパートレード
  • SODASHI(UK):エキゾチック通貨も扱うオールラウンダー
  • SODASHI(PK):SmartTrade理論に基づくトレード
  • SODASHI(BD):信頼性の高い金取引シグナル
  • SODASHI(GORI):仮想通貨の高精度シグナル

よくある質問

  • シグナルの配信期間はいつまでですか?
    → 入会から無制限です。
  • VPSは必要ですか?
    → EAを動かす場合はVPSが必要です。月額10ドルで利用できる安定したVPSもご案内しています。
  • 法的なリスクはありますか?
    → FX取引にはリスクが伴います。当グループのシグナルは参考情報として提供されていますので、自己責任での取引をお願いします。

互助会入会価格について

  • 価格は一律40,000円(払い切り)となっています。
  • お試し1回限り1月7,000円です。
  • お支払い:現在銀行振込が基本対応です。

免責事項

FXシグナルやEAサービスは、市場の動向や取引タイミングに関する情報を提供するものであり、利益を保証するものではありません。
すべての取引は、自己の判断と責任に基づいて行ってください。また、取引に関する知識やEA操作に関する基本的な理解が必要です。

FX

【お知らせ】レイヤートレードの自動化を現実的な視点で考え、形態を変えます。
myfxbookがメンテナンスモードにはいったところで、ちょっと考えなおしです。 レイヤートレードは、その独自の戦略性と高い利益の可能性で多くのトレーダーに注目されています。私自身も、この手法の自動化に挑戦し、結果として数日で原資2倍以上という、驚異的な利益をもたらしました。 しかし、ここで感じたのは、「あまりに非現実的すぎる」その期待値に対する反応の薄さです。 非現実的な目標と現実的なアプローチのバランス レイヤートレードは理論的には夢のような利益を生む可能性を秘めているのは間違いのないところですが、あまりに過剰で、多くの人が現実的とに捉えていないのではないか、という壁に直面しました。 確かに、我々が信じる戦略を最大限に活かすためには、リアリティとスケールの両方が重要です。大きな金額は面白いですが、実際の行動をどう現実に落とし込むかが鍵です。 現実的なスタート:10万円からのテスト そこで、まずは10万円からのテストが現実的なステップだと感じています。これなら、どのような方でも無理なく実践できる範囲であり、十分に手応えを感じられるはずです。小規模なス

続きを読む

保護中: GOLDのレイヤートレードの本気解説
【FX】嘘偽りなしのレイヤートレードのリアル テレグラムとの連携で高確度トレード【実況動画】
【FX】気づいた点…シグナルや自動トレードより、半自動レイヤートレードの方がよいかもしれない。
【FX/競馬】本当の心理学を教える。「デイトレード」鋼鉄の心には誰もなれないから、商材界隈に付け込まれる。

「FX」記事をもっと見る