traderider forex ไทย

ขอแนวคิดและหลักการเขียนอีเอครับ

  • 7 replies
  • 739 views

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

*

ออฟไลน์ gaothun

  • **
  • 90
  • 0

ขอแนวคิดและหลักการเขียนอีเอครับ

« เมื่อ: 10, พฤษภาคม 2019, 04:16:14 PM »
ผมขอแนวคิดและหลักการเขียนอีเอตัวนี้หน่อยครับ ว่าเขาต้องเช็คค่า เช็คจุดเปิดออร์เดอร์อย่างไร เพื่อไม่ให้ซ้ำกันครับ

แนวคิดก็คือ ไม่สนใจแนวโน้ม เปิด MT4 มาปุ๊บ เข้าออร์เดอร์ บายและเซลพร้อมกันเลยครับ
- หากราคาวิ่งไปทางใดทางหนึ่งทุก ๆ 100 Point จะเปิดออร์เดอร์เพิ่มเป็นคู่ทั้งออร์เดอร์บายและเซล เหมือนการมาติงเกล
- เมื่อไหร่ที่ราคาวิ่งไปจนออร์เดอร์ที่บวก บวกครบ 5 ไม้แล้ว ให้ปิดทั้ง 5 ไม้ และลบไม้ที่ติดลบมากที่สุด (ไม้ตรงข้าม) ออก  1 ไม้
- เมื่อปิดแล้ว ก็จะเหลือออร์เดอร์อยู่ฝั่งติดลบอยู่ฝั่งเดียว หากราคากลับไปที่เดิมก็จะเปิดออร์เดอร์ที่เคยปิดบวกไป เช่น เปิดออร์เดอร์ บาย 5 ไม้ เซล 5 ไม้ เมื่อราคาวิ่งขึ้นไปมันก็จะปิดออร์เดอร์บาย เหลือแต่ออร์เดอร์เซล หากราคาลงมาที่เดิมเราจะเปิดออร์เดอร์บายตรงตำแหน่งออร์เดอร์เซลเดิมได้อย่างไรครับ

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

Share Topic.

Follow Me.


traderider forex ไทย
traderider forex ไทย
traderider forex ไทย
*

ออฟไลน์ admin

  • *
  • 60,651
  • 2584

Re: ขอแนวคิดและหลักการเขียนอีเอครับ

« ตอบกลับ #1 เมื่อ: 10, พฤษภาคม 2019, 05:02:02 PM »
เดี๋ยว มีฝ่าย โปรแกรมเมอร มาตอบนะครับ
 (TH)**
"เอาชนะใจตัวเองให้ได้ ก่อนที่จะไปเอาชนะตลาด"

"สนับสนุนบอร์ดง่ายๆด้วยการเปิด ID Trade forex ผ่าน Link ของบอร์ด ขอบคุณครับ"

*

ออฟไลน์ iRuler

  • *
  • 1,221
  • 39

Re: ขอแนวคิดและหลักการเขียนอีเอครับ

« ตอบกลับ #2 เมื่อ: 10, พฤษภาคม 2019, 05:23:53 PM »
ตอน TP Buy เราก็ตั้ง Buy Limit รอไว้เลยไม่ได้เหรอครับ และพอ TP Sell เราก็ตั้ง Sell Limit ที่ราคาไม้ sell เก่า สลับกันไปแบบนี้


 (TH)**

*

ออฟไลน์ gaothun

  • **
  • 90
  • 0

Re: ขอแนวคิดและหลักการเขียนอีเอครับ

« ตอบกลับ #3 เมื่อ: 10, พฤษภาคม 2019, 07:13:02 PM »
ขอบคุณครับ  (TH)** (TH)** (TH)**

*

ออฟไลน์ gaothun

  • **
  • 90
  • 0

Re: ขอแนวคิดและหลักการเขียนอีเอครับ

« ตอบกลับ #4 เมื่อ: 10, พฤษภาคม 2019, 08:21:48 PM »
ผมสงสัยอีกนิดครับตอนนี้ผมเขียนตามหลักการที่ท่านสอนได้แล้ว โดยการเปืด Order Pending ทั้ง buystop และ buylimit SellStop SellLimit
ได้ออร์เดอร์ตามต้องการแล้วครับ แต่ว่าทำอย่างไรผมจะ close ออร์เดอร์ที่กำไรไป 5 ออร์เดอร์ และ ขาดทุนเยอะสุด 1ออร์เดอร์ได้ครับ

ผมส่งโค๊ดที่ผมเขียนมาบ้างแล้วมาด้วยครับ
ท่านช่วยชี้แนะผมด้วยนะครับ
ขอบคุณมากมากครับท่าน (TH)** (TH)** (TH)**




