ตัวอย่างการใช้งาน indicator ทางเทคนิค (MA, RSI, MACD, Bollinger Bands)
void OnStart()
{
int barCount = 100;
// Moving Average (MA)
double ma[];
ArrayResize(ma, barCount);
for(int i = 0; i < barCount; i++)
{
ma[i] = iMA(NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, i);
}
// Relative Strength Index (RSI)
double rsi[];
ArrayResize(rsi, barCount);
for(int i = 0; i < barCount; i++)
{
rsi[i] = iRSI(NULL, 0, 14, PRICE_CLOSE, i);
}
// Moving Average Convergence/Divergence (MACD)
double macdMain[], macdSignal[], macdHist[];
ArrayResize(macdMain, barCount);
ArrayResize(macdSignal, barCount);
ArrayResize(macdHist, barCount);
for(int i = 0; i < barCount; i++)
{
macdMain[i] = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, i);
macdSignal[i] = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, i);
macdHist[i] = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_HIST, i);
}
// Bollinger Bands
double bbUpper[], bbMiddle[], bbLower[];
ArrayResize(bbUpper, barCount);
ArrayResize(bbMiddle, barCount);
ArrayResize(bbLower, barCount);
for(int i = 0; i < barCount; i++)
{
bbUpper[i] = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, i);
bbMiddle[i] = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_MAIN, i);
bbLower[i] = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, i);
}
// แสดงค่า indicator สำหรับแท่งเทียนล่าสุด
Print("MA: ", ma[0]);
Print("RSI: ", rsi[0]);
Print("MACD Main: ", macdMain[0], " Signal: ", macdSignal[0], " Hist: ", macdHist[0]);
Print("Bollinger Bands Upper: ", bbUpper[0], " Middle: ", bbMiddle[0], " Lower: ", bbLower[0]);
}
คำอธิบายฟังก์ชัน
ฟังก์ชัน OnStart()
นี้ใช้สำหรับคำนวณและแสดงค่า technical indicators หลายประเภทสำหรับ 100 แท่งเทียนล่าสุด
การทำงานหลัก:
- กำหนดจำนวนแท่งเทียนที่ต้องการวิเคราะห์ (100 แท่ง)
- คำนวณค่า indicators ต่อไปนี้:
- Moving Average (MA)
- Relative Strength Index (RSI)
- Moving Average Convergence/Divergence (MACD)
- Bollinger Bands
- แสดงค่า indicators สำหรับแท่งเทียนล่าสุด
รายละเอียดการคำนวณ Indicators:
- Moving Average (MA):
- ใช้ฟังก์ชัน
iMA()
กับ period 14 - เก็บค่าใน array
ma[]
- ใช้ฟังก์ชัน
- Relative Strength Index (RSI):
- ใช้ฟังก์ชัน
iRSI()
กับ period 14 - เก็บค่าใน array
rsi[]
- ใช้ฟังก์ชัน
- Moving Average Convergence/Divergence (MACD):
- ใช้ฟังก์ชัน
iMACD()
กับ parameters (12, 26, 9) - คำนวณทั้ง Main, Signal, และ Histogram
- เก็บค่าใน arrays
macdMain[]
,macdSignal[]
,macdHist[]
- ใช้ฟังก์ชัน
- Bollinger Bands:
- ใช้ฟังก์ชัน
iBands()
กับ period 20 และ deviation 2 - คำนวณทั้ง Upper, Middle, และ Lower bands
- เก็บค่าใน arrays
bbUpper[]
,bbMiddle[]
,bbLower[]
- ใช้ฟังก์ชัน
การแสดงผล:
- แสดงค่า indicators ทั้งหมดสำหรับแท่งเทียนล่าสุด (index 0) โดยใช้ฟังก์ชัน
Print()
ฟังก์ชันนี้เหมาะสำหรับการวิเคราะห์ตลาดโดยใช้หลาย indicators พร้อมกัน ช่วยให้เห็นภาพรวมของสภาวะตลาดจากหลายมุมมอง ซึ่งเป็นประโยชน์ในการพัฒนากลยุทธ์การเทรดที่ซับซ้อน
FOREXDUCK (นามปากกา) นักเขียนของเรามีประสบการณ์การเงินการลงทุนกว่า 10 ปี มีความเชี่ยวชาญในการวิเคราะห์ตลาด Forex และคริปโต โดยเฉพาะการวิเคราะห์ทางเทคนิค รวมถึงเทคนิคต่าง