ทำให้การซื้อขายของคุณดำเนินการโดยอัตโนมัติ
ภาษาของคุณ
กฎเกณฑ์ของคุณ

เปลี่ยนไอเดียการเทรดของคุณให้เป็นการปฏิบัติจริงด้วย GMI Edge API – เขียนโค้ดและทำให้บอทเทรดของคุณทำงานอัตโนมัติได้ในทุกภาษาที่คุณเลือก ไม่ว่าจะเป็น Python, C, C++, C# และอื่นๆ

ข้อดีของบอทเทรดเทียบกับการเทรดเอ

ตลาดเปิด 24 ชั่วโมง

บอทไม่เคยหยุดทำงาน — จับโอกาสในการเทรดได้ทั้งกลางวันและกลางคืน แม้ในขณะที่คุณพักผ่อน

การเทรดโดยไม่ขึ้นกับอารมณ์

ขจัดความกลัวและความโลภ บอทจะดำเนินการตามแผนของคุณอย่างมั่นใจไร้ความลังเล

ตอบสนองต่อเหตุการณ์ตลาดได้ทันที

ตอบสนองอัตโนมัติต่อการพุ่งของราคา ข่าวสาร หรือความผันผวน ได้รวดเร็ว

ความสามารถในการขยายระบบ

บริหารกลยุทธ์ซับซ้อนหรือการเทรดความถี่สูงในระดับที่ไม่สามารถทำได้ด้วยมือ

วิธีการทำงาน

ลงทะเบียนหรือล็อกอินเข้าสู่พื้นที่สมาชิก GMI

รับข้อมูลยืนยันตัวตนสำหรับบัญชีเทรด GMI EDGE ของคุณ

อ่านเอกสารประกอบและเริ่มเขียนกลยุทธ์การเทรดของคุณ

เปิดใช้งานบอทเทรดของคุณและให้มันเทรดแทนคุณ

คุณสมบัติ

อิสระความหลากหลายทางภาษา

สร้างบอทของคุณด้วยภาษาการเขียนโปรแกรมใดก็ได้—Python, C++, C#, Java, JavaScript, Go และอีกมากมาย ไม่มีข้อจำกัด

ศักยภาพในการทำงานอัตโนมัติแบบไม่จำกัด

ไม่มีข้อจำกัดทั้งในด้านจำนวนหรือความซับซ้อนของบอท—ขยายจาก บอทเทรด ระดับง่ายไปจนถึงกลยุทธ์ขั้นสูงที่รองรับหลากหลายสินทรัพย์และบัญชี

รองรับการทำงานข้ามแพลตฟอร์ม

ใช้ API ได้จาก Windows, Mac, Linux หรือแม้กระทั่งเซิร์ฟเวอร์บนคลาวด์—รันบอทของคุณได้ทุกที่ที่ต้องการ

โครงสร้างที่ทันสมัยและโปร่งใส

ไม่มีเลเยอร์ที่ซ่อนอยู่หรือภาษาสคริปต์เฉพาะ คุณสามารถเขียนโค้ดเชื่อมต่อกับ API ได้โดยตรงเพื่อความโปร่งใสและยืดหยุ่นสูงสุด

คำถามที่พบบ่อย

