Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: Re: ฟีโบนาชี่ กับ อีเอ  (Read 9871 times)

lovelove

  • Newbie
  • *
  • Posts: 44
Re: ฟีโบนาชี่ กับ อีเอ
« on: กุมภาพันธ์ 25, 2011, 05:54:34 pm »
ขอเท้าความ..
  หลายเดือนก่อนหน้านี้ ผมอยากเขียนอีเอเป็น แต่ไม่ได้เรียนคอมมา ผมเรียนรัฐศาสตร์ ตอนนี้ก้ออยู่ระหว่างเรียน
ด้วยอยากเขียนอีเอเป็น ก็เลยโหลด บทเร&#3637%3
« Last Edit: กุมภาพันธ์ 28, 2011, 02:41:52 am by lovelove »

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: ฟีโบนาชี่ กับ อีเอ
« Reply #1 on: กุมภาพันธ์ 26, 2011, 11:36:21 am »
ก็ใส่สูตรหาค่าฟีโบลงไปแทนบรรทัดนี้ครับ
 double lastlot2=lastlot*2;

แต่ถ้าเล่นแบบนี้ TP จะต้องสูงกว่า SL พอสมควร ไม่งั้นเวลาปิดออเดอร์ได้ กำไรไม่งอกครับ

lovelove

  • Newbie
  • *
  • Posts: 44
Re: ฟีโบนาชี่ กับ อีเอ
« Reply #2 on: กุมภาพันธ์ 26, 2011, 03:33:54 pm »
ก็ใส่สูตรหาค่าฟีโบลงไปแทนบรรทัดนี้ครับ
 double lastlot2=lastlot*2;

แต่ถ้าเล่นแบบนี้ TP จะต้องสูงกว่า SL พอสมควร ไม่งั้นเวลาปิดออเดอร์ได้ กำไรไม่งอกครับ

แล้วถ้าอย่างนี้ล่ะครับ
 
   
+++++++

1 1 2 3 5 8 13 21หมายเลขล็อตเลขลำดับตามหมายเลขฟีโบ

-ถ้าเสียให้เบิ้ลไปเทรดที่หมายเลขล็อตกข้างหน้า
-ถ้าได้ให้กลับมาเทรดที่หมายเลขล็อตก่อนหน้า

เช่น
ออเด้อที่ 5 เสีย
ออเด้อที่ 6 ก้อเล่นที่ 8 ล็อต ถ้าออเด้อที่ 6 ได้
ออเด้อที่7 กลับมาเล่นที่ 5ล็อตเหมือนเดิม
+++++
ตรงส่วนนี้ผมยังนึกโคดไม่ออกเลยครับ รบ กวนด้วยครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: ฟีโบนาชี่ กับ อีเอ
« Reply #3 on: กุมภาพันธ์ 26, 2011, 06:46:04 pm »
ก็ใส่สูตรหาค่าฟีโบลงไปแทนบรรทัดนี้ครับ
 double lastlot2=lastlot*2;

แต่ถ้าเล่นแบบนี้ TP จะต้องสูงกว่า SL พอสมควร ไม่งั้นเวลาปิดออเดอร์ได้ กำไรไม่งอกครับ

แล้วถ้าอย่างนี้ล่ะครับ
 
   
+++++++

1 1 2 3 5 8 13 21หมายเลขล็อตเลขลำดับตามหมายเลขฟีโบ

-ถ้าเสียให้เบิ้ลไปเทรดที่หมายเลขล็อตกข้างหน้า
-ถ้าได้ให้กลับมาเทรดที่หมายเลขล็อตก่อนหน้า

เช่น
ออเด้อที่ 5 เสีย
ออเด้อที่ 6 ก้อเล่นที่ 8 ล็อต ถ้าออเด้อที่ 6 ได้
ออเด้อที่7 กลับมาเล่นที่ 5ล็อตเหมือนเดิม
+++++
ตรงส่วนนี้ผมยังนึกโคดไม่ออกเลยครับ รบ กวนด้วยครับ


แบบนี้ต้องบันทึกลงไปในแต่ละออเดอร์ว่าออเดอร์นั้นเป็นออเดอร์ที่เท่าไร อาจจะใส่ในคอมเม้น เช่น

OrderSend(Symbol(),OP_SELL,lastlot2,Bid,3,Bid+Point*sl,Bid-Point*tp,"Order 1",123,0,Red);
OrderSend(Symbol(),OP_SELL,lastlot2,Bid,3,Bid+Point*sl,Bid-Point*tp,"Order 2",123,0,Red);
OrderSend(Symbol(),OP_SELL,lastlot2,Bid,3,Bid+Point*sl,Bid-Point*tp,"Order 3",123,0,Red);

