MQL5
Эксперты
Forex
Отладка робота/индикатора
Оптимизация стратегий
Статистика и математика
C++
Модули стратегий
Python
Панели и диалоги
C#
Stocks (акции)
Пользовательская графика
Futures (фьючерсы)
MySQL
Дизайн продуктов
JavaScript
Options (опционы)
Java
Сбор данных из интернета
SQL
HTML
PHP
Data mining (обработка данных)
Выгрузка данных на сайт
Создание текстов
Перевод текстов
OpenCL
ALGLIB
PostgreSQL
Linux
Фотошоп
R
RegExp
Техническое задание
Un Bot qui est adapté pour l'androïde import MetaTrader5 as mt5
import time
import pandas as pd
mt5.initialize()
SYMBOL = "EURUSD"
MAX_SPREAD = 0.00008 # 0.8 pip
def is_good_market():
tick = mt5.symbol_info_tick(SYMBOL)
spread = tick.ask - tick.bid
if spread > MAX_SPREAD:
print(f"Spread trop haut: {spread} - SKIP")
return False
return True
def get_trend():
rates = mt5.copy_rates(SYMBOL, mt5.TIMEFRAME_M1, 0, 250)
df = pd.DataFrame(rates)
df['ema20'] = df['close'].ewm(span=20).mean()
df['ema200'] = df['close'].ewm(span=200).mean()
last = df.iloc[-1]
return "BUY" if last['ema20'] > last['ema200'] else "SELL"
while True:
if is_good_market():
trend = get_trend()
if trend == "BUY":
request = {
"action": mt5.TRADE_ACTION_DEAL,
"symbol": SYMBOL,
"volume": 0.01,
"type": mt5.ORDER_TYPE_BUY,
"price": mt5.symbol_info_tick(SYMBOL).ask,
"sl": mt5.symbol_info_tick(SYMBOL).ask - 0.0010,
"tp": mt5.symbol_info_tick(SYMBOL).ask + 0.0005,
"deviation": 10,
}
mt5.order_send(request)
time.sleep(60) # 1 trade par minute max - règle HFT retail
time.sleep(0.1) # check chaque 100ms
Информация о проекте
Бюджет
30+ USD
Сроки выполнения
до 200 дн.
Заказчик
Размещено заказов3
Количество арбитражей0