커뮤니티
수정부탁드립니다-------------------------
2016-12-19 15:40:53
107
글번호 105075
va77,va4,va87 을 일간갭보정을하고싶슴니다(전일마지막지표값이 오늘 시작지표값이되게) 지표값은 안보고 방향만 참고하려고 합니다
항상감사합니다 수고하세요
//=============================================================================
Input : Period1(1),Period5(3),단기급증(0),단기급감(0),단기급등락(30),
장기급증(0),장기급감(00),장기급등락(0),돌파(0),급변(100),단기급변(0),순매수급증보정(0.6),
순매수급감보정(0),순매수보정한계(0)/*,고저기간(0)*/
,LENGTH1(2) ,LENGTH2(20),과열(0),되돌림(0),tsfPeriod(0);
Var : va(0);
Var : va1(0);
Var : va2(0);
Var : va3(0);
Var : va4(0);
Var : va11(0);
Var : va12(0);
Var : va15(0);
Var : va33(0);
Var : va20(0);
Var : va38(0);
Var : va77(0);
Var : va87(0);
Var : va88(0);
Var : value(0);
Var : vp(0),II(0),AA(0),BB(0);
var : N(0),T(0),EP1(0),EP2(0);
var : ema11(0),ema12(0),ema13(0);
var : ema21(0),ema22(0),ema23(0),cnt1(0),cnt2(0);
var : vmin(0),vmax(0);
var : TSF(0);
EP1 = 2/(LENGTH1+1);
EP2 = 2/(LENGTH2+1);
if Bdate != Bdate[1] Then{
II = 0;
BB = 0;
AA = 0;
}
II = II+1;
BB = BB+Bids;
AA = AA+Asks;
if II < Period5 Then{
va = (BB/II)-(AA/II)+8000;
}
else{
va = ma(bids,period5)-ma(asks,period5)+8000;
}
if II < Period1 Then{
va1 = (BB/II)-(AA/II)+8000;
va2 = (BB/II)-(AA/II)+8000;
va3 = (BB/II)-(AA/II)+8000;
va4 = (BB/II)-(AA/II)+8000;
}
//순매수에 8000 더해 양의값만들기----------------------------
else{
va1 = ma(bids,period1)-ma(asks,period1)+8000;
va2 = ma(bids,period1)-ma(asks,period1)+8000;
va3 = ma(bids,period1)-ma(asks,period1)+8000;
va4 = ma(bids,period5)-ma(asks,period5)+8000;
}
//순매수5이평의 급등락축소시작----------------------------
if ii > 1 and va >va[1]+장기급등락 then va = ((va -va[1])/장기급증)+va[1];
if ii > 1 and va <va[1]-장기급등락 then va = va[1]-((va[1] -va)/장기급감);
If ii >= 2
Then
{
//순매수 일정차 이상의급등락축소시작----------------------------
//if va1 >va1[1]+급등락 then va1 = va1 -급등락;
if va1 >va1[1]+단기급등락 then va1 = ((va1 -va1[1])/단기급증)+va1[1];
//if va1 >va1[1]+소등락 then va1 = va1 - 소등락;
if va1 <va1[1]-단기급등락 then va1 = va1[1]-((va1[1] -va1)/단기급감);
//if va1 <va1[1]-급등락 then va1 = va1 + 급등락;
//if va1 <va1[1]-소등락 then va1 = va1 + 소등락;
//급등락축소시작----------------------------
//순매수 일정차 이하의급등락축소시작----------------------------
if va2 >va2[1]+순매수보정한계 then va2 = ((va2 -va2[1])*순매수급증보정)+va2[1];
if va2 <va2[1]-순매수보정한계 then va2 = va2[1]-((va2[1] -va2)*순매수급감보정);
if va2 >va2[1]+20 then va2 = ((va2 -va2[1])*0.22)+va2[1];
if va2 <va2[1]-20 then va2 = va2[1]-((va2[1] -va2)*0.22);
if va2 >va2[1]+220 then va2 = ((va2 -va2[1])*0.3)+va2[1];
if va2 <va2[1]-220 then va2 = va2[1]-((va2[1] -va2)*0.3);
//1이평 막대표시 -----------------------------------------------
If va1 > va1[1] Then
{
Plot10(va1, "매수잔량 우위");
Plot11(0, "매도잔량 우위");
}
Else{
Plot10(0, "매수잔량 우위");
Plot11(va3, "매도잔량 우위");
}
//5이평 막대표시 -----------------------------------------------
If va > va[1] Then
{
Plot3(va, "5매수총잔량 우위");
Plot4(0, "5매도총잔량 우위");
}
Else{
Plot3(0, "5매수총잔량 우위");
Plot4(va, "5매도총잔량 우위");
}
PlotBaseLine1(12000,"기준선12");
PlotBaseLine2(11000,"기준선11");
//테마합 일정 수량차이상의 급등락 표시
if va4 > va4[1]+ 급변 Then{plot55(vp-100,"급등");}
if va4 < va4[1]- 급변 Then{plot46(vp-100,"급락");}
}
// if Highest(va1,고저기간 )==0 then{
// va11=Lowest(va1,고저기간 );
if ii >= 2 and va2 > va2[1]+ 단기급변 Then{plot66(va2,"단기");}
if ii >= 2 and va2 < va2[1]- 단기급변 Then{plot66(va2,"단기");}
Plot99(va2, "순매수1차보정",iff(va2>va2[1]-00,red,iff(va2<va2[1]+00,BLUE,BLACK)));
Plot9(va4, "순매수");
if va2 >va2[1]+25 then va15 = ((va2 -va2[1])*01.1)+va2[1];
if va2 <va2[1]-25 then va15 = va2[1]-((va2[1] -va2)*1.1);
if va15 >va15[1]+30 then va15 = ((va15 -va15[1])*1.1)+va15[1];
if va15 <va15[1]-30 then va15 = va15[1]-((va15[1] -va15)*1.1);
//--------------------------------------------
if va15 < va2 then {vp=((va2-va15)/2)+va15;}
if va2 < va15 then {vp=((va15-va2)/2)+va2;}
if va2 > va15 then va33 = (va2 - va15) / 2 + va15;
if va15 > va2 then va33 = (va15 - va2) / 2 + va2;
plot47(va33,"반반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK)));
//*********************************************************
if vp >vp[1]+570 then vp = ((vp -vp[1])*0.25)+vp[1];
if vp <vp[1]-570 then vp = vp[1]-((vp[1] -vp)*0.25);
//**********************************************************
// vp = (2 * Ema(vp,LENGTH1)) - (2 * Ema(Ema(vp,LENGTH1),LENGTH1)) +
// (Ema(Ema(Ema(vp,LENGTH1),LENGTH1),LENGTH1));
//Plot20(vp, "반");
plot20(vp+100, "반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK)));
/*TSF = LRL(va4,tsfPeriod)+LRS(va4,tsfPeriod);
if TSF >TSF[1]+220 then TSF = ((TSF -TSF[1])*0.6)+TSF[1];
if TSF <TSF[1]-220 then TSF = TSF[1]-((TSF[1] -TSF)*0.6);
Plot60(TSF,"TSF",iff(TSF>TSF[1]+00,red,iff(TSF<TSF[1]-00,BLUE,BLACK)));
*/
Plot60(va15, "순매수1",iff(va15>va15[1]+00,RED,iff(va15<va15[1]-00,BLUE,BLACK)));
if ii == 1 Then
ema11 = va3;
else
ema11 = va3 * EP1 +ema11 * (1-EP1);
if ii <= 2 Then
ema12 = ema11;
else
ema12 = ema11 * EP1 +ema12 * (1-EP1);
if ii <= 3 Then
ema13 = ema12;
else
ema13 = ema12 * EP1 +ema13 * (1-EP1);
//순매수를 테마로
if ii >= 3 then
va77 = (2.5 * ema11) - (2.5 * ema12) + (ema13);
Plot58(va77, "테마");
va88 = va77;
if va2 < va77 and va3 > va77 Then
{ va88 = va3;
}
if va2 > va77 and va3 < va77 Then
{ va88 = va3;
if va88 >va88[1]+20 then va88 = ((va88 -va88[1])*0.5)+va88[1];
if va88 <va88[1]-20 then va88 = va88[1]-((va88[1] -va88)*0.5);
}
Plot95(va88, "테마합");
if ii == 1 Then
ema21 = va88;
Else
ema21 = va88 * EP2 +ema21 * (1-EP2);
if ii <= 2 Then
ema22 = ema21;
Else
ema22 = ema21 * EP2 +ema22 * (1-EP2);
if ii <= 3 Then
ema23 = ema22;
else
ema23 = ema22 * EP2 +ema23 * (1-EP2);
if ii >= 3 then
va87 = (3 * ema21) - (3 * ema22) + (ema23);
//Plot78(va87, "테마합테마");
plot78(va87+000, "테마합테마",iff(va87>va87[1]+00,red,iff(va87<va87[1]-00,BLUE,BLACK)));
if ii >= 2 then{
//TSF 막대표시 -----------------------------------------------
If va87 < va77 Then
{
Plot45(vmin-100, "테마상승 우위");
Plot44(0, "테마하락 우위");
}
If va87 > va77 Then{
Plot45(0, "테마상승 우위");
Plot44(vmin-100, "테마하락 우위");
}
//매수매도신호-------------------------------------------------------
/* If va4[1]+300 < va4 Then{
Plot96(va4+200, "매/수");
}
If va4[1]-300 > va4 Then{
Plot97(va4+200, "매/도");
}
*/
//-------------------------------------------------------------------------
/* if CrossUp(va2,vp) Then
{
Plot85(va2-200, "buy");
PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles");
}
if CrossDown(va2,vp) Then
{
Plot86(va2+300, "sall");
PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");
}
*/
//---------------------------------------------------------------------------
/*if va4[2] > va4[1] and va4[1]+00 < va4 Then
{ plot85(va4-230,"y매수");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");}
if va4[2] < va4[1] and va4[1]-00 > va4 Then
{ plot86(va4+250,"y매도");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");}
*/
vmin = min(va87,va77);
vmax = max(va87,va77);
if va2 > va15 then va33 = (va2 - va15) / 2 + va15;
if va15 > va2 then va33 = (va15 - va2) / 2 + va2;
plot47(va33,"반반");
va20 = (vp+va15+va2+va33)/4;
plot98(va20, "4평균",iff(va20>va20[1]+00,red,iff(va20<va20[1]-00,BLUE,BLACK)));
if CrossDown(va77,va87) Then
plot37(va87+200,"테마매도유리");{
PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");
}
if CrossUp(va77,va87) Then{
plot38(va87-200,"테마매수유리");
PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles.wav");
}
input: 봉완성(0);
var : SS(0),TS(0),second(0);
#봉시작
var1 = TimeToMinutes(stime)*60;
var2 = FracPortion(stime/100)*100;//시작시간 초
SS = var1+var2;
#봉끝
value1 = TimeToMinutes(time)*60;
value2 = FracPortion(time/100)*100;//긑시간 초
TS = value1+value2;
Second = TS-SS;
if second < 봉완성 Then
plot27(vmin-200,"체결단");
Else
plot28(vmin-200,"체결장");
}
답변 1
예스스탁 예스스탁 답변
2016-12-19 16:29:35
안녕하세요
예스스탁입니다.
가장하단에 plot1,plot2,plot3으로 추가되었습니다.
수식에 plot문이 많으므로 원하시는 숫자로 변경하시기 바랍니다.
Input : Period1(1),Period5(3),단기급증(0),단기급감(0),단기급등락(30),
장기급증(0),장기급감(00),장기급등락(0),돌파(0),급변(100),단기급변(0),순매수급증보정(0.6),
순매수급감보정(0),순매수보정한계(0)/*,고저기간(0)*/
,LENGTH1(2) ,LENGTH2(20),과열(0),되돌림(0),tsfPeriod(0);
Var : va(0);
Var : va1(0);
Var : va2(0);
Var : va3(0);
Var : va4(0);
Var : va11(0);
Var : va12(0);
Var : va15(0);
Var : va33(0);
Var : va20(0);
Var : va38(0);
Var : va77(0);
Var : va87(0);
Var : va88(0);
Var : value(0);
Var : vp(0),II(0),AA(0),BB(0);
var : N(0),T(0),EP1(0),EP2(0);
var : ema11(0),ema12(0),ema13(0);
var : ema21(0),ema22(0),ema23(0),cnt1(0),cnt2(0);
var : vmin(0),vmax(0);
var : TSF(0);
EP1 = 2/(LENGTH1+1);
EP2 = 2/(LENGTH2+1);
if Bdate != Bdate[1] Then{
II = 0;
BB = 0;
AA = 0;
}
II = II+1;
BB = BB+Bids;
AA = AA+Asks;
if II < Period5 Then{
va = (BB/II)-(AA/II)+8000;
}
else{
va = ma(bids,period5)-ma(asks,period5)+8000;
}
if II < Period1 Then{
va1 = (BB/II)-(AA/II)+8000;
va2 = (BB/II)-(AA/II)+8000;
va3 = (BB/II)-(AA/II)+8000;
va4 = (BB/II)-(AA/II)+8000;
}
//순매수에 8000 더해 양의값만들기----------------------------
else{
va1 = ma(bids,period1)-ma(asks,period1)+8000;
va2 = ma(bids,period1)-ma(asks,period1)+8000;
va3 = ma(bids,period1)-ma(asks,period1)+8000;
va4 = ma(bids,period5)-ma(asks,period5)+8000;
}
//순매수5이평의 급등락축소시작----------------------------
if ii > 1 and va >va[1]+장기급등락 then va = ((va -va[1])/장기급증)+va[1];
if ii > 1 and va <va[1]-장기급등락 then va = va[1]-((va[1] -va)/장기급감);
If ii >= 2
Then
{
//순매수 일정차 이상의급등락축소시작----------------------------
//if va1 >va1[1]+급등락 then va1 = va1 -급등락;
if va1 >va1[1]+단기급등락 then va1 = ((va1 -va1[1])/단기급증)+va1[1];
//if va1 >va1[1]+소등락 then va1 = va1 - 소등락;
if va1 <va1[1]-단기급등락 then va1 = va1[1]-((va1[1] -va1)/단기급감);
//if va1 <va1[1]-급등락 then va1 = va1 + 급등락;
//if va1 <va1[1]-소등락 then va1 = va1 + 소등락;
//급등락축소시작----------------------------
//순매수 일정차 이하의급등락축소시작----------------------------
if va2 >va2[1]+순매수보정한계 then va2 = ((va2 -va2[1])*순매수급증보정)+va2[1];
if va2 <va2[1]-순매수보정한계 then va2 = va2[1]-((va2[1] -va2)*순매수급감보정);
if va2 >va2[1]+20 then va2 = ((va2 -va2[1])*0.22)+va2[1];
if va2 <va2[1]-20 then va2 = va2[1]-((va2[1] -va2)*0.22);
if va2 >va2[1]+220 then va2 = ((va2 -va2[1])*0.3)+va2[1];
if va2 <va2[1]-220 then va2 = va2[1]-((va2[1] -va2)*0.3);
//1이평 막대표시 -----------------------------------------------
If va1 > va1[1] Then
{
Plot10(va1, "매수잔량 우위");
Plot11(0, "매도잔량 우위");
}
Else{
Plot10(0, "매수잔량 우위");
Plot11(va3, "매도잔량 우위");
}
//5이평 막대표시 -----------------------------------------------
If va > va[1] Then
{
Plot3(va, "5매수총잔량 우위");
Plot4(0, "5매도총잔량 우위");
}
Else{
Plot3(0, "5매수총잔량 우위");
Plot4(va, "5매도총잔량 우위");
}
PlotBaseLine1(12000,"기준선12");
PlotBaseLine2(11000,"기준선11");
//테마합 일정 수량차이상의 급등락 표시
if va4 > va4[1]+ 급변 Then{plot55(vp-100,"급등");}
if va4 < va4[1]- 급변 Then{plot46(vp-100,"급락");}
}
// if Highest(va1,고저기간 )==0 then{
// va11=Lowest(va1,고저기간 );
if ii >= 2 and va2 > va2[1]+ 단기급변 Then{plot66(va2,"단기");}
if ii >= 2 and va2 < va2[1]- 단기급변 Then{plot66(va2,"단기");}
Plot99(va2, "순매수1차보정",iff(va2>va2[1]-00,red,iff(va2<va2[1]+00,BLUE,BLACK)));
Plot9(va4, "순매수");
if va2 >va2[1]+25 then va15 = ((va2 -va2[1])*01.1)+va2[1];
if va2 <va2[1]-25 then va15 = va2[1]-((va2[1] -va2)*1.1);
if va15 >va15[1]+30 then va15 = ((va15 -va15[1])*1.1)+va15[1];
if va15 <va15[1]-30 then va15 = va15[1]-((va15[1] -va15)*1.1);
//--------------------------------------------
if va15 < va2 then {vp=((va2-va15)/2)+va15;}
if va2 < va15 then {vp=((va15-va2)/2)+va2;}
if va2 > va15 then va33 = (va2 - va15) / 2 + va15;
if va15 > va2 then va33 = (va15 - va2) / 2 + va2;
plot47(va33,"반반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK)));
//*********************************************************
if vp >vp[1]+570 then vp = ((vp -vp[1])*0.25)+vp[1];
if vp <vp[1]-570 then vp = vp[1]-((vp[1] -vp)*0.25);
//**********************************************************
// vp = (2 * Ema(vp,LENGTH1)) - (2 * Ema(Ema(vp,LENGTH1),LENGTH1)) +
// (Ema(Ema(Ema(vp,LENGTH1),LENGTH1),LENGTH1));
//Plot20(vp, "반");
plot20(vp+100, "반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK)));
/*TSF = LRL(va4,tsfPeriod)+LRS(va4,tsfPeriod);
if TSF >TSF[1]+220 then TSF = ((TSF -TSF[1])*0.6)+TSF[1];
if TSF <TSF[1]-220 then TSF = TSF[1]-((TSF[1] -TSF)*0.6);
Plot60(TSF,"TSF",iff(TSF>TSF[1]+00,red,iff(TSF<TSF[1]-00,BLUE,BLACK)));
*/
Plot60(va15, "순매수1",iff(va15>va15[1]+00,RED,iff(va15<va15[1]-00,BLUE,BLACK)));
if ii == 1 Then
ema11 = va3;
else
ema11 = va3 * EP1 +ema11 * (1-EP1);
if ii <= 2 Then
ema12 = ema11;
else
ema12 = ema11 * EP1 +ema12 * (1-EP1);
if ii <= 3 Then
ema13 = ema12;
else
ema13 = ema12 * EP1 +ema13 * (1-EP1);
//순매수를 테마로
if ii >= 3 then
va77 = (2.5 * ema11) - (2.5 * ema12) + (ema13);
Plot58(va77, "테마");
va88 = va77;
if va2 < va77 and va3 > va77 Then
{ va88 = va3;
}
if va2 > va77 and va3 < va77 Then
{ va88 = va3;
if va88 >va88[1]+20 then va88 = ((va88 -va88[1])*0.5)+va88[1];
if va88 <va88[1]-20 then va88 = va88[1]-((va88[1] -va88)*0.5);
}
Plot95(va88, "테마합");
if ii == 1 Then
ema21 = va88;
Else
ema21 = va88 * EP2 +ema21 * (1-EP2);
if ii <= 2 Then
ema22 = ema21;
Else
ema22 = ema21 * EP2 +ema22 * (1-EP2);
if ii <= 3 Then
ema23 = ema22;
else
ema23 = ema22 * EP2 +ema23 * (1-EP2);
if ii >= 3 then
va87 = (3 * ema21) - (3 * ema22) + (ema23);
//Plot78(va87, "테마합테마");
plot78(va87+000, "테마합테마",iff(va87>va87[1]+00,red,iff(va87<va87[1]-00,BLUE,BLACK)));
if ii >= 2 then{
//TSF 막대표시 -----------------------------------------------
If va87 < va77 Then
{
Plot45(vmin-100, "테마상승 우위");
Plot44(0, "테마하락 우위");
}
If va87 > va77 Then{
Plot45(0, "테마상승 우위");
Plot44(vmin-100, "테마하락 우위");
}
//매수매도신호-------------------------------------------------------
/* If va4[1]+300 < va4 Then{
Plot96(va4+200, "매/수");
}
If va4[1]-300 > va4 Then{
Plot97(va4+200, "매/도");
}
*/
//-------------------------------------------------------------------------
/* if CrossUp(va2,vp) Then
{
Plot85(va2-200, "buy");
PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles");
}
if CrossDown(va2,vp) Then
{
Plot86(va2+300, "sall");
PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");
}
*/
//---------------------------------------------------------------------------
/*if va4[2] > va4[1] and va4[1]+00 < va4 Then
{ plot85(va4-230,"y매수");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");}
if va4[2] < va4[1] and va4[1]-00 > va4 Then
{ plot86(va4+250,"y매도");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");}
*/
vmin = min(va87,va77);
vmax = max(va87,va77);
if va2 > va15 then va33 = (va2 - va15) / 2 + va15;
if va15 > va2 then va33 = (va15 - va2) / 2 + va2;
plot47(va33,"반반");
va20 = (vp+va15+va2+va33)/4;
plot98(va20, "4평균",iff(va20>va20[1]+00,red,iff(va20<va20[1]-00,BLUE,BLACK)));
if CrossDown(va77,va87) Then
plot37(va87+200,"테마매도유리");{
PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");
}
if CrossUp(va77,va87) Then{
plot38(va87-200,"테마매수유리");
PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles.wav");
}
input: 봉완성(0);
var : SS(0),TS(0),second(0);
#봉시작
var1 = TimeToMinutes(stime)*60;
var2 = FracPortion(stime/100)*100;//시작시간 초
SS = var1+var2;
#봉끝
value1 = TimeToMinutes(time)*60;
value2 = FracPortion(time/100)*100;//긑시간 초
TS = value1+value2;
Second = TS-SS;
if second < 봉완성 Then
plot27(vmin-200,"체결단");
Else
plot28(vmin-200,"체결장");
}
var : gap1(0),gapVa77(0);
var : gap2(0),gapVa4(0);
var : gap3(0),gapVa87(0);
if Bdate != Bdate[1] Then{
gap1 = gap1+(va77-va77[1]);
gap2 = gap2+(va4-va4[1]);
gap3 = gap3+(va87-va87[1]);
}
GapVa77 = Va77-Gap1;
GapVa4 = Va4-Gap2;
GapVa87 = Va87-Gap3;
plot1(GapVa77);
plot2(GapVa4);
plot3(GapVa87);
즐거운 하루되세요
> leekss1 님이 쓴 글입니다.
> 제목 : 수정부탁드립니다-------------------------
> va77,va4,va87 을 일간갭보정을하고싶슴니다(전일마지막지표값이 오늘 시작지표값이되게) 지표값은 안보고 방향만 참고하려고 합니다
항상감사합니다 수고하세요
//=============================================================================
Input : Period1(1),Period5(3),단기급증(0),단기급감(0),단기급등락(30),
장기급증(0),장기급감(00),장기급등락(0),돌파(0),급변(100),단기급변(0),순매수급증보정(0.6),
순매수급감보정(0),순매수보정한계(0)/*,고저기간(0)*/
,LENGTH1(2) ,LENGTH2(20),과열(0),되돌림(0),tsfPeriod(0);
Var : va(0);
Var : va1(0);
Var : va2(0);
Var : va3(0);
Var : va4(0);
Var : va11(0);
Var : va12(0);
Var : va15(0);
Var : va33(0);
Var : va20(0);
Var : va38(0);
Var : va77(0);
Var : va87(0);
Var : va88(0);
Var : value(0);
Var : vp(0),II(0),AA(0),BB(0);
var : N(0),T(0),EP1(0),EP2(0);
var : ema11(0),ema12(0),ema13(0);
var : ema21(0),ema22(0),ema23(0),cnt1(0),cnt2(0);
var : vmin(0),vmax(0);
var : TSF(0);
EP1 = 2/(LENGTH1+1);
EP2 = 2/(LENGTH2+1);
if Bdate != Bdate[1] Then{
II = 0;
BB = 0;
AA = 0;
}
II = II+1;
BB = BB+Bids;
AA = AA+Asks;
if II < Period5 Then{
va = (BB/II)-(AA/II)+8000;
}
else{
va = ma(bids,period5)-ma(asks,period5)+8000;
}
if II < Period1 Then{
va1 = (BB/II)-(AA/II)+8000;
va2 = (BB/II)-(AA/II)+8000;
va3 = (BB/II)-(AA/II)+8000;
va4 = (BB/II)-(AA/II)+8000;
}
//순매수에 8000 더해 양의값만들기----------------------------
else{
va1 = ma(bids,period1)-ma(asks,period1)+8000;
va2 = ma(bids,period1)-ma(asks,period1)+8000;
va3 = ma(bids,period1)-ma(asks,period1)+8000;
va4 = ma(bids,period5)-ma(asks,period5)+8000;
}
//순매수5이평의 급등락축소시작----------------------------
if ii > 1 and va >va[1]+장기급등락 then va = ((va -va[1])/장기급증)+va[1];
if ii > 1 and va <va[1]-장기급등락 then va = va[1]-((va[1] -va)/장기급감);
If ii >= 2
Then
{
//순매수 일정차 이상의급등락축소시작----------------------------
//if va1 >va1[1]+급등락 then va1 = va1 -급등락;
if va1 >va1[1]+단기급등락 then va1 = ((va1 -va1[1])/단기급증)+va1[1];
//if va1 >va1[1]+소등락 then va1 = va1 - 소등락;
if va1 <va1[1]-단기급등락 then va1 = va1[1]-((va1[1] -va1)/단기급감);
//if va1 <va1[1]-급등락 then va1 = va1 + 급등락;
//if va1 <va1[1]-소등락 then va1 = va1 + 소등락;
//급등락축소시작----------------------------
//순매수 일정차 이하의급등락축소시작----------------------------
if va2 >va2[1]+순매수보정한계 then va2 = ((va2 -va2[1])*순매수급증보정)+va2[1];
if va2 <va2[1]-순매수보정한계 then va2 = va2[1]-((va2[1] -va2)*순매수급감보정);
if va2 >va2[1]+20 then va2 = ((va2 -va2[1])*0.22)+va2[1];
if va2 <va2[1]-20 then va2 = va2[1]-((va2[1] -va2)*0.22);
if va2 >va2[1]+220 then va2 = ((va2 -va2[1])*0.3)+va2[1];
if va2 <va2[1]-220 then va2 = va2[1]-((va2[1] -va2)*0.3);
//1이평 막대표시 -----------------------------------------------
If va1 > va1[1] Then
{
Plot10(va1, "매수잔량 우위");
Plot11(0, "매도잔량 우위");
}
Else{
Plot10(0, "매수잔량 우위");
Plot11(va3, "매도잔량 우위");
}
//5이평 막대표시 -----------------------------------------------
If va > va[1] Then
{
Plot3(va, "5매수총잔량 우위");
Plot4(0, "5매도총잔량 우위");
}
Else{
Plot3(0, "5매수총잔량 우위");
Plot4(va, "5매도총잔량 우위");
}
PlotBaseLine1(12000,"기준선12");
PlotBaseLine2(11000,"기준선11");
//테마합 일정 수량차이상의 급등락 표시
if va4 > va4[1]+ 급변 Then{plot55(vp-100,"급등");}
if va4 < va4[1]- 급변 Then{plot46(vp-100,"급락");}
}
// if Highest(va1,고저기간 )==0 then{
// va11=Lowest(va1,고저기간 );
if ii >= 2 and va2 > va2[1]+ 단기급변 Then{plot66(va2,"단기");}
if ii >= 2 and va2 < va2[1]- 단기급변 Then{plot66(va2,"단기");}
Plot99(va2, "순매수1차보정",iff(va2>va2[1]-00,red,iff(va2<va2[1]+00,BLUE,BLACK)));
Plot9(va4, "순매수");
if va2 >va2[1]+25 then va15 = ((va2 -va2[1])*01.1)+va2[1];
if va2 <va2[1]-25 then va15 = va2[1]-((va2[1] -va2)*1.1);
if va15 >va15[1]+30 then va15 = ((va15 -va15[1])*1.1)+va15[1];
if va15 <va15[1]-30 then va15 = va15[1]-((va15[1] -va15)*1.1);
//--------------------------------------------
if va15 < va2 then {vp=((va2-va15)/2)+va15;}
if va2 < va15 then {vp=((va15-va2)/2)+va2;}
if va2 > va15 then va33 = (va2 - va15) / 2 + va15;
if va15 > va2 then va33 = (va15 - va2) / 2 + va2;
plot47(va33,"반반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK)));
//*********************************************************
if vp >vp[1]+570 then vp = ((vp -vp[1])*0.25)+vp[1];
if vp <vp[1]-570 then vp = vp[1]-((vp[1] -vp)*0.25);
//**********************************************************
// vp = (2 * Ema(vp,LENGTH1)) - (2 * Ema(Ema(vp,LENGTH1),LENGTH1)) +
// (Ema(Ema(Ema(vp,LENGTH1),LENGTH1),LENGTH1));
//Plot20(vp, "반");
plot20(vp+100, "반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK)));
/*TSF = LRL(va4,tsfPeriod)+LRS(va4,tsfPeriod);
if TSF >TSF[1]+220 then TSF = ((TSF -TSF[1])*0.6)+TSF[1];
if TSF <TSF[1]-220 then TSF = TSF[1]-((TSF[1] -TSF)*0.6);
Plot60(TSF,"TSF",iff(TSF>TSF[1]+00,red,iff(TSF<TSF[1]-00,BLUE,BLACK)));
*/
Plot60(va15, "순매수1",iff(va15>va15[1]+00,RED,iff(va15<va15[1]-00,BLUE,BLACK)));
if ii == 1 Then
ema11 = va3;
else
ema11 = va3 * EP1 +ema11 * (1-EP1);
if ii <= 2 Then
ema12 = ema11;
else
ema12 = ema11 * EP1 +ema12 * (1-EP1);
if ii <= 3 Then
ema13 = ema12;
else
ema13 = ema12 * EP1 +ema13 * (1-EP1);
//순매수를 테마로
if ii >= 3 then
va77 = (2.5 * ema11) - (2.5 * ema12) + (ema13);
Plot58(va77, "테마");
va88 = va77;
if va2 < va77 and va3 > va77 Then
{ va88 = va3;
}
if va2 > va77 and va3 < va77 Then
{ va88 = va3;
if va88 >va88[1]+20 then va88 = ((va88 -va88[1])*0.5)+va88[1];
if va88 <va88[1]-20 then va88 = va88[1]-((va88[1] -va88)*0.5);
}
Plot95(va88, "테마합");
if ii == 1 Then
ema21 = va88;
Else
ema21 = va88 * EP2 +ema21 * (1-EP2);
if ii <= 2 Then
ema22 = ema21;
Else
ema22 = ema21 * EP2 +ema22 * (1-EP2);
if ii <= 3 Then
ema23 = ema22;
else
ema23 = ema22 * EP2 +ema23 * (1-EP2);
if ii >= 3 then
va87 = (3 * ema21) - (3 * ema22) + (ema23);
//Plot78(va87, "테마합테마");
plot78(va87+000, "테마합테마",iff(va87>va87[1]+00,red,iff(va87<va87[1]-00,BLUE,BLACK)));
if ii >= 2 then{
//TSF 막대표시 -----------------------------------------------
If va87 < va77 Then
{
Plot45(vmin-100, "테마상승 우위");
Plot44(0, "테마하락 우위");
}
If va87 > va77 Then{
Plot45(0, "테마상승 우위");
Plot44(vmin-100, "테마하락 우위");
}
//매수매도신호-------------------------------------------------------
/* If va4[1]+300 < va4 Then{
Plot96(va4+200, "매/수");
}
If va4[1]-300 > va4 Then{
Plot97(va4+200, "매/도");
}
*/
//-------------------------------------------------------------------------
/* if CrossUp(va2,vp) Then
{
Plot85(va2-200, "buy");
PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles");
}
if CrossDown(va2,vp) Then
{
Plot86(va2+300, "sall");
PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");
}
*/
//---------------------------------------------------------------------------
/*if va4[2] > va4[1] and va4[1]+00 < va4 Then
{ plot85(va4-230,"y매수");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");}
if va4[2] < va4[1] and va4[1]-00 > va4 Then
{ plot86(va4+250,"y매도");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");}
*/
vmin = min(va87,va77);
vmax = max(va87,va77);
if va2 > va15 then va33 = (va2 - va15) / 2 + va15;
if va15 > va2 then va33 = (va15 - va2) / 2 + va2;
plot47(va33,"반반");
va20 = (vp+va15+va2+va33)/4;
plot98(va20, "4평균",iff(va20>va20[1]+00,red,iff(va20<va20[1]-00,BLUE,BLACK)));
if CrossDown(va77,va87) Then
plot37(va87+200,"테마매도유리");{
PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");
}
if CrossUp(va77,va87) Then{
plot38(va87-200,"테마매수유리");
PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles.wav");
}
input: 봉완성(0);
var : SS(0),TS(0),second(0);
#봉시작
var1 = TimeToMinutes(stime)*60;
var2 = FracPortion(stime/100)*100;//시작시간 초
SS = var1+var2;
#봉끝
value1 = TimeToMinutes(time)*60;
value2 = FracPortion(time/100)*100;//긑시간 초
TS = value1+value2;
Second = TS-SS;
if second < 봉완성 Then
plot27(vmin-200,"체결단");
Else
plot28(vmin-200,"체결장");
}