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

สอบถามการดึงค่า Signal MACD

  • 7 replies
  • 2,778 views
สอบถามการดึงค่า Signal MACD
« เมื่อ: 24, กันยายน 2018, 10:08:56 PM »
สอบถามหน่อยครับผมอยากจะเขียน เอาเฉพาะค่า Signal line ของ MACD มาเป็นตัวเข้าออเดอร์อะครับ แต่ผมลองเขียนแล้ว หลายกระบวนท่าแต่มันก็ไม่สำเร็จ
ปล ค่า signal line ของผมคือค่า SMA 9 ของ MACD อะครับ
เงื่อนไข ---
เมื่อ signal line ตัดเส้น 0 ของ MACD ถ้า signal line ก่อนหน้าเป็นค่า - ให้ทำการเปิด Buy
เมื่อ signal line ตัดเส้น 0 ของ MACD ถ้า signal line ก่อนหน้าเป็นค่า + ให้ทำการเปิด Sell

ที่ผมเขียนไว้ประมาณนี้

SC_MACD = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);

SP_MACD = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);

if ( SC_MACD > 0 && SP_MACD <0){
      OP_BUY.....
      }
else if( SC_MACD < 0 && SP_MACD >0){
      OP_SELL.....
      }

ปัญหาที่เจอคือ ค่า Signal ที่ EA อ่านได้ ไม่ตรงกับค่า Signal line ของ MACD ที่ได้จากกราฟ
ทำให้มันเปิด Buy เปิด Sell ผิดตำแหน่ง แทนที่จะเปิดในตำแหน่งที่ Signal line ตัดเส้น 0 จริงๆ
งงมากช่วยด้วยยครับบ


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

Re: สอบถามการดึงค่า Signal MACD
« ตอบกลับ #1 เมื่อ: 24, กันยายน 2018, 10:58:35 PM »
หรือถ้าท่านใดมีวิธีที่จะแนะนำบอกทีนะครับ

ผมนี่จนปัญญา ไม่รู้เค้าทำยังไง

ผมขอแค่เปิดออเดอร์ที่จุดตัด ที่0 พอ ขอบคุณครับ

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

*

admin

  • 80,905
Re: สอบถามการดึงค่า Signal MACD
« ตอบกลับ #2 เมื่อ: 24, กันยายน 2018, 11:03:13 PM »
อ้างจาก: Ukrist Srisamarn ที่ 24, กันยายน  2018, 10:58:35 PM
หรือถ้าท่านใดมีวิธีที่จะแนะนำบอกทีนะครับ

ผมนี่จนปัญญา ไม่รู้เค้าทำยังไง

ผมขอแค่เปิดออเดอร์ที่จุดตัด ที่0 พอ ขอบคุณครับ

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

พรุ่งนี้ รอ พี่ Programmer มาตอบให้นะครับ
(TH)**
"เอาชนะใจตัวเองให้ได้ ก่อนที่จะไปเอาชนะตลาด"

*

iRuler

  • 1,282
Re: สอบถามการดึงค่า Signal MACD
« ตอบกลับ #3 เมื่อ: 25, กันยายน 2018, 06:57:50 AM »
ลองแบบนี้ ดูครับว่าค่าจาก ea ตรงกับ macd บนกราฟหรือไม่ แล้วเอาไปปรับใช้

void OnTick()
  {
   double SC_MACD=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   double SP_MACD=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);

   string str="";

   if(SC_MACD>SP_MACD)
     {
      str="Going Up";
     }
   else if(SC_MACD<SP_MACD)
     {
      str="Going Dn";
     }

   Comment("Prev:",DoubleToString(SP_MACD,6)," Curr:",DoubleToString(SC_MACD,6),"\r\n",str);

   if(SC_MACD>0.0 && SP_MACD<0.0)
     {
      Alert("UP");
     }
   else if(SC_MACD<0.0 && SP_MACD>0.0)
     {
      Alert("DOWN");
     }
  }

(TH)**

Re: สอบถามการดึงค่า Signal MACD
« ตอบกลับ #4 เมื่อ: 25, กันยายน 2018, 07:12:35 AM »
ขอบพระคุณครับทุกท่านเดี๋ยวผมจะไปลองนะครับ (TH)**

*

AriseZ

Re: สอบถามการดึงค่า Signal MACD
« ตอบกลับ #5 เมื่อ: 11, ตุลาคม 2018, 04:56:18 PM »
อ้างจาก: iRuler ที่ 25, กันยายน  2018, 06:57:50 AM
ลองแบบนี้ ดูครับว่าค่าจาก ea ตรงกับ macd บนกราฟหรือไม่ แล้วเอาไปปรับใช้

void OnTick()
  {
   double SC_MACD=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   double SP_MACD=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);

   string str="";

   if(SC_MACD>SP_MACD)
     {
      str="Going Up";
     }
   else if(SC_MACD<SP_MACD)
     {
      str="Going Dn";
     }

   Comment("Prev:",DoubleToString(SP_MACD,6)," Curr:",DoubleToString(SC_MACD,6),"\r\n",str);

   if(SC_MACD>0.0 && SP_MACD<0.0)
     {
      Alert("UP");
     }
   else if(SC_MACD<0.0 && SP_MACD>0.0)
     {
      Alert("DOWN");
     }
  }

(TH)**

   double SC_MACD=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   double SP_MACD=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);


ต้องเขียนยังไงหรอครับ จะเข้าหลังจากแท่งย่อตัวลงจาก เส้น แดง

*

zrottm.tor

Re: สอบถามการดึงค่า Signal MACD
« ตอบกลับ #6 เมื่อ: 11, ตุลาคม 2018, 07:55:38 PM »
s1 = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
s2 = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,2);
m1 = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
m2 = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,2);

ก็น่าจะเป็น  (  s1 < 0 ) &&  (m2 < s2) && (m1 > s1) สำหรับ ด้านล่าง ถ้าด้านบนก็กลับกันครับ


ค่าของแต่ละ ตำแหน่งของ function imacd ครับ


*

isuccess

Re: สอบถามการดึงค่า Signal MACD
« ตอบกลับ #7 เมื่อ: 30, มกราคม 2019, 09:51:21 PM »
MACDMain      = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN  ,0);
MACDSig        = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);

if (MACDMain  > MACDSig  &&  MACDMain  > 0)
{OrderBuy(); }