GMI Edge API คืออะไร?
GMI Edge API เป็นเครื่องมืออันทรงพลังที่ช่วยให้คุณสามารถทำการเทรดแบบอัตโนมัติได้โดยการสร้างบอทด้วยภาษาการเขียนโปรแกรมใดก็ได้ เชื่อมต่อโดยตรงกับบัญชี GMI ของคุณ โดยรับข้อมูลตลาดแบบเรียลไทม์ และส่งคำสั่งซื้อขายได้โดยอัตโนมัติ
สามารถใช้ภาษาโปรแกรมใดกับ GMI Edge API ได้บ้าง?
คุณสามารถใช้ภาษาโปรแกรมใดก็ได้ ไม่ว่าจะเป็น Python, C++, C#, Java, JavaScript หรือภาษาอื่น ๆ โดยที่GMI Edge API มีความยืดหยุ่นเพื่อตอบโจทย์เวิร์กโฟลว์ของคุณ
การเชื่อมต่อ API ปลอดภัยแค่ไหน?
การสื่อสารทั้งหมดผ่าน API จะถูกเข้ารหัสเพื่อความปลอดภัยของคุณ และในเร็ว ๆ นี้เราจะเพิ่มระบบยืนยันตัวตนด้วย API Key เพื่อเพิ่มชั้นความปลอดภัยและการควบคุมมากยิ่งขึ้น
มีการสนับสนุนอะไรบ้างสำหรับผู้ใช้งาน API?
คุณจะได้รับการสนับสนุนทางเทคนิคเฉพาะทาง เอกสารประกอบที่ละเอียด ตัวอย่างโค้ด และชุมชนนักพัฒนาที่มีการใช้งานอย่างต่อเนื่อง สำหรับผู้ใช้งานขั้นสูงสามารถขอรับการสนับสนุนแบบพิเศษ ได้
มีข้อจำกัดการใช้งานหรือค่าธรรมเนียมสำหรับ API หรือไม่?
GMI Edge API เปิดให้บริการฟรีสำหรับลูกค้า GMI Edge ทุกคน โดยไม่มีค่าธรรมเนียมหรือค่าใช้จ่ายแอบแฝง
สามารถทดสอบบอทเทรดได้โดยไม่ต้องเสี่ยงใช้เงินจริงได้หรือไม่?
ได้แน่นอน GMI Edge มีบัญชีเดโมให้คุณทดลองและปรับแต่งกลยุทธ์ของคุณได้อย่างปลอดภัยโดยไม่ต้องใช้เงินจริง

ตัวอย่างโค้ดสำหรับบอทเทรด

import yaml

import httpx

import sys

import ssl

from datetime import datetime, timedelta

import time



def read_config(filename):

with open(filename, "r") as file:

return yaml.safe_load(file)



def check_response(response):

if response.status_code == httpx.codes.OK:

return

error_body = response.json()

error_code = error_body["Code"]

error_message = error_body["Error"]

print(f"[{error_code}] {error_message}")

sys.exit(-1)



def report_position(position):

order_id = position["OrderId"]

amount = position["Amount"]

symbol = position["Symbol"]

order_side = position["OrderSide"]

order_status = position["OrderStatus"]

print(f"#{order_id} {symbol} {amount} {order_side} {order_status}")



def time_to_seconds(time_text):

t = datetime.strptime(time_text, "%M:%S")

delta = timedelta(minutes=t.minute, seconds=t.second)

return delta.total_seconds()



def find_position_profit(orders_state, order_id):

pos_state = next(

order for order in orders_state if order["OrderId"] == order_id

)

return pos_state["Profit"]



if __name__ == "__main__":

print("Reading bot configuration...")

config = read_config("bot-config.yaml")

api_url = config["api-url"]

account = config["account"]

password = config["password"]

symbols = config["symbols"]

pause1 = config["pause1"]

pause1_sec = time_to_seconds(pause1)

pause2 = config["pause2"]

pause2_sec = time_to_seconds(pause2)

print("Done.")


print(f"Connecting to account {account} via {api_url}...")

ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)

ssl_context.load_default_certs()

http = httpx.Client(verify=ssl_context)

login_response = http.post(

api_url + "/login", json={"BotId": account, "Password": password}

)

check_response(login_response)


print("Connected.")

access_token = login_response.json()["AccessToken"]

auth_headers = {"Authorization": "Bearer " + access_token}


try:

while True:

print("Checking my open positions...")

open_pos_response = http.get(

api_url + "/positionlist", headers=auth_headers

)

check_response(open_pos_response)

all_positions = open_pos_response.json()["Orders"]

my_positions = [

p for p in all_positions if p["OrderSource"] == "TRADING_API"

]


if len(my_positions) == 0:

print("No open positions.")

else:

for position in my_positions:

report_position(position)


print("Closing my open positions...")

for position in my_positions:

order_id = position["OrderId"]

close_pos_response = http.post(

api_url + "/closeposition",

json={"OrderId": order_id},

headers=auth_headers,

)

check_response(close_pos_response)


print("Closed.")


for symbol in symbols:

print(f"Checking symbol {symbol}...")

syminfo_response = http.post(

api_url + "/symbolinfo",

json={"Symbol": symbol},

headers=auth_headers,

)

check_response(syminfo_response)

