【ผลลัพธ์ประจําสัปดาห์นี้ & ChatGPT】ลองจัดการพอร์ตโฟลิโอ EA ฟรีของคุณ 2 (15-19 May 2023)
นิรีวิว – เราถาม ChatGPT!
ครั้งนี้ขอแนะนำโปรแกรม MT5 ที่เขียนโดย ChatGPT หากเป็นโปรแกรมธรรมดาดูเหมือนว่าจะใช้ MT5 ได้
ถาม: ด้วย MT5EA โปรดเขียนโปรแกรมที่ “ปิดตำแหน่งทั้งหมดเมื่อกำไรรวมถึงระดับหนึ่ง" นอกจากนี้ คู่สกุลเงินทั้งหมดจะใช้สำหรับการชำระบัญชีz
เพิ่มคำแนะนำ
· โปรดระบุ “เมื่อกำไรรวมถึง 1,000 หน่วยขึ้นไป" ด้วยตัวแปรภายนอก
· ตั้งชื่อ EA เป็น “ProfitClose"
คอมไพล์ไม่สำเร็จโดยมีข้อผิดพลาดบางประการ ⇔ ในแต่ละกรณี ให้แจ้งเนื้อหาของข้อผิดพลาดตามที่เป็น
ปกติฉันจะยอมแพ้เพราะความผิดพลาด แต่คราวนี้ผ่านไปด้วยดี!
ตอบ: การตอบสนองของ ChatGPT: https://chat.openai.com/auth/login
MT5 (MetaTrader 5) อนุญาตให้สร้าง Expert Advisors (EAs) โดยใช้ภาษา MQL5 EA เป็นโปรแกรมสำหรับการเทรดอัตโนมัติ
EA ที่ตรงกับความต้องการของคุณจะมีลักษณะดังนี้: อย่างไรก็ตาม รหัสนี้จะใช้เพื่อปิดสถานะทั้งหมด ใช้งานได้เฉพาะเมื่อกำไรถึงค่าที่กำหนดหรือมากกว่านั้น
ในตัวอย่างด้านล่าง เราจะปิดตำแหน่งทั้งหมดเมื่อกำไรรวมของทุกตำแหน่งคือ 1,000 หน่วยขึ้นไป หน่วยนี้ขึ้นอยู่กับสกุลเงินที่คุณใช้ MT5
//+------------------------------------------------------------------+
//| ProfitClose.mq5 |
//| Copyright 2023, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2023, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
// Set default profit threshold to 1000
input double ProfitThreshold = 1000;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
double total_profit = 0;
for(int i=PositionsTotal()-1; i>=0; i--)
{
ulong ticket = PositionGetTicket(i);
if(ticket > 0)
{
total_profit += PositionGetDouble(POSITION_PROFIT);
}
}
if(total_profit >= ProfitThreshold) // Use the external variable here
{
for(int i=PositionsTotal()-1; i>=0; i--)
{
ulong ticket = PositionGetTicket(i);
if(ticket > 0)
{
MqlTradeRequest request;
MqlTradeResult result;
ZeroMemory(request);
request.action = TRADE_ACTION_DEAL;
request.symbol = PositionGetString(POSITION_SYMBOL);
request.volume = PositionGetDouble(POSITION_VOLUME);
request.type = PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY ? ORDER_TYPE_SELL : ORDER_TYPE_BUY;
request.price = request.type == ORDER_TYPE_BUY ? SymbolInfoDouble(request.symbol, SYMBOL_ASK) : SymbolInfoDouble(request.symbol, SYMBOL_BID);
request.deviation = 20;
request.magic = 123456;
request.comment = "Close position";
request.position = PositionGetInteger(POSITION_TICKET);
if(!OrderSend(request, result))
{
Print("OrderSend failed with error ",GetLastError());
}
else
{
Print("OrderSend succeeded, deal performed with ticket #", result.deal);
}
}
}
}
}
//+------------------------------------------------------------------+
คุณสามารถเปลี่ยนเกณฑ์กำไรได้โดยการปรับตัวแปร ProfitThreshold เมื่อเปิดใช้งาน EA หรือเปลี่ยนการตั้งค่า EA ค่าเริ่มต้นถูกกำหนดเป็น 1,000 แต่คุณสามารถเปลี่ยนเป็นค่าใดก็ได้
ทดสอบโค้ดนี้ในสภาพแวดล้อมสาธิตก่อนใช้งานเสมอ
มันสะดวก แต่ถ้าคุณพึ่งพามัน คุณจะไม่สามารถฝึกฝนทักษะการเขียนโปรแกรมของคุณได้
MQL5 ฟรี EA – NOZAX Portfolio No.2
NOZAX Portfolio No.2
- บัญชี: NZX Zero (ECN) (NOZAX)
- ยอดเงินเริ่มต้น: 100,000 เยน
- ทํางาน EA:
- TraderMind EA MT5: คู่สกุลเงิน: USDCAD#, กรอบเวลา: 1 ชั่วโมง, ปริมาณล็อต: 0.04 ล็อต
- White Bear DT for NOZAX v1.13: คู่สกุลเงิน: USDJPY#, กรอบเวลา: 5 นาที, ปริมาณล็อต: 0.02 ล็อต
- Gold Multiply Funds EA: คู่สกุลเงิน: XAUUSD#, กรอบเวลา: 30 นาที, ปริมาณล็อต: 0.01 ล็อต
- Catastrofix EA MT5: คู่สกุลเงิน: EURBGP#, EURAUD#, EURNZD#, EURUSD#, GBPCAD#, AUDJPY#, กรอบเวลา: 1 ชั่วโมง, ปริมาณล็อต: 0.01 ล็อต
ผลลัพธ์ตั้งแต่วันที่ 15 ถึง 19 พฤษภาคม (NOZAX Portfolio No.2)
- TraderMind EA MT5: ชนะ 1 และขาดทุน 1 ครั้ง กําไรและขาดทุนรวม -1737 เยน (-41.0pips).
- White Bear DT USDJPY: ชนะ 8 และขาดทุน 2 ครั้ง กําไรและขาดทุนรวม -575 เยน (-22.7 pips).
- Gold Multiply Funds EA: ชนะ 1 และขาดทุน 4 ครั้ง กําไรและขาดทุนรวม -3064 เยน (-2194pips).
- Catastrofix EA MT5: ชนะ 7 และขาดทุน 6 ครั้ง กําไรและขาดทุนรวม 3861 เยน (401.7pips).
ผลลัพธ์ที่ผ่านมา(NOZAX Portfolio No.2)
ผลงานรายบุคคลของ EA แต่ละตัวในพอร์ตโฟลิโอหมายเลข 2 มีดังนี้
- 10 April-19 May 2023
(การซื้อขายที่มีกำไรแม้แต่ 1 เยนจะนับเป็น “ชนะ" ในขณะที่การย้อนกลับจะนับเป็น “ลบ")
- ยอดคงเหลือ: 100,000 เยน → 100,487 เยน
สถานะปัจจุบันและกําหนดการของพอร์ตโฟลิโอ
Gold Multiply Funds EA เป็น EA ที่ซื้อขาย XAUUSD และฉันมีความหวังสูงสำหรับมัน แต่ผลลัพธ์ที่ได้กลับไม่ดีนักตั้งแต่เริ่มการทดสอบ EA นี้ดูเหมือนว่าจะใช้ AI เพื่อค้นหาจุดเริ่มต้น แต่ฉันรู้สึกว่าความแม่นยำของการคาดการณ์ของ AI กำลังลดลง
เพียงแต่ว่ามันไม่ตรงกับตลาด และไม่มีความเป็นไปได้ที่มันจะดีขึ้นในอนาคต ดังนั้นฉันจะลบมันออกจากพอร์ตโฟลิโอนี้ชั่วคราวและดูว่ามันจะเป็นยังไงกับบัญชีทดลอง
TraderMind EA MT5 และ White Bear DT ไม่อยู่ในสภาพที่ดี ดังนั้นมันจึงค่อนข้างน่ารำคาญ แต่สัปดาห์หน้าฉันจะพยายามเปลี่ยนพอร์ตโฟลิโอของฉันด้วยสองสิ่งนี้และ Catastrofix EA