หรืออาจจะใช้คอมเม้นเดียวกัน แต่เปลี่ยน magic number

OrderSend(Symbol(),OP_SELL,lastlot2,Bid,3,Bid+Point*sl,Bid-Point*tp,"EA",1,0,Red);
OrderSend(Symbol(),OP_SELL,lastlot2,Bid,3,Bid+Point*sl,Bid-Point*tp,"EA",2,0,Red);
OrderSend(Symbol(),OP_SELL,lastlot2,Bid,3,Bid+Point*sl,Bid-Point*tp,"EA",3,0,Red);

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

       OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);
                   
                     double lastprofit=OrderProfit();
                             
               {
               if( OrderClosePrice() != OrderTakeProfit() && OrderComment=="EA" )

แล้วก็เทียบดูจาก magic number ว่าเป็นออเดอร์ที่เท่าไร  แล้วเอาไปใส่สูตรฟีโบหาลอตถัดไป+1สเตป หรือ-1สเตป
              newlot = fibo(OrdermagicNumber()+1);

              else
             
              newlot = fibo(OrdermagicNumber()-1);


             


lovelove

  • Newbie
  • *
  • Posts: 44
Re: ฟีโบนาชี่ กับ อีเอ
« Reply #4 on: กุมภาพันธ์ 28, 2011, 02:07:51 am »
ขอเท้าความ..
  หลายเดือนก่อนหน้านี้ ผมอยากเขียนอีเอเป็น แต่ไม่ได้เรียนคอมมา ผมเรียนรัฐศาสตร์ ตอนนี้ก้ออยู่ระหว่างเรียน
ด้วยอยากเขียนอีเอเป็น ก็เลยโหลด บทเรียนไปที่เวปนี้แหละ  อ่าน 10 รอบไม่รู้เรื่องเลย  ก้เลยลบทิ้งไป
หลังจากนั้นก้ไปหาโหลดอีบุคภาษา ฃีมาอ่าน ไปซื้อหนังสือมาอ่าน มารู้เรื่อง คอนสตรักเจ้อ ดีลสตรักเจ้อ ก้อตอนอ่านชี ++
ผ่านไปเกือบปีก้อกลับมาโหลดบทเรียนไปอ่านอีกครั้ง เริ่มรู้เรื่องแล้ว อะไรคือตัวแปร
ลองอ่าน macd sampleโคด ก็พอรู้เรื่องบ้าง ที่ไม่รู้ก้อที่ผมโพสถามนั่นแหละ
อีเอเเรกของผม ผมดัดแปลงมาจาก macd sample นี่แหละ แล้วก้อมาดัดแปลงmacdเบิ้ลล็อตที่ผมกำลังถามอยู่ตอนนี้
++++
กลับมาที่เดิม
  โคตฟีโบเบิ้ลล็อตที่คุณ D-diamond แนะนำผม  ทั้งแบบแรก
ผมก็ยังนึกโคดไม่ออกเลยครับ   รบกวนเป็นโคตสำเร็จรูปเลยด้วยนะครับ... :D
ขอแบบแรกก่อนนะครับ
ถ้าแอดมินเข้ามาอ่านก้อรบกวนด้วยนะครับ ให้เบิ้ลแบบฟีโบ
1 2 3 5 8 13 21 34 เป็นต้น


ออเด้อไหนชน tp เราได้เต็ม
ออเด้อไหนชน sl  เราแค่เบิ้ลคืน
« Last Edit: มีนาคม 01, 2011, 02:38:09 pm by lovelove »

lovelove

  • Newbie
  • *
  • Posts: 44
Re: ฟีโบนาชี่ กับ อีเอ
« Reply #5 on: มีนาคม 05, 2011, 02:22:07 am »
ก็ใส่สูตรหาค่าฟีโบลงไปแทนบรรทัดนี้ครับ
 double lastlot2=lastlot*2;


ผม ได้โคดฟีโบมาแล้วใส่ยังไงครับ

int fib(int n)
{
  if (n < 2)
    return n;
  else
    return fib(n-1) + fib(n-2);
}

printf("%d\n", fib(10));

รบกวนด้วยครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: ฟีโบนาชี่ กับ อีเอ
« Reply #6 on: มีนาคม 05, 2011, 09:31:55 am »
ก็สร้างฟังก์ชั่นนี้ขึ้นมาก่อน

int fib(int n)
{
  if (n < 2)
    return n;
  else
    return fib(n-1) + fib(n-2);
}

แล้วเอาไปใส่บนโค้ดเดิมตอนหาค่าลอตที่จะเปิดออเดอร์ใหม่ ให้เรียกใช้ฟังก์ชั่นนี้คำนวนก่อนว่าอยู่ที่สเตปไหนแล้ว  แล้วก็เอาไปคูณกับลอตเริ่มต้น ก็จะได้ลอตใหม่ออกมา ตามข้างบนครับ

lovelove

  • Newbie
  • *
  • Posts: 44
Re: ฟีโบนาชี่ กับ อีเอ
« Reply #7 on: มีนาคม 06, 2011, 02:40:12 am »
ก็สร้างฟังก์ชั่นนี้ขึ้นมาก่อน

int fib(int n)
{
  if (n < 2)
    return n;
  else
    return fib(n-1) + fib(n-2);
}

แล้วเอาไปใส่บนโค้ดเดิมตอนหาค่าลอตที่จะเปิดออเดอร์ใหม่ ให้เรียกใช้ฟังก์ชั่นนี้คำนวนก่อนว่าอยู่ที่สเตปไหนแล้ว  แล้วก็เอาไปคูณกับลอตเริ่มต้น ก็จะได้ลอตใหม่ออกมา ตามข้างบนครับ

รบกวนช่วยวางให้หน่อยครับ  นี่โคดเก่าครับ
xtern double lot =0.1;
extern double sl =45;
extern double tp =45;
extern int MaxOrder =1; 
int start() {
    if(OrdersTotal()<MaxOrder)
{
 double var1 = 0.00025;
 double var2 = -0.00025;
   double ma1 =iMA(NULL,0,10,0,MODE_SMMA,PRICE_MEDIAN,0);
   double ma2 =iMA(NULL,0,20,0,MODE_SMMA,PRICE_MEDIAN,0);
 
 double min = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
 double sig = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);

      {
                   OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);
                     double lastlot=OrderLots();
                     double lastprofit=OrderProfit();
                     double lastlot2=lastlot*2;
           
               {
               if( OrderClosePrice() != OrderTakeProfit() )
                        {
                     
                           if ((min<=0))
                                 {
                                 if ((sig <=0)&&(ma2>ma1))
                                    {
                                    if ((sig-var1)>=min)   
                                    {OrderSend(Symbol(),OP_SELL,lastlot2,Bid,3,Bid+Point*sl,Bid-Point*tp,"EA Creator",123,0,Red);  }
                                    }
                                 }
                         if ((min>=-0))
                                 {
                                 if ((sig>=-0)&&(ma2<ma1))
                                    {
                                    if ((sig+var1)<=min)   
                                    {OrderSend(Symbol(),OP_BUY,lastlot2,Ask,3,Ask-Point*sl,Ask+Point*tp,"EA Creator",123,0,Green); }
                                    }   
                                 }
                       }
                     
               else
                           {
                           if ((min<=0))
                                 {
                                 if ((sig <=0)&&(ma2>ma1))
                                    {
                                    if ((sig-var1)>=min)   
                                    {OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+Point*sl,Bid-Point*tp,"EA Creator",123,0,Red); }
                                    }
                                 }   
                           if ((min>=-0))
                                 {
                                 if ((sig>=-0)&&(ma2<ma1))
                                    {
                                   if ((sig+var1)<=min)                         
                                    {OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-Point*sl,Ask+Point*tp,"EA Creator",123,0,Green);}
                                    }
                                 }
                           }
}}}
 
return(0) ;
}
++++++++++++++++

jagkrapob

  • Newbie
  • *
  • Posts: 1
Re: ฟีโบนาชี่ กับ อีเอ
« Reply #8 on: มีนาคม 09, 2011, 01:14:57 pm »
ขอรบกวนใช้กระทู้นี้นะครับเพราะเห็นคำว่าฟิโบ
คือว่าผมมีปัญหาในการเปิดออร์เดอร์อ่ะครับ...เพราะมันมีหลายออร์เดอร์เหลือเกิน...จึงอยากขอความอนุเคราห์ให้ท่านผู้รู้..ช่วยเขียนอีเอเปิดออร์เดอร์ตามเส้นฟิโบให้ด้วยครับผมได้แนบรายละเอียดมาด้วยแล้ว...ผมจะปราบกราฟไซร์เวย์ครับ...(ผมพยายามศึกษาการเขียนอีเอหลายครั้งแล้ว...แต่สมองไม่เปิดรับ...จึงเขียนไม่เป็นซักทีคับ ???)
ขอความกรุณาด้วยครับ...