国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

python3.x - python連oanda的模擬交易api獲取json問題第六問

瀏覽:143日期:2022-06-28 17:36:26

問題描述

我在第3問中通過大家的幫助解決了下單的問題,但是在今天進行對歷史數(shù)據(jù)測試時,發(fā)現(xiàn)了一個奇怪的事情。我要對6種貨幣對進行操作(GBP_USD、EUR_USD、USD_CAD和USD_CHF、USD_JPY、AUD_USD),想讓GBP_USD、EUR_USD、USD_CAD在下買單時買,讓USD_CHF、USD_JPY、AUD_USD在下買單時賣,開始幾次交易沒有問題,但在嘗試過一次在下買單時賣后,GBP_USD、EUR_USD、USD_CAD也變成了在下買單時賣,程序如下:

import requestsdef trade(action,pairs,unit='1'): account_id = ’101-011-5898545-001’ access_token = ’33c7d4049fe8720c37918482bc830c12-06467701c963e60220d7e18436f3225d’ url = ’https://api-fxpractice.oanda.com/v3/accounts/’+account_id+’/orders’ headers = {’Content-Type’ : ’application/json’,’Authorization’:’Bearer ’+access_token}if pairs == 'GBP_USD' or 'EUR_USD' or 'AUD_USD' :if action == 'buy' : data = {'order':{'instrument':pairs,'type':'MARKET','units':unit}}if action == 'sell' : data = {'order':{'instrument':pairs,'type':'MARKET','units':'-'+unit}}if pairs == 'USD_CHF' or 'USD_JPY' or 'USD_CAD' :if action == 'buy' : data = {'order':{'instrument':pairs,'type':'MARKET','units':'-'+unit}}if action == 'sell' : data = {'order':{'instrument':pairs,'type':'MARKET','units':unit}}req = requests.post(url,json=data,headers=headers) #print(req.text)if __name__==’__main__’ : trade('buy','GBP_USD','3')

交易情況請在https://trade.oanda.com/查看,用戶名:cawa11,密碼:1122334455,謝謝

問題解答

回答1:

你的代碼寫的有問題

if pairs == 'GBP_USD' or 'EUR_USD' or 'AUD_USD'應(yīng)該改成if pairs == 'GBP_USD' or pairs == 'EUR_USD' or pairs == 'AUD_USD'但我更推薦你這樣寫if pairs in ['GBP_USD', 'EUR_USD', 'AUD_USD']

你的代碼完全可以精簡成這樣,買單、賣單用unit為正還是為負來判定:

# coding: utf-8import requestsdef trade(pairs, unit=1): account_id = ’101-011-5898545-001’ access_token = ’33c7d4049fe8720c37918482bc830c12-06467701c963e60220d7e18436f3225d’ url = ’https://api-fxpractice.oanda.com/v3/accounts/’+account_id+’/orders’ headers = {’Content-Type’ : ’application/json’,’Authorization’:’Bearer ’+access_token}#你邏輯里只提到當貨幣為['USD_CHF', 'USD_JPY', 'USD_CAD']時,只要是買單就要變成賣單 if pairs in ['USD_CHF', 'USD_JPY', 'USD_CAD'] and unit > 0:unit *= -1 data = {'order':{'instrument':pairs,'type':'MARKET','units':unit}} req = requests.post(url,json=data,headers=headers) #print(req.text)if __name__==’__main__’ : trade('GBP_USD', 1) #買 trade('GBP_USD', -1) #賣

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 顺平县| 满洲里市| 南部县| 嘉义市| 金平| 拉孜县| 洞口县| 郎溪县| 宜宾县| 灌南县| 岳池县| 长泰县| 思茅市| 米脂县| 海原县| 吴桥县| 图木舒克市| 青阳县| 赞皇县| 满城县| 盐边县| 明水县| 阿拉善左旗| 东安县| 理塘县| 论坛| 道孚县| 安图县| 泽普县| 霞浦县| 临城县| 建阳市| 长沙县| 克拉玛依市| 额尔古纳市| 吴桥县| 沐川县| 金寨县| 大冶市| 东阳市| 杭锦后旗|