예스스탁
예스스탁 답변
2024-01-15 15:47:22
안녕하세요
예스스탁입니다.
문의하신 내용은 작성해 보는데 시간이 많이 소모됩니다.
업무상 이정이상 요구되는 내용은 작성해 드리기 어렵습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> 유로파54 님이 쓴 글입니다.
> 제목 : 문의 드립니다!
> 안녕하세요!
아래 2개수식을 아침 9시부터 적용(시작)이 되는 수식으로 각각 변환 부탁드립니다
감사합니다!
-----------------------------------------------------
(수식 1)
INPUT : RsiPeriod(13),PLPeriod(2),TSLPeriod(7), BandPeriod(34), 표준편차(1.6185);
var :RSIV(0), RSIPL(0), TSL(0), MidBand(0), UpBand(0),DnBand(0) ;
var : TL1(0), TL2(0), TLi1(0), TLi2(0), TX1(0), TX2(0), TX3(0), TX4(0), TX5(0), TX6(0);
var : TXi1(0),TXi2(0),TXi3(0),TXi4(0);
#RSI
RSIV = RSI(RSIPeriod);
#RSI시그널1
RSIPL = ma(RSIV,PLPeriod);
#RSI시그널2
TSL = ma(RSIV,TSLPeriod);
#RSI 볼밴 중단
MidBand = ma(RSIV,BandPeriod);
#RSI 볼밴 상단
UpBand = MidBand + (표준편차 * std(RSIV, BandPeriod));
#RSI 볼밴 하단
DnBand = MidBand - (표준편차 * std(RSIV, BandPeriod));
#RSI시그널1이 50이하에서 상승반전
if RSIPL > RSIPL[1] and RSIPL[1] < RSIPL[2] and RSIPL < 50 then
{
#RSI시그널1값
var1 = RSIPL[1];
#직전 상승반전시 RSI시그널1값
var2 = var1[1];
#저가
var3 = L[1];
#직전 상승반전시 저가
var4 = var3[1];
#날짜
var5 = sdate[1];
var6 = var5[1];
#시간
var7 = stime[1];
var8 = var7[1];
#현재 RSI시그널1값이 직전 상승반전시 RSI시그널1값보다 크고
#현재 저가는 직전 상승반전시 저가보다 작으면 1
if var1 > var2 and var3 < var4 then
var9 = 1;
}
else #상승반전아니면 0
var9 = 0;
if var9 == 1 then
{
TL1 = TL_New(var6,var8,var4,var5,var7,var3);
TL_SetSize(TL1, 5);
TL_SetColor(TL1, magenta);
TLi1= TL_New_self(var6,var8,var2,var5,var7,var1);
TL_SetSize(TLi1, 5);
TL_SetColor(TLi1, magenta);
TX1 = Text_new(var5, var7, L, "★");
Text_SetColor(Tx1,black);
Text_SetStyle(Tx1,0,0);
Text_SetSize(Tx1,18);#크기
PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav");
TXi1 = Text_New_Self(var5, var7, var1, "★");
Text_SetColor(Txi1,black);
Text_SetStyle(Txi1,0,0);
Text_SetSize(Txi1,18);#크기
PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav");
}
if CrossUp(RSIPL, DnBand) then
{
TX3 = Text_new(sdate, stime, L, "▲");
Text_SetColor(Tx3,black);
Text_SetStyle(Tx3,2,0);
Text_SetSize(Tx3,10);#크기
TXi3 = Text_New_Self(sdate, stime, RSIPL, "▲");
Text_SetColor(Txi3,black);
Text_SetStyle(Txi3,2,0);
Text_SetSize(Txi3,10);#크기
}
#RSI시그널1이 50위에서 하락반전
if RSIPL < RSIPL[1] and RSIPL[1] > RSIPL[2] and RSIPL > 50 then
{
#RSI시그널1값
var11 = RSIPL[1];
#직전 상승반전시 RSI시그널1값
var12 = var11[1];
#고가
var13 = H[1];
#직전 상승반전시 고가값
var14 = var13[1];
#날짜
var15 = sdate[1];
var16 = var15[1];
#시간
var17 = stime[1];
var18 = var17[1];
#현재 RSI시그널1값이 직전 하락반전시 RSI시그널1값보다 작고
#현재 고가는 직전 하락반전시 고가보다 크면 1
if var11 < var12 and var13 > var14 then
var19 = 1;
}
else #하락반전 아니면 0
var19 = 0;
if var19 == 1 then
{
TL2 = TL_New(var16,var18,var14,var15,var17,var13);
TL_SetSize(TL2, 5);
TL_SetColor(TL2, Blue);
TLi2= TL_New_self(var16,var18,var12,var15,var17,var11);
TL_SetSize(TLi2, 5);
TL_SetColor(TLi2, Blue);
TX2 = Text_new(var15, var17, H, "★");
Text_SetColor(Tx2,black);
Text_SetStyle(Tx2,0,1);
Text_SetSize(Tx2,18);#크기
PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav");
TXi2 = Text_New_Self(var15, var17, var11, "★");
Text_SetColor(Txi2,black);
Text_SetStyle(Txi2,0,1);
Text_SetSize(Txi2,18);#크기
PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav");
}
if CrossDown(RSIPL, UpBand) then
{
TX4 = Text_new(sdate, stime, H, "▼");
Text_SetColor(Tx4,black);
Text_SetStyle(Tx4,2,1);
Text_SetSize(Tx4,18);#크기
TXi4 = Text_New_Self(sdate, stime, RSIPL, "▼");
Text_SetColor(Txi4,black);
Text_SetStyle(Txi4,2,1);
Text_SetSize(Txi4,18);#크기
}
plot1(RSIPL, "RSIPL",Lgreen,def,0);
plot2(TSL,"TSL",DarkRed,def,1);
plot3(MidBand,"MidBand",Yellow,def,1);
plot4(UpBand,"UpBand",Blue,def,0);
plot5(DnBand,"DnBand",Magenta,def,0);
if CrossUp(RSIPL,DnBand) then
plot6(RSIPL, "상향돌파시점");
if CrossDown(RSIPL, UpBand) then
plot7(RSIPL, "하향이탈시점");
if var9 == 1 then
plot8(RSIPL, "상승다이버전스");
if var19 == 1 then
plot9(RSIPL, "하락다이버전스");
(수식 2)
input : af(0.2), maxAF(0.3);
input : 텍스트출력(0),선굵기(5);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
Array : HI[20](0),LI[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
HI[0] = index;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
HI[cnt] = HI[cnt-1][1];
}
if LL[0] > 0 Then
{
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,cyan);
idx = abs(LI[0]-LI[cnt]);
//tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx99,cyan);
Text_SetStyle(tx99,0,3);
Text_SetBold(tx99,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
LI[0] = index;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
LI[cnt] = LI[cnt-1][1];
}
if HH[0] > 0 Then
{
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,cyan);
idx = abs(HI[0]-HI[cnt]);
//tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx99,cyan);
Text_SetStyle(tx99,0,3);
Text_SetBold(tx99,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,cyan);
idx = abs(HI[0]-HI[cnt]);
//tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx88,cyan);
Text_SetStyle(tx88,0,3);
Text_SetBold(tx88,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,cyan);
idx = abs(LI[0]-LI[cnt]);
//tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx88,cyan);
Text_SetStyle(tx88,0,3);
Text_SetBold(tx88,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}