>  Q&A  >  본문

json - Python 및 oanda의 시뮬레이션 거래 API를 사용한 주문에 대한 세 번째 질문

이번에는 USD_CAD 50개 계약을 현재 시장 가격으로 구매하려고 합니다
절차:
import 요청
import json

현재 USD_CAD 환율 보기------------------------------- -- ------------------------------------------------ --

url = 'https://api-fxpractice.oanda....'
instruments = 'USD_CAD'
account_id = 'cawa11' #사용자 이름
params = {'instruments':instruments,'accountId':account_id}
access_token = 'a554db3a48ac8180a6996a5547ba1663-ac5947e64456cc5842a34f4ce05e4380'
headers = {'Authorization':'Bearer'+access_token}
r = 요청.get(url,headers = headers, params=params)
가격 = r.json( )
인쇄(가격)

현재 시장 가격으로 50 USD_CAD 계약 구매---------------------------- ----- ----------------

url = 'https://api-fxpractice.oanda....' #5898545는 계정 101-011-5898545-001의 일부입니다.
headers = {'Content-Type' : 'application/x-www-form- urlencoded','Authorization':'Bearer '+access_token}
data = {'instrument':'USD_CAD','accountId':'cawa11','units':50,'type':'market','side' :'buy'}
req = 요청.포스트(url,data=data,headers=headers)
print(req.text)
print(req.json())

두 번째 프로그램 오류 보고:
{"code" : 4,"message": "제공된 액세스 토큰이 이 요청을 허용하지 않습니다.","moreInfo":"http://developer.oanda.com/docs /v1/auth/#overview"}
{'message': '제공된 액세스 토큰은 이 요청을 허용하지 않습니다.', 'moreInfo': 'http://developer.oanda.com/do...' , 'code': 4}
하지만 첫 번째 프로그램의 정상적인 작동을 통해 액세스 토큰에는 문제가 없습니다. 동시에 http://developer.oanda.com/do에 오류 목록이 있습니다.. . 오류 목록

으아악

첨부된 문서는 oanda 회사의 문서입니다:
import http.client
import urllib
import json
import datetime

이 파일에는 OANDA API에 대한 매우 간단한 호출이 포함되어 있습니다

이는 임계값을 초과한 경우 해당 상품의 현재 가격을 확인하고 거래를 하라는 의미입니다

def checkAndTrade():

으아악

위와 동일한 가격으로 주문이 설정되며, 가격이 0.994

를 넘으면 거래가 실행됩니다.

정의 순서():

으아악

order()
checkAndTrade()
이 프로그램은 오래되었을 수 있으며 API 주소가 현재 API 주소와 다릅니다

为情所困为情所困2711일 전1053

모든 응답(2)나는 대답할 것이다

  • 某草草

    某草草2017-05-18 10:56:22

    계정에는 데이터를 읽을 수 있는 권한이 있지만 주문할 수 있는 권한이 없을 수도 있습니다.
    지금 겪고 있는 문제는 모두 API와 관련되어 있습니다. 그렇지 않으면 앞으로 수많은 유사한 문제에 직면하게 될 것입니다

    이 API에 익숙하지 않은 분은 도움을 드릴 수 없습니다.
    ======================================================= =========
    웹사이트에서 주문하고 모니터링하시면 귀하의 URL과 데이터가 웹사이트의 것과 전혀 다른 것을 발견하실 수 있습니다

    으아아아

    ================================================ === ===================

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-18 10:56:22

    @prolifes:

    test.py---------------------------------- -------

    from vnoanda import OandaApi
    if name == '__main__':

    으아악

    vnoanda.py---------------------------------- ----------------

    인코딩: utf-8

    import json
    import 요청
    from Queue import Queue, 비어 있음
    from threading import Thread

    API_SETTING = {}
    API_SETTING['practice'] = {'휴식': 'https://api-fxpractice.oanda.com','stream': 'https://stream-fxpractice.oan...' }
    API_SETTING['trade'] = {'휴식': 'https://api-fxtrade.oanda.com','stream': 'https://stream-fxtrade.oanda....'}

    FUNCTIONCODE_GETINSTRUMENTS = 0
    FUNCTIONCODE_GETPRICES = 1
    FUNCTIONCODE_GETPRICEHISTORY = 2
    FUNCTIONCODE_GETACCOUNTS = 3
    FUNCTIONCODE_GETACCOUNTINFO = 4
    FUNCTIONCODE_GETORDERS = 5
    FUNCTIONCODE_SENDORDER = 6
    FUNCTIONCODE_GETORDERINFO = 7
    FUNCTIONCODE_MODIFYORDER = 8
    FUNCTIONCODE_CANCELORDER = 9
    FUNCTIONCODE_GETTRADES = 10
    FUNCTIONCODE_GETTRADEINFO = 11
    FUNCTIONCODE_MODIFYTRADE = 12
    FUNCTIONCODE_CLOSETRADE = 13
    FUNCTIONCODE_GETPOSITIONS = 14
    FUNCTIONCODE_GETPOSITIONINFO= 15
    FUNCTIONCODE_CLOSEPOSITION = 16
    FUNCTIONCODE_GETTRANSACTIONS = 17
    FUNCTIONCODE_GETTRANSACTIONINFO = 18
    FUNC TIONCODE_GETACCOUNTHISTORY = 19
    FUNCTIONCODE_GETCALENDAR = 20
    FUNCTIONCODE_GETPOSITIONRATIOS = 21
    FUNCTIONCODE_GETSPREADS = 22
    FUNCTIONCODE_GETCOMMIMENTS = 23
    FUNCTIONCODE_GETORDERBOOK = 24
    FUNCTIONCODE_GETAUTOCHARTIST = 25
    FUNCTIONCODE_STREAMPRICES = 26
    FUNCTIONCODE_STREAMEVENTS = 27

    클래스 OandaApi(객체):

    으아악

    회신하다
    0
  • 취소회신하다