Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: iMAonArray แต่ค่าที่ได้ไม่ตรงครับ  (Read 4750 times)

gunlanutt

  • Newbie
  • *
  • Posts: 46
iMAonArray แต่ค่าที่ได้ไม่ตรงครับ
« 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);
}

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2379
Re: iMAonArray แต่ค่าที่ได้ไม่ตรงครับ
« Reply #1 on: กันยายน 20, 2019, 02:42:13 pm »
iMAOnArray

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