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

  • 7 replies
  • 1315 views

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

สอบถามการดึงค่า 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)**

Share Topic.

« แก้ไขครั้งสุดท้าย: 24, กันยายน 2018, 10:29:08 PM โดย Ukrist Srisamarn »

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

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

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

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

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

*

ออฟไลน์ admin

  • *
  • 67,381
  • 2621

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

« ตอบกลับ #2 เมื่อ: 24, กันยายน 2018, 11:03:13 PM »
หรือถ้าท่านใดมีวิธีที่จะแนะนำบอกทีนะครับ

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

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

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

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

*

ออนไลน์ iRuler

  • *
  • 1,258
  • 40

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 »
ลองแบบนี้ ดูครับว่าค่าจาก 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 ครับ

« แก้ไขครั้งสุดท้าย: 11, ตุลาคม 2018, 08:11:07 PM โดย Zrottm Tor »

*

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(); }

Tags: