EA Programing => ปัญหาที่พบในการเขียน EA => Topic started 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);
}
-
iMAOnArray
เป็นการคำนวณค่า MA จากชุดข้อมูล ที่เก็บในตัวแปร RsiBuffer ไม่ใช้คำนวณทั้งหมดเหมือนในกราฟที่เราใส่ไป อยากให้ได้ค่าใกล้เคียงก็ต้องมีข้อมูลให้มากพอครับ แต่ที่เห็น MA1 คือ 3 loop for จะวนแค่ 3 ครั้งเองน่ะครับ ค่าที่ได้ย่อมไม่ตรงกับกราฟแน่นอน ครับ