//+------------------------------------------------------------------+
//|                                                                                        |
//|                        Copyright  2018 MetaQuotes Software Corp. |
//|                                                                                        |
//+------------------------------------------------------------------+
#property copyright "Copyright ฉ 2017, MetaQuotes Software Corp."
#property link      ""

extern string  EA_Name        = "";
extern int     Pip_pendig     = 100;
extern double  Lots           = 0.1;
extern int     Pips           = 100;



int         slippage = 0;
int         OpenOrders=0, cnt=0;
int         mode=0, myOrderType=0;
double      sl=0, tp=0;
double      BuyPrice=0, SellPrice=0;
double      mylotsi=0;

int      OrderBuy, OrderSell;
double   Order_Profit,DD;
double   LastPriceBuy=0, LastPriceSell=0;
int      result, ticket;
bool     res, tic;

int      order_total;
int      cs = 0;
int      cbl = 0, cbs = 0;
int      csl = 0, css = 0;
double   op_sl, op_ss, op_bl, op_bs;
int      ticket_sl, ticket_ss;
int      ticket_bl, ticket_bs;
double   TicketBuy[200];
double   TicketSell[200];
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
//
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----

//------------------------------------------------------------------------------------------------------------------------------
   OrderSell=0;
   OrderBuy=0;
   Order_Profit = 0;
   OpenOrders=0;
   for(cnt=0;cnt<OrdersTotal();cnt++)   
   {
     int result1 = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()==Symbol())
     {            
          OpenOrders++;
          Order_Profit   = Order_Profit+OrderProfit();
     }
     if (OrderSymbol()==Symbol() && OrderType()==OP_SELL)
     {            
          OrderSell++;
        LastPriceSell= OrderOpenPrice();
        TicketSell[OrderSell] = OrderOpenPrice();
          //Print("Ticket Sell #"+OrderSell+" : "+TicketSell[OrderSell]);
     }
     if (OrderSymbol()==Symbol() && OrderType()==OP_BUY)
     {            
          OrderBuy++;
          LastPriceBuy=OrderOpenPrice();
          TicketBuy[OrderBuy] = OrderOpenPrice();
          //Print("Ticket Buy #"+OrderBuy+" : "+TicketBuy[OrderBuy]);
     }
   }     
//--------------------------------------------------------------------Setting SellLimit Pending-----------------------------------------------
   order_total = OrdersTotal();
   cs = false;
   csl = false;
   css = false;
   cbl = false;
   cbs = false;
   for(int i = order_total; i >= 0; i--)
   {
      if(OrderSelect(i,SELECT_BY_POS) == true && OrderSymbol() == Symbol())
      {
         if(OrderType() == OP_SELL)
         {
            cs = true;
         }
         if(OrderType() == OP_SELLLIMIT)
         {
            op_sl = NormalizeDouble(OrderOpenPrice(), Digits);
            ticket_sl = OrderTicket();
            csl = true;
         }
         if(OrderType() == OP_SELLSTOP)
         {
            op_ss = NormalizeDouble(OrderOpenPrice(), Digits);
            ticket_ss = OrderTicket();
            css = true;
         }
         if(OrderType() == OP_BUYLIMIT)
         {
            op_bl = NormalizeDouble(OrderOpenPrice(), Digits);
            ticket_bl = OrderTicket();
            cbl = true;
         }
         if(OrderType() == OP_BUYSTOP)
         {
            op_bs = NormalizeDouble(OrderOpenPrice(), Digits);
            ticket_bs = OrderTicket();
            cbs = true;
         }
      }
   }
     
//-------------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------- 
//-------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------

//----
   Open_order();
   return(0);
  }
 
void Open_order()
{
   if(cs==false)
   {
      ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,2,0,0,"",0,0,clrRed);
      ticket = OrderSend(Symbol(),OP_BUY,Lots,Bid,2,0,0,"",0,0,clrBlue);
   }
   if(csl==false)
   {
      ticket = OrderSend(Symbol(),OP_SELLLIMIT,Lots,LastPriceSell+Pip_pendig*Point,2,0,0,"",0,0,clrRed);
   }
   if(css==false)
   {
      ticket = OrderSend(Symbol(),OP_SELLSTOP,Lots,LastPriceSell-Pip_pendig*Point,2,0,0,"",0,0,clrRed);
   }
   if(cbl==false)
   {
      ticket = OrderSend(Symbol(),OP_BUYLIMIT,Lots,LastPriceSell-Pip_pendig*Point,2,0,0,"",0,0,clrBlue);
   }
   if(cbs==false)
   {
      ticket = OrderSend(Symbol(),OP_BUYSTOP,Lots,LastPriceSell+Pip_pendig*Point,2,0,0,"",0,0,clrBlue);
   }
}

