예스스탁
예스스탁 답변
2023-06-12 09:30:29
안녕하세요
예스스탁입니다.
Inputs : Period(20), Sence(1.5);
Inputs : Period2(20), Sence2(1.5);
Inputs : Period3(20), Sence3(1.5);
input : BBP(20),dv(2);
Var : VLineUp(0),VLineDn(0),HHighest(0),LLowest(0),JustChanged(FALSE),VLine(0), DBN(0);
var : v1(0),v2(0),v3(0),v5(0),v6(0),T(0);
Array: Highs[35](0),Lows[35](0),RRange[35](0),UpWave[1](FALSE),DnWave[1](FALSE);
Var : VLineUp2(0),VLineDn2(0),HHighest2(0),LLowest2(0),JustChanged2(FALSE),VLine2(0), DBN2(0);
var : v12(0),v22(0),v32(0),v52(0),v62(0),T2(0);
Array: Highs2[35](0),Lows2[35](0),RRange2[35](0),UpWave2[1](FALSE),DnWave2[1](FALSE);
Var : VLineUp3(0),VLineDn3(0),HHighest3(0),LLowest3(0),JustChanged3(FALSE),VLine3(0), DBN3(0);
var : v13(0),v23(0),v33(0),v53(0),v63(0),T3(0);
Array: Highs3[35](0),Lows3[35](0),RRange3[35](0),UpWave3[1](FALSE),DnWave3[1](FALSE);
var : BBup(0),BBmd(0),BBdn(0);
If data1(STime == 180000) Then
DBN = 0;
DBN = DBN + 1;
v1 = Period;
v2 = v1 - 1;
v3 = v1 - 2;
v5 = Sence;
v6 = data1(H-L);
JustChanged = FALSE;
if Data1(Index) <= v2 then
{
Highs[Data1(Index)] = data1(c);
Lows[Data1(Index)] = data1(c);
RRange[Data1(Index)] = Data1((H-L) /2);
}
if Data1(Index) == v1 then
{
if Highs[v2] >= Highs[v3] then
{
UpWave[1] = TRUE;
HHighest = Highs[v2];
VLineUp = HHighest - (v5 * data1(MA(v6,v2)));
}
if Highs[v2] < Highs[v3] then
{
DnWave[1] = TRUE;
LLowest = Lows[v2];
VLineDn = LLowest + (v5 * data1(MA(v6,v2)));
}
}
if Data1(Index) > v1 then
{
if DnWave[1] and data1(c) > VLineDn then
{
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = data1(c);
LLowest = 0;
}
if UpWave[1] and data1(c) < VLineUp and JustChanged == FALSE then
{
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = data1(c);
HHighest = 0;
}
if JustChanged == FALSE then
{
if data1(c) > HHighest then
HHighest = data1(c);
else if data1(c) < LLowest then
LLowest = data1(c);
}
VLineUp = HHighest - (v5 * data1(MA(v6,v2)));
VLineDn = LLowest + (v5 * data1(MA(v6,v2)));
if UpWave[1] then T =1;
else if DnWave[1] then T = -1;
}
If data2(STime == 180000) Then
DBN2 = 0;
DBN2 = DBN2 + 1;
v12 = Period2;
v22 = v12 - 1;
v32 = v12 - 2;
v52 = Sence2;
v62 = data2(H-L);
JustChanged2 = FALSE;
if Data2(Index) <= v22 then
{
Highs2[Data2(Index)] = data2(c);
Lows2[Data2(Index)] = data2(c);
RRange2[Data2(Index)] = Data2((H-L) /2);
}
if Data2(Index) == v12 then
{
if Highs2[v22] >= Highs2[v32] then
{
UpWave2[1] = TRUE;
HHighest2 = Highs2[v22];
VLineUp2 = HHighest2 - (v52 * data2(MA(v62,v22)));
}
if Highs2[v22] < Highs2[v32] then
{
DnWave2[1] = TRUE;
LLowest2 = Lows2[v22];
VLineDn2 = LLowest2 + (v52 * data2(MA(v62,v22)));
}
}
if Data2(Index) > v12 then
{
if DnWave2[1] and data2(c) > VLineDn2 then
{
DnWave2[1] = FALSE;
UpWave2[1] = TRUE;
JustChanged2 = TRUE;
HHighest2 = data2(c);
LLowest2 = 0;
}
if UpWave2[1] and data2(c) < VLineUp2 and JustChanged2 == FALSE then
{
UpWave2[1] = FALSE;
DnWave2[1] = TRUE;
JustChanged2 = TRUE;
LLowest2 = data2(c);
HHighest2 = 0;
}
if JustChanged2 == FALSE then
{
if data2(c) > HHighest2 then
HHighest2 = data2(c);
else if data2(c) < LLowest2 then
LLowest2 = data2(c);
}
VLineUp2 = HHighest2 - (v52 * data2(MA(v62,v22)));
VLineDn2 = LLowest2 + (v52 * data2(MA(v62,v22)));
if UpWave2[1] then T2 =1;
else if DnWave2[1] then T2 = -1;
}
If data3(STime == 180000) Then
DBN3 = 0;
DBN3 = DBN3 + 1;
v13 = Period2;
v23 = v13 - 1;
v33 = v13 - 2;
v53 = Sence3;
v63 = data3(H-L);
JustChanged3 = FALSE;
if Data3(Index) <= v23 then
{
Highs3[Data2(Index)] = data3(c);
Lows3[Data2(Index)] = data3(c);
RRange3[Data2(Index)] = Data3((H-L) /2);
}
if Data3(Index) == v13 then
{
if Highs3[v23] >= Highs3[v33] then
{
UpWave3[1] = TRUE;
HHighest3 = Highs3[v33];
VLineUp3 = HHighest3 - (v53 * data2(MA(v63,v23)));
}
if Highs2[v23] < Highs2[v33] then
{
DnWave3[1] = TRUE;
LLowest3 = Lows3[v23];
VLineDn3 = LLowest3 + (v53 * data2(MA(v63,v23)));
}
}
if Data2(Index) > v13 then
{
if DnWave3[1] and data3(c) > VLineDn3 then
{
DnWave3[1] = FALSE;
UpWave3[1] = TRUE;
JustChanged3 = TRUE;
HHighest3 = data3(c);
LLowest3 = 0;
}
if UpWave3[1] and data3(c) < VLineUp3 and JustChanged3 == FALSE then
{
UpWave3[1] = FALSE;
DnWave3[1] = TRUE;
JustChanged3 = TRUE;
LLowest3 = data3(c);
HHighest3 = 0;
}
if JustChanged3 == FALSE then
{
if data3(c) > HHighest3 then
HHighest3 = data3(c);
else if data3(c) < LLowest3 then
LLowest3 = data3(c);
}
VLineUp3 = HHighest3 - (v53 * data3(MA(v63,v23)));
VLineDn3 = LLowest3 + (v53 * data3(MA(v63,v23)));
if UpWave3[1] then T3 =1;
else if DnWave3[1] then T3 = -1;
}
bbup = data1(BollBandUp(Period,dv));
bbmd = data1(ma(C,Period));
bbdn = data1(BollBandDown(Period,dv));
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0);
TCHAN = data1(HIGHEST(HIGH, LENGTH)[1]);
BCHAN = data1(LOWEST(LOW, LENGTH)[1]);
if Data1(CrossUp(C,BBdn) or CrossUp(C,BCHAN))
and T == 1 and T2 == 1 and T3 == 1 Then
Buy();
if Data1(CrossDown(C,BBdn) or CrossDown(C,BCHAN))
and T == -1 and T2 == -1 and T3 == -1 Then
Sell();
if MarketPosition == 1 Then
{
if Data1(c > bbup or C > TCHAN) and
T == -1 and T2 == -1 and T3 == -1 Then
ExitLong();
if Data1(c < bbdn or C < BCHAN) and
T == -1 and T2 == -1 and T3 == -1 Then
ExitLong();
}
if MarketPosition == -1 Then
{
if Data1(c < bbdn or C < TCHAN) and
T == 1 and T2 == 1 and T3 == 1 Then
ExitShort();
if Data1(c > bbup or C > TCHAN) and
T == 1 and T2 == 1 and T3 == 1 Then
ExitShort();
}
즐거운 하루되세요
> 아트정 님이 쓴 글입니다.
> 제목 : 수식부탁드림니다
> 안녕하세요
수식부탁드립니다
date 1
date 2
date 3
(볼밴.프라이스 채널,sw2선 date1.2.3. 일치시)
매수
현재가가 볼밴하단.프라이스채널 하단을 하향이나
터치후상승 sw2선 양선시.
익절 매수후 볼밴, 프라이스 채널 상단 돌파나 터치후 sw2선음선전환시.
손절 매수후 sw2선 음선으로 볼밴하단.프라이스 채널,하향돌파시.
매도
현재가가 볼밴상단.프라이스 채널 상단돌파후 하락시
Sw2선 음선발생시.
익절 매도후 볼밴, 프라이스 채널.하단돌파나터치후 하향. sw2 선양선 발생.
손절 매도후 sw2선 양선전환 볼밴.프라이스채널 상단돌파시.
첨부sw2선