กองทุน SPDR GOLD SHARES
ถือทองก่อนหน้า
ถือทองล่าสุด
0.00
*หน่วยตัน / ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
สถิติกองทุน SPDR
ราคาทองคำแท่ง 96.5%
ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
ครั้งที่
ราคาก่อนหน้า
ราคาล่าสุด
0
(หน่วย บาท*) / อัปเดตล่าสุดเมื่อวันที่ 13 ก.ค. 2566 เวลา 13:04 น.
สถิติราคาทองคำ ไทย

เขียน ea ที่ใช้ bollinger band ในการเปิด order

  • 4 replies
  • 3,489 views
*

yong

เขียน ea ที่ใช้ bollinger band ในการเปิด order
« เมื่อ: 15, กรกฎาคม 2018, 01:52:20 PM »
        คืออยากทราบว่าถ้าเราจะเขียน code ให้ ea เปิดคำสั่งจาก bb โดยมีเงื่อนไขว่า
กรณี buy = ให้ราคาปิดของแท่งเทียนทะลุออกนอก bb ด้านบน และ รอให้ราคา วิ่งกลับมาที่เส้นกลาง bb ค่อยเปิดคำสั่ง buy
กรณี sell = ให้ราคาปิดของแท่งเทียนทะลุออกนอก bb ด้านล่าง และ รอให้ราคา วิ่งกลับมาที่เส้นกลาง bb ค่อยเปิดคำสั่ง sell

พอลองเขียนแล้วมันกลับไม่ทำงานตามเงื่อนไขครับ กลับกลายเป็น buy ที่ bb ขอบล่าง sell ที่ bb ขอบบน

//        Highest Lowest  function

double HIest_C = Close[iHighest(Symbol(), 0, MODE_CLOSE, 0, 0)];
double LOest_C = Close[iLowest(Symbol(), 0, MODE_CLOSE, 0, 0)];
double H = iHigh(Symbol(), 0, 0);
double L = iLow(Symbol(), 0, 0);   
     
//        BB  function
double BBU = iBands(Symbol(), 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 0);
double BBL = iBands(Symbol(), 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 0);
double BBM = iBands(Symbol(), 0, 20, 2, 0, PRICE_CLOSE, MODE_MAIN, 0);

//           Trend Choose Function
int Trend = 0;
//---------------   
          if( ((HIest_C > BBU)) && (L < BBM) )
                                                                                 
           {
            Trend = 1;
           }
      //---------------
         if( ((LOest_C < BBL)) && (H > BBM) )
           
           {
            Trend = -1;
           }
      //---------------

ปล. trend = 1 คือ buy  ,  trend = -1 คือ sell

(TH)** (TH)** (TH)**

*

iRuler

  • 1,282
Re: เขียน ea ที่ใช้ bollinger band ในการเปิด order
« ตอบกลับ #1 เมื่อ: 15, กรกฎาคม 2018, 02:35:07 PM »
double HIest_C = Close[iHighest(Symbol(), 0, MODE_CLOSE, 0, 0)];
double LOest_C = Close[iLowest(Symbol(), 0, MODE_CLOSE, 0, 0)];

ลองเปลี่ยนเลขตัวสีแดงนี่ก่อนครับ แล้วลองดูอีกทีครับ

*

yong

Re: เขียน ea ที่ใช้ bollinger band ในการเปิด order
« ตอบกลับ #2 เมื่อ: 15, กรกฎาคม 2018, 03:22:24 PM »
ปรับตัวเลขเป็น 1 และเป็น 2
ผล ea เปิด buy ที่เส้น บน bb และ ea เปิด sell ที่เส้นล่าง bb เลยครับ ไม่เปิดที่เส้นกลาง bb

ปรับตัวเลขเป็น 30
ผล ea เปิดสวนทางที่เส้นขอบเหมือนเดิมครับ

double HIest_C = Close[iHighest(Symbol(), 0, MODE_CLOSE, 1, 0)];
double LOest_C = Close[iLowest(Symbol(), 0, MODE_CLOSE, 1, 0)];

**11 **11 **11

*

iRuler

  • 1,282
Re: เขียน ea ที่ใช้ bollinger band ในการเปิด order
« ตอบกลับ #3 เมื่อ: 16, กรกฎาคม 2018, 06:12:50 PM »
iHighest(Symbol(), 0, MODE_CLOSE, X, Y)

คำสั่งนี้เป็นคำสั่งที่เอาไว้หาแท่งเทียนที่มีราคาปิดสูงที่สุด โดยเริ่มหาแท่งที่ Y เป็นจำนวน X แท่ง (แท่งปัจจุบัน คือแท่งที่ 0 นับจากขวาไปซ้าย เป็นแท่งที่ 1 2 และ 3 ไปเรื่อยๆ เป็นจำนวน X แท่ง)
ในโค้ดตอนแรก ตัว X และ Y ถ้าใส่เป็น 0 และ 0 มันจะหาย้อนหลังไปพันๆ แท่งเลย

ลองมาพิจรณาเงื่อนไขอีกทีครับ

อ้างถึงกรณี buy = ให้ราคาปิดของแท่งเทียนทะลุออกนอก bb ด้านบน และ รอให้ราคา วิ่งกลับมาที่เส้นกลาง bb ค่อยเปิดคำสั่ง buy
กรณี sell = ให้ราคาปิดของแท่งเทียนทะลุออกนอก bb ด้านล่าง และ รอให้ราคา วิ่งกลับมาที่เส้นกลาง bb ค่อยเปิดคำสั่ง sell

ตัวสีน้ำเงิน: ราคาปิดของแท่งสีอะไร
ตัวสีแดง: ถ้าใช้คำว่า "รอให้ราคา วิ่งกลับมา" แบบนี้ใช้ Ask หรือ Bid ก็ได้ ไม่จำเป็นต้องใช้ iLow/iHigh

ถ้ายังจำทำต่อ ลองแบบนี้ครับ

โค๊ด [Select]
   double HIest_C = NormalizeDouble(Close[iHighest(Symbol(), 0, MODE_CLOSE, 5, 0)],Digits);
   double LOest_C = NormalizeDouble(Close[iLowest(Symbol(), 0, MODE_CLOSE, 5, 0)],Digits);
   double H = NormalizeDouble(iHigh(Symbol(), 0, 0),Digits);
   double L = NormalizeDouble(iLow(Symbol(), 0, 0),Digits);

   double BBU = NormalizeDouble(iBands(Symbol(), 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 0),Digits);
   double BBL = NormalizeDouble(iBands(Symbol(), 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 0),Digits);
   double BBM = NormalizeDouble(iBands(Symbol(), 0, 20, 2, 0, PRICE_CLOSE, MODE_MAIN, 0),Digits);


(TH)**

*

yong

Re: เขียน ea ที่ใช้ bollinger band ในการเปิด order
« ตอบกลับ #4 เมื่อ: 24, กรกฎาคม 2018, 05:51:17 PM »
โห้ววว ไม่ได้เข้ามาดูนาน ขอบคุณมากๆครับท่าน ))/* ))/* ))/*
(TH)** (TH)** (TH)**