·Î±×ÀÎ
|
ȸ¿ø°¡ÀÔ
|
ȸ»ç¼Ò°³
|
»çÀÌÆ®¸Ê
Ä¿¹Â´ÏƼ | ¼ö½ÄÀÛ¼º Q&A
ÀÛ¼ºÀÚ :
¿äŸ
ÀÛ¼ºÀÏ : 2025-04-16 ¿ÀÈÄ 12:19:31 Á¶È¸¼ö : 40
¼ö½Ä Á» È®ÀÎ ¿äû µå¸²´Ï´Ù,
¤· Ç×»ó ¸¹Àº µµ¿ò °í¸¿ ½À´Ï´Ù.
¤· ¾Æ·¡ ¼ö½Ä¿¡¼ Á¡Âï±â °¡ ¾ÈµÇ´Âµ¥...
¢º ¸·´ë°¡ ¾Æ´Ñ "¼±" À¸·Î Ç¥½Ã Çϰí Á¡Âï±â ¾ÈµÇ´Âµ¥
¼öÁ¤ Á» ¿äû µå¸²´Ï´Ù.
##
input : i_lenHARSI(10),i_smoothing(3),i_lenRSI(3);
var : i_colUp(0),i_colDown(0),i_colWick(0),i_source(0);
var : _closeRSI(0),_openRSI(0),_highRSI_raw(0),_lowRSI_raw(0);
var : _highRSI(0),_lowRSI(0),_close(0),_open(0),_high(0),_low(0);
Var : cnt(0), DownAmt1(0), UpAmt1(0), UpSum1(0), DownSum1(0), UpAvg1(0), DownAvg1(0),RSIV1(0);
Var : DownAmt2(0), UpAmt2(0), UpSum2(0), DownSum2(0), UpAvg2(0), DownAvg2(0),RSIV2(0);
var : bodyColour(0),wickColour(0);
i_colUp = red;
i_colDown = teal;
i_colWick = gray;
i_source = (o+h+l+c)/4 ;
_closeRSI = rsi(i_lenHARSI)-50;
_openRSI = IFF(IsNaN(_closeRSI[1]) == False, _closeRSI[1], _closeRSI);
If CurrentBar == 1 AND i_lenHARSI > 0 Then Begin
UpSum1 = 0;
DownSum1 = 0;
For cnt = 0 To i_lenHARSI - 1 Begin
UpAmt1 = H[cnt] - H[cnt+1];
If UpAmt1 >= 0 Then
DownAmt1 = 0;
Else Begin
DownAmt1 = -UpAmt1;
UpAmt1 = 0;
End;
UpSum1 = UpSum1 + UpAmt1;
DownSum1 = DownSum1 + DownAmt1;
End;
UpAvg1 = UpSum1 / i_lenHARSI;
DownAvg1 = DownSum1 / i_lenHARSI;
End
Else
If CurrentBar > 1 AND i_lenHARSI > 0 Then Begin
UpAmt1 = H[0] - H[1];
If UpAmt1 >= 0 Then
DownAmt1 = 0;
Else Begin
DownAmt1 = -UpAmt1;
UpAmt1 = 0;
End;
UpAvg1 = (UpAvg1[1] * (i_lenHARSI - 1) + UpAmt1) / i_lenHARSI;
DownAvg1 = (DownAvg1[1] * (i_lenHARSI - 1) + DownAmt1) / i_lenHARSI;
End;
If UpAvg1 + DownAvg1 <> 0 Then
RSIV1 = 100 * UpAvg1 / (UpAvg1 + DownAvg1);
Else
RSIV1 = 0;
If CurrentBar == 1 AND i_lenHARSI > 0 Then Begin
UpSum2 = 0;
DownSum2 = 0;
For cnt = 0 To i_lenHARSI - 1 Begin
UpAmt2 = L[cnt] - L[cnt+1];
If UpAmt2 >= 0 Then
DownAmt2 = 0;
Else Begin
DownAmt2 = -UpAmt2;
UpAmt2 = 0;
End;
UpSum2 = UpSum2 + UpAmt2;
DownSum2 = DownSum2 + DownAmt2;
End;
UpAvg2 = UpSum2 / i_lenHARSI;
DownAvg2 = DownSum2 / i_lenHARSI;
End
Else
If CurrentBar > 2 AND i_lenHARSI > 0 Then Begin
UpAmt2 = L[0] - L[1];
If UpAmt2 >= 0 Then
DownAmt2 = 0;
Else Begin
DownAmt2 = -UpAmt2;
UpAmt2 = 0;
End;
UpAvg2 = (UpAvg2[1] * (i_lenHARSI - 1) + UpAmt2) / i_lenHARSI;
DownAvg2 = (DownAvg2[1] * (i_lenHARSI - 1) + DownAmt2) / i_lenHARSI;
End;
If UpAvg2 + DownAvg2 <> 0 Then
RSIV2 = 100 * UpAvg2 / (UpAvg2 + DownAvg2);
Else
RSIV2 = 0;
_highRSI_raw = RSIV1-50;
_lowRSI_raw = RSIV2-50;
_highRSI = max(_highRSI_raw, _lowRSI_raw);
_lowRSI = min(_highRSI_raw, _lowRSI_raw);
_close = (_openRSI + _highRSI + _lowRSI + _closeRSI) / 4;
_open = iff(isnan(_open[i_smoothing]) == true, (_openRSI + _closeRSI) / 2 , (_open[1] * i_smoothing + _close[1]) / (i_smoothing + 1));
_high = max(_highRSI, max(_open, _close));
_low = min(_lowRSI, min(_open, _close));
bodyColour = iff(_close > _open , i_colUp , i_colDown);
wickColour = i_colWick;
var1 = TL_New_Self(sDate,sTime,_open,sDate,sTime,_close);
var2 = TL_New_Self(sDate,sTime,_high,sDate,sTime,max(_open,_close));
var3 = TL_New_Self(sDate,sTime,_Low,sDate,sTime,min(_open,_close));
TL_SetColor(var1,bodyColour);
TL_SetColor(var2,i_colWick);
TL_SetColor(var2,i_colWick);
TL_SetSize(var1,3);
TL_SetSize(var2,1);
TL_SetSize(var3,1);
if LastBarOnChart == 1 Then
Plot1(0);
PlotBaseLine1(0);
PlotBaseLine2(30);
PlotBaseLine3(-30);
PlotBaseLine4(40);
PlotBaseLine5(-40);
##====================================================================================
var : TX01(0) ;
if var1 <= 40 Then
{
TX01 = Text_New(Sdate,sTime,L-PriceScale*5,"¡ã");
Text_SetStyle(TX01,1,2);
Text_SetColor(TX01,Rgb(255,0,0));
Text_SetSize(TX01,25);
Text_SetBold(TX01,25);
//PlaySound("C:CyberOrOWav3 l8.wav");
}
##====================================================================================
°í¸¾½À´Ï´Ù. ¼ö°í ÇϽʽÿä.
¹®Àǵ帳´Ï´Ù.
¼ö½Ä ¿äûµå·Á¿ä.
°ü·Ã ±Û ¸®½ºÆ®
ÇöÀç±Û
¼ö½Ä Á» È®ÀÎ ¿äû µå¸²´Ï´Ù,
¿äŸ
2025.04.16
40
Re : ¼ö½Ä Á» È®ÀÎ ¿äû µå¸²´Ï´Ù,
¿¹½º½ºÅ¹
2025.04.16
51