Ich habe das Problem, eine Bestellung aufzugeben, mit der Hilfe aller in der dritten Frage gelöst, aber als ich heute die historischen Daten getestet habe, habe ich etwas Seltsames entdeckt. Ich möchte mit 6 Währungspaaren arbeiten (GBP_USD, EUR_USD, USD_CAD und USD_CHF, USD_JPY, AUD_USD). Ich möchte, dass GBP_USD, EUR_USD, USD_CAD bei einer Kauforder gekauft werden, und USD_CHF, USD_JPY und AUD_USD bei einer Kauforder verkauft werden Ein paar Transaktionen starten Es ist kein Problem, aber nachdem ich einmal versucht habe, zu verkaufen, wenn ich eine Kauforder aufgegeben habe, wechselten GBP_USD, EUR_USD, USD_CAD auch zum Verkaufen, wenn ich eine Kauforder aufgab. Die Vorgehensweise ist wie folgt:
import requests
def 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")
Bitte überprüfen Sie den Transaktionsstatus unter https://trade.oanda.com/, Benutzername: cawa11, Passwort: 1122334455, vielen Dank
你的代码写的有问题
你的代码完全可以精简成这样,买单、卖单用unit为正还是为负来判定: