import requests
import time
import json
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
# Configuration
POCKET_OPTION_API_URL = "https://api.pocketoption.com"
API_KEY = "your_api_key_here"
TRADE_AMOUNT = 1 # Trade amount in USD
ASSET = "EURUSD" # Trading pair
INTERVAL = 60 # 1-minute candles
# Function to fetch market data
def get_market_data():
url = f"{POCKET_OPTION_API_URL}/market/{ASSET}/history?interval={INTERVAL}&limit=100"
headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.json()
else:
print("Error fetching market data:", response.text)
return None
# Function to prepare data
def preprocess_data(data):
df = pd.DataFrame(data)
df['sma_5'] = df['close'].rolling(window=5).mean()
df['sma_10'] = df['close'].rolling(window=10).mean()
df['signal'] = np.where(df['sma_5'] > df['sma_10'], 1, 0)
return df.dropna()
# AI Model Training
def train_model(df):
X = df[['sma_5', 'sma_10']]
y = df['signal']
model = LogisticRegression()
model.fit(X, y)
return model
# Function to place a trade
def place_trade(direction):
url = f"{POCKET_OPTION_API_URL}/trade"
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
data = json.dumps({"asset": ASSET, "amount": TRADE_AMOUNT, "direction": direction})
response = requests.post(url, headers=headers, data=data)
if response.status_code == 200:
print("Trade placed successfully!", response.json())
else:
print("Error placing trade:", response.text)
# Main Bot Logic
def run_bot():
while True:
data = get_market_data()
if data:
df = preprocess_data(data)
model = train_model(df)
latest_data = df[['sma_5', 'sma_10']].iloc[-1].values.reshape(1, -1)
prediction = model.predict(latest_data)
direction = "buy" if prediction[0] == 1 else "sell"
place_trade(direction)
time.sleep(60) # Wait 1 minute before next trade
if __name__ == "__main__":
run_bot()
0 Comments