Câu trả lời rất đơn giản - Techno King của Tesla có lịch sử ảnh hưởng đến thị trường tiền điện tử bất cứ khi nào anh ấy tweet về chúng, đến mức gần như có thể đoán trước được một chuyển động trên thị trường khi anh ấy nhấc điện thoại và bắt đầu bày tỏ ý kiến của mình về tiền điện tử. công nghệ chuỗi khối trên twitter.
Bằng cách tạo một bot giao dịch tiền điện tử để mua bitcoin mỗi khi ông chủ Tesla tweet về nó, bạn có thể yên tâm rằng mình sẽ giành được một ghế VIP trên tên lửa sẽ bắn thẳng qua mặt trăng và bay thẳng tới sao Hỏa, nơi Elon dành hầu hết các tháng mùa hè do thời tiết lạnh và khí hậu khô.
Câu trả lời nhanh là “không chắc” — vì chưa có ai thử nghiệm chiến lược này trước đây. Câu trả lời dài hơn có lẽ là — miễn là chúng ta đang nói về Bitcoin. Nói theo thống kê, bất kể thời gian bạn mua bitcoin của mình là bao nhiêu, rất có thể bạn sẽ có lãi (không bao gồm mức cao nhất mọi thời đại gần đây vào khoảng thời gian viết bài).
Vì vậy, nếu không có gì khác, ít nhất bạn sẽ thêm gia vị cho chiến lược HODLing BTC của mình với một chút trợ giúp từ Elon. Bài viết này sẽ không đi vào phân tích chi tiết để chỉ ra liệu chiến lược này có thực sự hiệu quả hay không. Bài viết này nói về việc xây dựng nó cho vui, nhưng nó đóng vai trò như một lời nhắc nhở mạnh mẽ về số lượng tài nguyên mà chúng tôi có sẵn và bạn có thể xây dựng bất kỳ bot giao dịch tiền điện tử nào mà bạn có thể nghĩ đến.
Bạn cũng sẽ có thể xem và sử dụng mã để có thể kiểm tra hoặc cải thiện mã.
Điều mà bài viết này tập trung vào là việc xây dựng kỹ thuật thực tế của bot giao dịch bitcoin và cách thiết lập nó trong một môi trường thử nghiệm an toàn, vì vậy hãy bắt tay vào thực hiện.
- Tài khoản MetaTrader5
- Tài khoản demo với XBTFX để bạn có thể kiểm tra chiến lược của mình một cách an toàn
- Tài khoản nhà phát triển Twitter
- Tài khoản API Tweepy
Như tên cho thấy, MT5 là một nền tảng hỗ trợ nhiều nhà môi giới cùng với phân tích kỹ thuật chi tiết — lý do chính để bắt đầu hành trình xây dựng bot tiền điện tử của bạn với MT5 là do nó tích hợp dễ dàng với Python và hỗ trợ ngay lập tức cho một demo hoặc tài khoản ảo để bạn có thể thử nghiệm trong môi trường demo an toàn.
Có hướng dẫn chi tiết về cách cài đặt và định cấu hình MetaTrader5 cũng như nhà môi giới tiền điện tử XBTFX trong bài viết trước đó. cách xây dựng bot giao dịch tiền điện tử trong python, vì vậy chúng ta sẽ chỉ lướt qua các bước này một cách ngắn gọn trong bài viết này. Nếu bạn cần thêm thông tin về cách thực hiện cũng như lý do tại sao hai nền tảng đó được chọn, vui lòng tham khảo lại bài viết được liên kết ở trên.
Bắt đầu bằng cách tải xuống và cài đặt MetaTrader5 và tạo một tài khoản trên nền tảng của họ. Điều tiếp theo bạn cần là một nhà môi giới mà bạn có thể đặt các giao dịch của mình — tôi khuyên bạn nên XBTFX vì họ cung cấp nhiều cặp tiền điện tử nhất trong số tất cả các nhà môi giới hoạt động với thiết bị đầu cuối MT5. Đăng ký với XBTFX và tạo một tài khoản demo.
Giờ đây, bạn có thể kết nối với tài khoản demo của mình qua MT5 bằng cách điều hướng đến Tệp > Mở tài khoản và tìm kiếm XBTFX. Nếu bạn đã đăng ký bằng liên kết giới thiệu ở trên, bạn sẽ cần chọn “Kết nối với tài khoản hiện tại”, nếu không, hãy tiếp tục tạo một tài khoản mới.
1. Báo cáo Xu hướng Chatbot năm 2021
2. 4 NÊN và 3 KHÔNG NÊN để Đào tạo Mô hình Chatbot NLP
3. Concierge Bot: Xử lý nhiều Chatbots từ một màn hình trò chuyện
Trước khi bạn có thể sử dụng API của Twitter hoặc mô-đun Tweepy Python, bạn cần có tài khoản nhà phát triển với Twitter. May mắn thay, quy trình đăng ký diễn ra nhanh chóng và dễ dàng, và bạn có thể sẽ được chấp nhận miễn là bạn mô tả lý do tại sao bạn cần quyền truy cập vào Twitter API.
Điều hướng đến nền tảng phát triển của twitter và nhấp vào Áp dụng ở góc trên cùng bên phải của menu điều hướng.
Trên trang tiếp theo, nhấp vào Đăng ký tài khoản Nhà phát triển và bạn sẽ được nhắc đăng nhập bằng tài khoản twitter của mình.
Thực hiện theo quy trình đăng ký và giải thích ý định của bạn với API
Sau khi bạn đã hoàn thành tất cả các thông tin cần thiết, có thể mất từ vài giờ đến vài ngày trước khi bạn có thể truy cập vào nền tảng. Theo kinh nghiệm của tôi, đó chỉ là một vài giờ.
Khi tài khoản nhà phát triển của bạn đã sẵn sàng, hãy điều hướng đến tab Dự án & Ứng dụng, mở Dự án 1, nếu tài khoản này không khả dụng, hãy tiếp tục và tạo một tài khoản. Trong dự án của bạn, hãy chuyển đến Khóa và Mã thông báo và tạo các thông tin sau (đảm bảo lưu chúng nếu không bạn sẽ cần tạo lại các khóa!):
- Bot sẽ mở một vị trí mua bitcoin mỗi khi Elon đề cập đến bitcoin trong tweet của mình
- Chốt lời được đặt thành 10% và cắt lỗ thành 5%
- Bot bitcoin sẽ không đặt giao dịch khác nếu đã có giao dịch đang hoạt động (có thể điều chỉnh)
Trước hết, bạn cần nhập các mô-đun MetaTrader5 và Tweepy bằng PyPi.
pip cài đặt tweepy
pip cài đặt MetaTrader5
cài đặt pip — nâng cấp MetaTrader5
Bước tiếp theo là nhập các mô-đun này cùng với một số mô-đun khác vào trình thông dịch Python của bạn.
# Mô-đun Scraper Twitter
nhập tweepy
từ tweepy nhập OAuthHandler mô-đun #dates
từ datetime nhập datetime, ngày tháng
từ số lần nhập itertools
nhập thời gian nhập lại #thiết bị đầu cuối giao dịch
nhập MetaTrader5 dưới dạng mt5
Bây giờ, chúng tôi cần lưu trữ khóa bí mật và mã thông báo mà bạn đã tạo bằng nền tảng Twitter Dev để sử dụng chúng với Tweepy.
# Lưu trữ thông tin đăng nhập Twitter từ tài khoản nhà phát triển
Consumer_key = “CONSUMER_KEY”
Consumer_secret = “CONSUMER_SECRET”
access_key = “API_KEY”
access_secret = “API_SECRET”# Truyền thông tin xác thực twitter cho tweepy thông qua OAuthHandler của nó
auth = tweepy.OAuthHandler(consumer_key, Consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(xác thực)
Trong phần cuối cùng của quá trình thiết lập sơ bộ, bạn cần kết nối với thiết bị đầu cuối MT5, lưu trữ vốn chủ sở hữu trong tài khoản của bạn và xác định công cụ giao dịch mà chúng ta sẽ làm việc — trong trường hợp này là Bitcoin. Chúng tôi cũng sẽ tạo một danh sách ngắn các từ khóa để truy vấn tweet cuối cùng của Elon.
# kết nối với tài khoản giao dịch mà không chỉ định mật khẩu và máy chủ
mt5.khởi tạo()# số tài khoản ở góc trên cùng bên trái của cửa sổ thiết bị đầu cuối MT5
# mật khẩu cơ sở dữ liệu đầu cuối được áp dụng nếu dữ liệu kết nối được đặt thành ghi nhớ
số_tài_khoản = 555
được ủy quyền = mt5.login(account_number)nếu được ủy quyền:
print(f'đã kết nối với tài khoản #{account_number}')
khác:
print(f'failed to connect at account #{account_number}, mã lỗi: {mt5.last_error()}')# lưu trữ vốn chủ sở hữu của tài khoản của bạn
account_info = mt5.account_info()
nếu account_info là Không có:
raise RuntimeError('Không thể tải mức vốn chủ sở hữu của tài khoản.')
khác:
vốn chủ sở hữu = float(account_info[10])
Bây giờ, hãy xác định đồng xu mà chúng ta sẽ đặt giao dịch và các từ khóa mà chúng ta sẽ tìm kiếm.
# dấu hiệu tiền điện tử và từ khóa
TIỀN ĐIỆN TỬ = 'BTCUSD'
từ khóa = ['Bitcoin', 'bitcoin', 'BITCOIN', 'btc', 'BTC']
Với tất cả những thứ sơ bộ đã xong, đã đến lúc tập trung vào những phần thú vị của bot này. Hãy bắt đầu bằng cách lấy tweet cuối cùng của Elon bằng Tweepy như hình dưới đây trong get_elons_tweet() chức năng.
Trong quá trình thử nghiệm, biểu tượng cảm xúc và các ký tự không hợp lệ khác sẽ phá vỡ tập lệnh, vì vậy, mỗi tweet được định dạng lại để chỉ chứa các ký tự chữ và số.
#Nhận tweet mới nhất của Technoking
chắc chắn get_elons_tweet():
“””Nhận tweet cuối cùng của Elon theo ID người dùng — thử lại cho đến khi tweepy trả về tweet”””
tweet = tweepy.Cursor(api.user_timeline,id=”44196397", since=date.today(), tweet_mode='extended').items(1)#xóa tất cả các ký tự không hợp lệ
elons_last_tweet = [re.sub('[^A-Za-z0–9]+', ' ', tweet.full_text) cho tweet trong tweet]#thử lại cho đến khi nó trả về một giá trị — API tweepy đôi khi không trả về tweet
trong khi không phải elons_last_tweet:
tweet = tweepy.Cursor(api.user_timeline,id=”44196397", since=date.today(), tweet_mode='extended').items(1)
elons_last_tweet = [re.sub('[^A-Za-z0–9]+', ' ', tweet.full_text) cho tweet trong tweet]
trả về elons_last_tweet[0]
Bây giờ chúng tôi có tweet cuối cùng của Elon, chúng tôi có thể bắt đầu chuẩn bị logic và yêu cầu giao dịch hoạt động buôn bán(). Để biết thêm thông tin về định dạng của yêu cầu giao dịch, hãy xem tài liệu MT 5.
what_musk_said chứa tweet cuối cùng và logic sẽ kiểm tra xem có bất kỳ từ khóa nào được xác định trong từ khóa biến ở trên có trong tweet của Elon. Nếu đó là sự thật, bot giao dịch bitcoin sẽ đặt lệnh mua bitcoin với việc thực hiện ngay lập tức. Trong trường hợp nó sai, nó sẽ chỉ trả lại cho chúng tôi tweet.
#mua bitcoin
giao dịch chắc chắn():
“””Kiểm tra xem Musk có đề cập đến bitcoin hay không và mở một vị thế mua nếu có”””
what_musk_said = get_elons_tweet()# được sử dụng để kiểm tra xem một vị trí đã được đặt chưa
vị trí = mt5.positions_get(biểu tượng=CRYPTO)
đơn đặt hàng = mt5.orders_get(symbol=CRYPTO)
ký hiệu_info = mt5.symbol_info(CRYPTO)
giá = mt5.symbol_info_tick(CRYPTO).giá thầu# thực hiện kiểm tra logic
nếu có (từ khóa trong what_musk_said cho từ khóa trong từ khóa):
print(f'the madlad đã nói - mua một ít!')# chuẩn bị yêu cầu giao dịch
nếu không mt5.initialize():
tăng RuntimeError(khởi tạo f'MT5() không thành công với mã lỗi {mt5.last_error()}')# kiểm tra xem không có vị trí hoặc đơn đặt hàng mở
nếu len(vị trí) == 0 và len(đơn hàng) < 1:
nếu symbol_info là Không có:
print(f'{CRYPTO} không tìm thấy, không thể gọi order_check()')
mt5.shutdown()# nếu biểu tượng không có sẵn trong MarketWatch, hãy thêm nó
nếu không phải là symbol_info.visible:
print(f'{CRYPTO} không hiển thị, đang cố bật')
nếu không phải mt5.symbol_select(CRYPTO, True):
print('symbol_select({}}) không thành công, thoát', CRYPTO)#điều này đại diện cho 5% Vốn chủ sở hữu. Đơn hàng tối thiểu là 0.01 BTC. Tăng tỷ lệ sở hữu nếu retcode = 10014
lot = float(round(((vốn chủ sở hữu / 5) / giá), 2))# xác định cắt lỗ và chốt lời
sl = giá — (giá * 5) / 100
tp = giá + (giá * 10) / 100
yêu cầu = {
'hành động': mt5.TRADE_ACTION_DEAL,
'biểu tượng': CRYPTO,
'khối lượng': rất nhiều,
'loại': mt5.ORDER_TYPE_BUY,
'giá': giá,
'sl': sl,
'tp': tp,
'ma thuật': 66,
'bình luận': 'mua trăn',
'type_time': mt5.ORDER_TIME_GTC,
'type_filling': mt5.ORDER_FILLING_IOC,
}# gửi yêu cầu giao dịch
kết quả = mt5.order_send(yêu cầu)# kiểm tra kết quả thực hiện
print(f'1. order_send(): của {CRYPTO} {lot} rất nhiều tại {price}')nếu result.retcode != mt5.TRADE_RETCODE_DONE:
print(f'2. order_send fail, retcode={result.retcode}')#in kết quả lệnh — bất kỳ điều gì khác ngoài retcode=10009 đều là lỗi trong yêu cầu giao dịch.
print(f'2. order_send xong, {result}')
print(f' lệnh đã mở với POSITION_TICKET={result.order}')khác:
print(đã phát hiện thấy tín hiệu f'MUA, nhưng {CRYPTO} có {len(positions)} giao dịch đang hoạt động')khác:
print(f'Anh ấy không nói, anh ấy nói: {what_musk_said}')
Bây giờ chúng ta cần quyết định tần suất chúng ta nên lặp lại thông qua mã bên dưới. Theo mặc định, nó kéo và phân tích tweet cuối cùng của Elon cứ sau 5 giây một lần, nhưng điều này có thể được điều chỉnh trong thời gian ngủ chức năng bên dưới.
#thực thi mã cứ sau 5 giây
nếu __name__ == '__main__':
print('Nhấn Ctrl-C / Ctrl-Q để dừng.')
cho tôi đếm():
buôn bán()
in (f'Lặp lại {i}')
thời gian ngủ (5)
Đó là một dự án thú vị đang được thực hiện và tôi hy vọng rằng bạn thích bài viết này. Hãy theo dõi tôi nếu bạn thích bài viết này. Để biết thêm các dự án bot tiền điện tử, hãy xem blog của tôi để biết thêm bot giao dịch tiền điện tử bằng Python
- &
- truy cập
- Tài khoản
- hoạt động
- AI
- Tất cả
- phân tích
- api
- Các Ứng Dụng
- ứng dụng
- xung quanh
- bài viết
- Một chút
- Bitcoin
- kinh doanh bitcoin
- blockchain
- Công nghệ blockchain
- Blog
- Bot
- chương trình
- người môi giới
- môi giới
- BTC
- xây dựng
- Xây dựng
- mua
- mua bitcoin
- Mua
- cuộc gọi
- Catch
- chatbot
- chatbot
- mã
- Coin
- Couple
- Tạo
- Credentials
- Crypto
- Thị trường Crypto
- giao dịch crypto
- cryptocurrency
- kinh doanh cryptocurrency
- dữ liệu
- Cơ sở dữ liệu
- Dev
- Nhà phát triển
- ĐÃ LÀM
- Môi trường
- sự bình đẳng
- EU
- EV
- thực hiện
- EY
- Tập trung
- theo
- định dạng
- vui vẻ
- chức năng
- Cao
- lịch sử
- Độ đáng tin của
- Hướng dẫn
- HP
- hr
- HTTPS
- ia
- Tăng lên
- thông tin
- hội nhập
- IP
- IT
- phím
- Vua
- Kx
- mới nhất
- Cấp
- LINK
- Danh sách
- tải
- dài
- thị trường
- thị trường
- mars
- trung bình
- đề cập đến
- tháng
- mặt trăng
- MT
- THÔNG TIN
- nlp
- cung cấp
- mở
- Ý kiến
- gọi món
- đơn đặt hàng
- Nền tảng khác
- Khác
- Mật khẩu
- nền tảng
- Nền tảng
- trình bày
- giá
- Lợi nhuận
- dự án
- dự án
- Python
- RE
- Giới thiệu
- Đăng Ký
- báo cáo
- Thông tin
- REST của
- Trả về
- an toàn
- định
- Chia sẻ
- ngắn
- Đơn giản
- ngủ
- So
- Bắt đầu
- hàng
- Chiến lược
- mùa hè
- hỗ trợ
- Hỗ trợ
- Công tắc điện
- hệ thống
- nói
- Kỹ thuật
- Phân tích kỹ thuật
- Công nghệ
- Tesla
- thử nghiệm
- Kiểm tra
- Dự án
- thời gian
- Tokens
- hàng đầu
- thương mại
- ngành nghề
- Giao dịch
- Bots giao dịch
- Hội thảo
- Xu hướng
- kêu riu ríu
- us
- giá trị
- ảo
- Công việc
- công trinh
- viết