EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: gunlanutt on กันยายน 13, 2019, 10:10:53 pm

Title: iMAonArray แต่ค่าที่ได้ไม่ตรงครับ
Post by: gunlanutt on กันยายน 13, 2019, 10:10:53 pm
ผมต้องการดึงค่า EMA3 บน RSI ออกมาครับแต่โค๊ดที่เขียนทำไมค่าที่ได้ถึงไม่ตรงก็ไม่รู้ครับ ลองหลายวิธีแล้วครับ
ค่า EMA ไม่ตรง แต่ค่า RSI ตรงแล้ว
//------------------------------------------------------

input  int     RSI_Period            = 14;
input  int     MA1                      = 3;
extern ENUM_MA_METHOD      MA_METHOD   = MODE_EMA;

double      RsiBuffer[100];
double      MAonRSI1;
int start()
  {
     GetRsi();
     Comment("\n MAonRSI1 : ",MAonRSI1," RsiBuffer : ",RsiBuffer[0]);

  return(0);
  }


void GetRsi()
{
   for(int n=0;n<=MA1;n++)
     {
         RsiBuffer[n] = iRSI(NULL,0,RSI_Period,PRICE_CLOSE,n+1);
     }
   MAonRSI1   = iMAOnArray(RsiBuffer,MA1+1,MA1,0,MA_METHOD,1);
}
Title: Re: iMAonArray แต่ค่าที่ได้ไม่ตรงครับ
Post by: admin on กันยายน 20, 2019, 02:42:13 pm
iMAOnArray

เป็นการคำนวณค่า MA จากชุดข้อมูล ที่เก็บในตัวแปร RsiBuffer  ไม่ใช้คำนวณทั้งหมดเหมือนในกราฟที่เราใส่ไป อยากให้ได้ค่าใกล้เคียงก็ต้องมีข้อมูลให้มากพอครับ แต่ที่เห็น  MA1   คือ 3 loop for จะวนแค่ 3 ครั้งเองน่ะครับ ค่าที่ได้ย่อมไม่ตรงกับกราฟแน่นอน ครับ