สวัสดีครับเพื่อนๆ เทรดเดอร์ทุกคน! วันนี้เรามาพูดถึง Night Scalper Multi ระบบเทรดอัตโนมัติที่ออกแบบมาเพื่อการเทรดในช่วงเวลากลางคืนและสามารถทำการซื้อขายได้หลายสกุลเงินพร้อมกันครับ
ระบบนี้จะทำการเทรดจนถึงเที่ยงคืนตามเวลาของเทอร์มินัล โดยใช้การวิเคราะห์จาก Bollinger Bands เพื่อกำหนดช่วงราคาที่เหมาะสมในการเข้าเทรด ดังนั้นเรามาดูกันว่ามันทำงานอย่างไร
BBHandle=iBands(symb,0,per,0,dev,0); CopyBuffer(BBHandle,1,0,1,up); CopyBuffer(BBHandle,2,0,1,dn); double r=up[0]-dn[0];
ระบบจะเปิดตำแหน่งซื้อขายหลังจากเวลาที่กำหนดใน Start และหากไม่มีการเปิดตำแหน่งในสัญลักษณ์นั้นๆ
if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s))
ถ้าราคาต่ำกว่าขอบล่างของ Bollinger Bands และระยะห่างของช่องน้อยกว่าค่าที่กำหนดไว้ในตัวแปร Razmah ระบบจะทำการซื้อ
if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point);
ในทางกลับกัน ถ้าราคาอยู่เหนือขอบบนของ Bollinger Bands และระยะห่างน้อยกว่าค่าที่กำหนดใน Razmah ระบบจะทำการขาย
if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point);
ตำแหน่งการเทรดจะถูกปิดโดยการตั้ง Stop Loss หรือจะถูกปิดอัตโนมัติหลังจากเวลาเที่ยงคืน
elseif(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb);
การเทรดจะดำเนินการผ่านฟังก์ชัน SymbolTrade และใช้คลาส СTrade:
void SymbolTrade(string symb,int stop,int take,int per,double dev,double razmah,int start) { string s=(string)start+":00"; doubleAsk=SymbolInfoDouble(symb,SYMBOL_ASK); doubleBid=SymbolInfoDouble(symb,SYMBOL_BID); BBHandle=iBands(symb,0,per,0,dev,0); CopyBuffer(BBHandle,1,0,1,up); CopyBuffer(BBHandle,2,0,1,dn); double r=up[0]-dn[0]; if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s)) { if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point); if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point); } elseif(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb); }
การดำเนินการเทรดจะทำในแท่งใหม่
if(bars!=Bars(NULL,0)) { if(Symbol1!="") SymbolTrade(Symbol1,StopLoss1,TakeProfit1,BBPeriod1,BBDev1,Razmah1,Start1); if(Symbol2!="") SymbolTrade(Symbol2,StopLoss2,TakeProfit2,BBPeriod2,BBDev2,Razmah2,Start2); if(Symbol3!="") SymbolTrade(Symbol3,StopLoss3,TakeProfit3,BBPeriod3,BBDev3,Razmah3,Start3); ... } bars=Bars(NULL,0);
การตั้งค่าต่างๆ:
inputstring Symbol1 = "USDCAD"; // ชื่อ Symbol1inputint StopLoss1 = 370; // StopLoss1inputint TakeProfit1 = 20; // TakeProfit1inputint BBPeriod1 = 40; // ระยะเวลาของ Bands1inputdouble BBDev1 = 1; // การเบี่ยงเบนของ Bands1inputdouble Razmah1 = 450; // การเบี่ยงเบนของ Bands1 ใน Pointsinputint Start1 = 19; // เวลาเริ่มต้น1inputstring Symbol2 = "GBPUSD"; // ชื่อ Symbol2inputint StopLoss2 = 450; // StopLoss2inputint TakeProfit2 = 80; // TakeProfit2inputint BBPeriod2 = 8; // ระยะเวลาของ Bands2inputdouble BBDev2 = 1; // การเบี่ยงเบนของ Bands2inputdouble Razmah2 = 200; // การเบี่ยงเบนของ Bands2 ใน Pointsinputint Start2 = 20; // เวลาเริ่มต้น2inputstring Symbol3 = "NZDUSD"; // ชื่อ Symbol3inputint StopLoss3 = 410; // StopLoss3inputint TakeProfit3 = 40; // TakeProfit3inputint BBPeriod3 = 4; // ระยะเวลาของ Bands3inputdouble BBDev3 = 1.2; // การเบี่ยงเบนของ Bands3inputdouble Razmah3 = 450; // การเบี่ยงเบนของ Bands3 ใน Pointsinputint Start3 = 19; // เวลาเริ่มต้น3inputstring Symbol4 = ""; // ชื่อ Symbol4inputint StopLoss4 = 500; // StopLoss4inputint TakeProfit4 = 40; // TakeProfit4inputint BBPeriod4 = 24; // ระยะเวลาของ Bands4inputdouble BBDev4 = 1; // การเบี่ยงเบนของ Bands4inputdouble Razmah4 = 200; // การเบี่ยงเบนของ Bands4 ใน Pointsinputint Start4 = 20; // เวลาเริ่มต้น4inputstring Symbol5 = ""; // ชื่อ Symbol5inputint StopLoss5 = 500; // StopLoss5inputint TakeProfit5 = 40; // TakeProfit5inputint BBPeriod5 = 24; // ระยะเวลาของ Bands5inputdouble BBDev5 = 1; // การเบี่ยงเบนของ Bands5inputdouble Razmah5 = 200; // การเบี่ยงเบนของ Bands5 ใน Pointsinputint Start5 = 20; // เวลาเริ่มต้น5inputstring Symbol6 = ""; // ชื่อ Symbol6inputint StopLoss6 = 500; // StopLoss6inputint TakeProfit6 = 40; // TakeProfit6inputint BBPeriod6 = 24; // ระยะเวลาของ Bands6inputdouble BBDev6 = 1; // การเบี่ยงเบนของ Bands6inputdouble Razmah6 = 200; // การเบี่ยงเบนของ Bands6 ใน Pointsinputint Start6 = 20; // เวลาเริ่มต้น6inputstring Symbol7 = ""; // ชื่อ Symbol7inputint StopLoss7 = 500; // StopLoss7inputint TakeProfit7 = 40; // TakeProfit7inputint BBPeriod7 = 24; // ระยะเวลาของ Bands7inputdouble BBDev7 = 1; // การเบี่ยงเบนของ Bands7inputdouble Razmah7 = 200; // การเบี่ยงเบนของ Bands7 ใน Pointsinputint Start7 = 20; // เวลาเริ่มต้น7inputstring Symbol8 = ""; // ชื่อ Symbol8inputint StopLoss8 = 500; // StopLoss8inputint TakeProfit8 = 40; // TakeProfit8inputint BBPeriod8 = 24; // ระยะเวลาของ Bands8inputdouble BBDev8 = 1; // การเบี่ยงเบนของ Bands8inputdouble Razmah8 = 200; // การเบี่ยงเบนของ Bands8 ใน Pointsinputint Start8 = 20; // เวลาเริ่มต้น8inputstring Symbol9 = ""; // ชื่อ Symbol9inputint StopLoss9 = 500; // StopLoss9inputint TakeProfit9 = 40; // TakeProfit9inputint BBPeriod9 = 24; // ระยะเวลาของ Bands9inputdouble BBDev9 = 1; // การเบี่ยงเบนของ Bands9inputdouble Razmah9 = 200; // การเบี่ยงเบนของ Bands9 ใน Pointsinputint Start9 = 20; // เวลาเริ่มต้น9inputdouble Lot = 1; // ขนาดล็อตในการเทรด

Fig1. ผลลัพธ์การเทรดของ EA: EURUSD, H1

Fig.2. รายการเทรดของ EA ในบันทึก

Fig.3. ผลลัพธ์การเทรดและการปรับแต่งของ EA ตั้งแต่ 11.01.2016 ถึง 13.09.2016: USDCAD, GBPUSD, NZDUSD, H1
เคล็ดลับ:
- แนะนำให้ใช้ EA เป็นผู้ช่วยในการเทรดและพัฒนากลยุทธ์ของคุณเอง

ความคิดเห็น 0