ส่งคำสั่งซื้อขายด้วย Python ไม่ได้

  • 3 replies
  • 135 views

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ส่งคำสั่งซื้อขายด้วย Python ไม่ได้

« เมื่อ: 15, กรกฎาคม 2021, 01:13:23 PM »
สวัสดีครับ พอดีอยากลองคำสั่งซื้อขายผ่าน Python หาข้อมูลจากที่อื่นได้น้อยมาก ล็อกอินเข้าไปได้แล้วพอเป็นคำสั่งเข้าซื้อ กับเกิด error ดังภาพ
โค๊ด
# prepare the buy request structure
symbol = "EURUSD"
symbol_info = mt5.symbol_info(symbol)
if symbol_info is None:
    print(symbol, "not found, can not call order_check()")
    mt5.shutdown()
    quit()

# if the symbol is unavailable in MarketWatch, add it
if not symbol_info.visible:
    print(symbol, "is not visible, trying to switch on")
    if not mt5.symbol_select(symbol,True):
        print("symbol_select({}}) failed, exit",symbol)
        mt5.shutdown()
        quit()

lot = 0.1
point = mt5.symbol_info(symbol).point
price = mt5.symbol_info_tick(symbol).ask
deviation = 20
request = {
    "action": mt5.TRADE_ACTION_DEAL,
    "symbol": symbol,
    "volume": lot,
    "type": mt5.ORDER_TYPE_BUY,
    "price": price,
    "sl": price - 100 * point,
    "tp": price + 100 * point,
    "deviation": deviation,
    "magic": 234000,
    "comment": "python script open",
    "type_time": mt5.ORDER_TIME_GTC,
    "type_filling": mt5.ORDER_FILLING_RETURN,
}

# send a trading request
result = mt5.order_send(request)
# check the execution result
print("1. order_send(): by {} {} lots at {} with deviation={} points".format(symbol,lot,price,deviation));
if result.retcode != mt5.TRADE_RETCODE_DONE:
    print("2. order_send failed, retcode={}".format(result.retcode))
    # request the result as a dictionary and display it element by element
    result_dict=result._asdict()
    for field in result_dict.keys():
        print("   {}={}".format(field,result_dict[field]))
        # if this is a trading request structure, display it element by element as well
        if field=="request":
            traderequest_dict=result_dict[field]._asdict()
            for tradereq_filed in traderequest_dict:
                print("       traderequest: {}={}".format(tradereq_filed,traderequest_dict[tradereq_filed]))
    print("shutdown() and quit")
    mt5.shutdown()
    quit()

print("2. order_send done, ", result)
print("   opened position with POSITION_TICKET={}".format(result.order))
print("   sleep 2 seconds before closing position #{}".format(result.order))
time.sleep(2)

Share Topic.


*

ออนไลน์ admin

  • *
  • 66,369
  • 2618

Re: ส่งคำสั่งซื้อขายด้วย Python ไม่ได้

« ตอบกลับ #1 เมื่อ: 15, กรกฎาคม 2021, 01:31:43 PM »
รอIT เราว่างมาตอบให้นะครับ ตอนนี้ ติด โปรเจค
"เอาชนะใจตัวเองให้ได้ ก่อนที่จะไปเอาชนะตลาด"

*

ออฟไลน์ iRuler

  • *
  • 1,255
  • 39

Re: ส่งคำสั่งซื้อขายด้วย Python ไม่ได้

« ตอบกลับ #2 เมื่อ: 15, กรกฎาคม 2021, 01:44:08 PM »
ขอโทษครับ พอดีไม่ถนัด python เลยครับ
พอดีไม่เห็นว่าโบร้กเกอร์อะไร อาจเป็นไปได้ว่า ชื่อคู่เงินของโบร้กนี้ไม่ได้ชื่อ EURUSD หรือเปล่าอาจจะเป็น แบบ EURUSDf, EURUSDm อะไรงี้

 (TH)** (TH)** (TH)**

Re: ส่งคำสั่งซื้อขายด้วย Python ไม่ได้

« ตอบกลับ #3 เมื่อ: 15, กรกฎาคม 2021, 05:59:28 PM »
ขอโทษครับ พอดีไม่ถนัด python เลยครับ
พอดีไม่เห็นว่าโบร้กเกอร์อะไร อาจเป็นไปได้ว่า ชื่อคู่เงินของโบร้กนี้ไม่ได้ชื่อ EURUSD หรือเปล่าอาจจะเป็น แบบ EURUSDf, EURUSDm อะไรงี้

 (TH)** (TH)** (TH)**
ลองใส่แล้วครับ เหมือนเดิม

Tags:
 

เครื่องมือเทรด Forex

ข่าว Forex กราฟ Forex EURUSD GBPUSD GBPJPY ตารางข่าว Forex ร่วมงานกับเรา

เครื่องมือเทรดทองคำ

ราคาทอง วันนี้ ราคาทอง ย้อนหลัง SPDR ล่าสุด กราฟราคาทองคำ วิเคราะห์ ราคาทอง ข่าว ราคาทองคำ ข่าว ราคาน้ำมัน

โบรคเกอร์ Forex

XM Exness FBS Nordfx Land-FX Admiral Markets