-
Notifications
You must be signed in to change notification settings - Fork 57
Open
Description
The candles returned from get_candles("GBPJPY_otc", 60, 20) are not real.
They don’t reflect the actual chart — all are red or doji.
Looks like something is wrong with how OTC data is fetched or interpreted.
Please check.
2025-07-25 18:02:05.939 | SUCCESS | pocketoptionapi_async.client:_on_json_data:1027 - Candles data received: 96 candles for GBPJPY_otc
2025-07-25 18:02:05.940 | INFO | pocketoptionapi_async.client:get_candles:495 - Retrieved 96 candles for GBPJPY_otc
2025-07-25 18:02:05.947 | INFO | pocketoptionapi_async.client:disconnect:347 - Disconnecting from PocketOption...
2025-07-25 18:02:05.948 | INFO | pocketoptionapi_async.websocket_client:disconnect:296 - Disconnecting from WebSocket
2025-07-25 18:02:05.948 | DEBUG | pocketoptionapi_async.websocket_client:_process_message:565 - Received message: 451-["updateStream",{"_placeholder":true,"num":0}]
2025-07-25 18:02:05.948 | DEBUG | pocketoptionapi_async.client:_on_stream_update:1166 - 📡 Stream update: {'_placeholder': True, 'num': 0}
🟩🟥 Candle Colors (Oldest → Newest):
- 2025-07-25 18:22:00 | O: 207.84800, C: 207.78500 → Δ: -0.06300 (-0.03%) 🟥 RED
- 2025-07-25 18:23:00 | O: 207.99600, C: 207.99600 → Δ: +0.00000 (+0.00%) ⬛ DOJI
- 2025-07-25 18:24:00 | O: 208.17000, C: 208.02600 → Δ: -0.14400 (-0.07%) 🟥 RED
- 2025-07-25 18:25:00 | O: 208.32900, C: 208.31900 → Δ: -0.01000 (-0.00%) 🟥 RED
- 2025-07-25 18:26:00 | O: 208.47800, C: 208.44800 → Δ: -0.03000 (-0.01%) 🟥 RED
- 2025-07-25 18:27:00 | O: 208.67200, C: 208.66400 → Δ: -0.00800 (-0.00%) 🟥 RED
- 2025-07-25 18:28:00 | O: 208.75900, C: 208.72700 → Δ: -0.03200 (-0.02%) 🟥 RED
- 2025-07-25 18:29:00 | O: 208.89900, C: 208.71600 → Δ: -0.18300 (-0.09%) 🟥 RED
- 2025-07-25 18:30:00 | O: 208.71100, C: 208.61200 → Δ: -0.09900 (-0.05%) 🟥 RED
- 2025-07-25 18:31:00 | O: 208.77900, C: 208.69300 → Δ: -0.08600 (-0.04%) 🟥 RED
- 2025-07-25 18:32:00 | O: 208.87500, C: 208.78900 → Δ: -0.08600 (-0.04%) 🟥 RED
- 2025-07-25 18:33:00 | O: 208.89600, C: 208.68300 → Δ: -0.21300 (-0.10%) 🟥 RED
- 2025-07-25 18:34:00 | O: 208.71500, C: 208.58300 → Δ: -0.13200 (-0.06%) 🟥 RED
- 2025-07-25 18:35:00 | O: 208.58400, C: 208.40600 → Δ: -0.17800 (-0.09%) 🟥 RED
- 2025-07-25 18:36:00 | O: 208.45900, C: 208.23600 → Δ: -0.22300 (-0.11%) 🟥 RED
- 2025-07-25 18:37:00 | O: 208.23700, C: 208.09700 → Δ: -0.14000 (-0.07%) 🟥 RED
- 2025-07-25 18:38:00 | O: 208.14000, C: 208.06300 → Δ: -0.07700 (-0.04%) 🟥 RED
- 2025-07-25 18:39:00 | O: 208.19000, C: 208.19000 → Δ: +0.00000 (+0.00%) ⬛ DOJI
- 2025-07-25 18:40:00 | O: 208.24400, C: 208.03700 → Δ: -0.20700 (-0.10%) 🟥 RED
- 2025-07-25 18:41:00 | O: 208.05400, C: 207.98000 → Δ: -0.07400 (-0.04%) 🟥 RED
My code:
import asyncio
import traceback
from pocketoptionapi_async import AsyncPocketOptionClient
async def check_otc_candle_colors():
ssid = ''
asset = "GBPJPY_otc"
timeframe = 60 # 1-minute candles
count = 10
print(f"\n🔍 Fetching last {count} 1-minute candles for {asset.upper()}...\n")
client = AsyncPocketOptionClient(
ssid=ssid,
is_demo=False,
uid=107249156,
platform=2,
enable_logging=True
)
try:
await client.connect()
candles = await client.get_candles(asset, timeframe, count)
if not candles:
print("⚠️ No candle data received.")
return
# Reverse for proper order (oldest to newest)
candles = list(reversed(candles))
print("🟩🟥 Candle Colors (Oldest → Newest):")
print("-" * 80)
for i, candle in enumerate(candles, 1):
o = candle.open
c = candle.close
delta = c - o
pct = (delta / o * 100) if o else 0
color = "🟩 GREEN" if c > o else "🟥 RED" if c < o else "⬛ DOJI"
print(
f"{i:>2}. {candle.timestamp.strftime('%Y-%m-%d %H:%M:%S')} | "
f"O: {o:.5f}, C: {c:.5f} → Δ: {delta:+.5f} ({pct:+.2f}%) {color}"
)
except Exception as e:
print("\n❌ Error occurred:")
traceback.print_exc()
finally:
await client.disconnect()
print("\n✅ Disconnected.")
if __name__ == "__main__":
asyncio.run(check_otc_candle_colors())
Metadata
Metadata
Assignees
Labels
No labels