//+------------------------------------------------------------------+//
« แก้ไขครั้งสุดท้าย: 11, พฤษภาคม 2019, 09:57:46 AM โดย iRuler »

*

ออฟไลน์ forcebewithyou

  • ****
  • 2,275
  • 75
  • Green PIPs Be With You

Re: ขอแนวคิดและหลักการเขียนอีเอครับ

« ตอบกลับ #5 เมื่อ: 10, พฤษภาคม 2019, 10:25:06 PM »

ต้องให้ท่าน iRuler วิเคราะห์โค๊ดดูละครับ

อื่นๆ วิธีปิด order ลองเอาอีเอพวก Close Trade พวกที่เป็น Close at profits มาแกะดูครับ น่าจะได้ไอเดีย และแนวทางการเขียน code ดู

https://www.mql5.com/en/code/10597
https://www.forexfactory.com/showthread.php?t=235952


เทรดแนวนี้ ประมาณนี้หรือเปล่าครับ  เห็นมีในเว็บ MQL5  สุดยอดแหล่ง code

https://www.mql5.com/en/forum/181078

https://www.youtube.com/watch?v=TwldsB0mOmI


คีย์เวิร์ด google น่าจะลองใช้ forward martingale ดูครับ เป็นการเบิ้ลทบเพิ่มในขามือขึ้น มีอีเอแนวๆ นี้อยู่หลายตัวนะในเว็บ FF

*

ออฟไลน์ iRuler

  • *
  • 1,221
  • 39

Re: ขอแนวคิดและหลักการเขียนอีเอครับ

« ตอบกลับ #6 เมื่อ: 11, พฤษภาคม 2019, 10:07:30 AM »
ต้องเช็ค order ที่ปิด (*tp) ล่าสุดว่าเป็น buy หรือ sell ถ้าเป็น buy ก็วนลูปปิด order ที่เป็น buy 5 order ถูกไหมครับ
จากนั้นวนลูป order ที่เป็น sell เช็คว่า OrderProfit() น้อยที่สุดคือ OrderTicket เลขอะไร ได้แล้วก็ OrderClose() order นั้น

*จะรู้ได้อย่างไรว่า order นั้นปิดโดยการ tp? ก็ OrderClosePrice()== OrderTakeProfit() ครับ แต่มันไม่ตรงกันเสมอเพราะอาจจะมี slippage เข้ามา บวก/ลบ ด้วย
ทุกทีผมจะเช็คที่ OrderCommend() แทนครับ ส่วนมาก Order จะ TP หรือ SL มันจะมีข้อความ "[tp] หรือ "[sl]" อยู่ใน commend ครับ

ลองไปงมๆ ดูก่อนนะครับ ช่วงนี้ผมยังไม่ว่างพอจะลงโค้ด  (TH)**

*

ออฟไลน์ forcebewithyou

  • ****
  • 2,275
  • 75
  • Green PIPs Be With You

Re: ขอแนวคิดและหลักการเขียนอีเอครับ

« ตอบกลับ #7 เมื่อ: 11, พฤษภาคม 2019, 11:12:13 AM »
ต้องเช็ค order ที่ปิด (*tp) ล่าสุดว่าเป็น buy หรือ sell ถ้าเป็น buy ก็วนลูปปิด order ที่เป็น buy 5 order ถูกไหมครับ
จากนั้นวนลูป order ที่เป็น sell เช็คว่า OrderProfit() น้อยที่สุดคือ OrderTicket เลขอะไร ได้แล้วก็ OrderClose() order นั้น

*จะรู้ได้อย่างไรว่า order นั้นปิดโดยการ tp? ก็ OrderClosePrice()== OrderTakeProfit() ครับ แต่มันไม่ตรงกันเสมอเพราะอาจจะมี slippage เข้ามา บวก/ลบ ด้วย
ทุกทีผมจะเช็คที่ OrderCommend() แทนครับ ส่วนมาก Order จะ TP หรือ SL มันจะมีข้อความ "[tp] หรือ "[sl]" อยู่ใน commend ครับ

ลองไปงมๆ ดูก่อนนะครับ ช่วงนี้ผมยังไม่ว่างพอจะลงโค้ด  (TH)**

ท่าน iRuler ทำโปรแกรมอะรไรเป็นหลักครับ  MQL4 MQL5 อย่างเดียวเลยเหรอครับ

หรือว่าเป็น DEV เดฟ php + mysql , C++,C#  ครับท่าน


Tags:
 

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

ข่าว Forex กราฟ Forex EURUSD GBPUSD GBPJPY ตารางข่าว Forex

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

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

โบรคเกอร์ Forex

XM Exness FBS Nordfx Pepperstone Land-FX Admiral Markets

Tickmill