min_lots = syminfo_response.json()["MinTradeAmount"]

lot_size = syminfo_response.json()["ContractSize"]

min_amount = min_lots * lot_size


print(f"Minimum tradable amount for {symbol}: {min_amount}")


print("Opening positions")

pos_ids = []

for symbol in symbols:

buy_pos_response = http.post(

api_url + "/sendorder",

json={

"Symbol": symbol,

"OrderSide": "BUY",

"OrderType": "MARKET",

"Amount": min_amount,

},

headers=auth_headers,

)

check_response(buy_pos_response)

report_position(buy_pos_response.json())

buy_pos_id = buy_pos_response.json()["OrderId"]


sell_pos_response = http.post(

api_url + "/sendorder",

json={

"Symbol": symbol,

"OrderSide": "SELL",

"OrderType": "MARKET",

"Amount": min_amount,

},

headers=auth_headers,

)

check_response(sell_pos_response)

report_position(sell_pos_response.json())

sell_pos_id = sell_pos_response.json()["OrderId"]

pos_ids.append((buy_pos_id, sell_pos_id))


print(f"Wait {pause1}...")

time.sleep(pause1_sec)

print("Checking profit and loss...")

account_state_response = http.get(

api_url + "/accountstate", headers=auth_headers

)

check_response(account_state_response)

balance = account_state_response.json()["AccountState"]["Balance"]

print(f"Account balance: {balance}")

orders_state = account_state_response.json()["OrderStates"]


to_close = []

for buy_pos_id, sell_pos_id in pos_ids:

buy_pos_profit = find_position_profit(orders_state, buy_pos_id)

sell_pos_profit = find_position_profit(

orders_state, sell_pos_id

)

print(f"#{buy_pos_id} PROFIT {buy_pos_profit}")

print(f"#{sell_pos_id} PROFIT {sell_pos_profit}")


if buy_pos_profit <= sell_pos_profit:

to_close.append(buy_pos_id)

else:

to_close.append(sell_pos_id)


print("Close less profitable position in each pair...")


for order_id in to_close:

print(f"Closing #{order_id}...")

close_response = http.post(

api_url + "/closeposition",

json={"OrderId": order_id},

headers=auth_headers,

)

check_response(close_response)

print("Done.")

คำอธิบาย

โค้ดที่ได้อธิบายไว้มีการกำหนดลำดับการทำงานของบอทเทรดดังนี้:


  • 1. เชื่อมต่อไปยัง Trading API สำหรับบัญชีที่กำหนด
  • 2. เลือกสัญลักษณ์เป้าหมาย
  • 3. ระบุโพซิชั่นทั้งหมดที่ถูกเปิดโดยบอทสำหรับสัญลักษณ์เหล่านี้
  • 4. ปิดโพซิชั่นที่บอทเปิดไว้ทั้งหมดสำหรับสัญลักษณ์ที่เลือก
  • 5. เปิด 2 โพซิชั่นตรงข้ามกันสำหรับหนึ่งสัญลักษณ์:
    • โพซิชั่นซื้อ
    • โพซิชั่นขาย
  • 6. หลังจาก 1 นาที: ปิดโพซิชั่นที่ขาดทุน (ตาม PnL ปัจจุบัน)
  • 7. หลังจาก 1 นาที: ทำซ้ำกระบวนการทั้งหมดตั้งแต่ขั้นตอนที่ 1

แพลตฟอร์มการซื้อขาย GMI Edge ใหม่ของเรา!

ออกแบบมาเพื่อส่งเสริมประสบการณ์การซื้อขายของคุณ แพลตฟอร์มการซื้อขาย Edge นำมาซึ่งยุคใหม่ของโอกาสในโลกการซื้อขายฟอร์เร็กซ์

ทำให้การซื้อขายของคุณดำเนินการโดยอัตโนมัติ. ภาษาของคุณ. กฎเกณฑ์ของคุณ.

เปลี่ยนไอเดียการเทรดของคุณให้เป็นการปฏิบัติจริงด้วย GMI Edge API – เขียนโค้ดและทำให้บอทเทรดของคุณทำงานอัตโนมัติได้ในทุกภาษาที่คุณเลือก ไม่ว่าจะเป็น Python, C, C++, C# และอื่นๆ