커뮤니티
시스템식 부탁드립니다.
2014-08-02 04:09:02
232
글번호 77335
1. 가상매매조건은 다음과 같습니다.
var : SH(0),SL(0),SHi(0),SLi(0);
var : var1(0),var2(9999999999999),var3(9999999999999);
SH = SwingHigh(1,H,3,3,7);
SL = SwingLow(1,L,3,3,7);
var1 = round(ma((H+L+O+C)/4,60)*20,0)/20;
if SH != -1 and SH > var1 Then{
if SH > var2 Then{
var2 = SH;
SHi = index;
}
if SH < var2 and index > SLi and SLi > SHi Then{
var2 = SH;
}
}
if SL != -1 and SL < var1 Then{
if SL < var3 Then{
var3 = SL;
SLi = index;
}
if SL > var3 and index > SHi and SHi > SLi Then{
var3 = SL;
}
}
If H>var2+0.07 Then{
var4=Index;
Exitshort("sx1");
Playsound("K:₩음성₩드럼소리.wav");
}
If Marketposition==1 and L<var1-0.47 Then{
Playsound("K:₩음성₩드럼소리.wav");
}
If L<var3-0.07 Then{
var5=Index;
Exitlong("bx1");
Playsound("K:₩음성₩유리.wav");
}
If Marketposition==1 and L<var1-0.47 Then{
Playsound("K:₩음성₩유리.wav");
}
condition1=Marketposition(1)==1 and Marketposition==0;
condition2=Marketposition(1)==-1 and Marketposition==0;
If SL>var1 Then
var6=SL;
If SH<var1 Then
var7=SH;
If condition1==false and var4>var5 and L<=var6 Then{
Buy("b",atlimit,var6,1);
Playsound("K:₩음성₩종소리.wav");
}
If condition2==false and var4<var5 and H>=var7 Then{
Sell("s",atlimit,var7,1);
Playsound("K:₩음성₩종소리.wav");
}
2. 실제매매조건
위의 가상매매조건대로 매매했다고 가정할 때 (전일가상매매도 함께 이어서 카운트)
직전6번의 실현손익이 (4연속손실+1회이익+1회손실) 또는
직전5번의 실현손익이 (5연속손실)일 때에만
가상매매조건의 매수(매도)조건에 매수(매도).
가상매매조건의 매수(매도)청산조건에 청산.
1포인트 익절.
청산되고 나면 다시 가상매매조건의 손익순서와 횟수를 카운트하여 맞는 조건에 진입
[가상거래 수익(승)손실(패)거래와 실제매매(0)의 예
가상거래 : 승패패패패승패승승승패패패패패패승패승
실제거래 : 0 0 0 0
3. 위와 같은 방법을 전제로 하는 시스템식을 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2014-08-04 11:44:03
안녕하세요
예스스탁입니다.
var : SH(0),SL(0),SHi(0),SLi(0);
var : var1(0),var2(9999999999999),var3(9999999999999),Pst(0),cnt(0),EP(0),PST1(0);
var : cond1(false),cond2(false);
Array : PL[20](0);
SH = SwingHigh(1,H,3,3,7);
SL = SwingLow(1,L,3,3,7);
var1 = round(ma((H+L+O+C)/4,60)*20,0)/20;
if SH != -1 and SH > var1 Then{
if SH > var2 Then{
var2 = SH;
SHi = index;
}
if SH < var2 and index > SLi and SLi > SHi Then{
var2 = SH;
}
}
if SL != -1 and SL < var1 Then{
if SL < var3 Then{
var3 = SL;
SLi = index;
}
if SL > var3 and index > SHi and SHi > SLi Then{
var3 = SL;
}
}
If H > var2+0.07 Then{
var4=Index;
}
If L < var3-0.07 Then{
var5=Index;
}
If SL>var1 Then
var6=SL;
If SH<var1 Then
var7=SH;
//가상 손익계산 시작
cond1 = Pst1 == 1 and Pst == 0;
cond2 = Pst1 == -1 and Pst == 0;
If cond1 == false and var4[1]>var5[1] and L[1]<=var6[1] and L <= var6 Then{
Pst = 1;
}
If cond2 == false and var4[1]<var5[1] and H[1]>=var7[1] and H >= var7 Then{
Pst = -1;
}
if Pst != 0 and PST != PST[1] Then
EP = C;
if PST == 1 Then{
If L < var3-0.07 Then{
PST = 0;
PL[0] = C-EP;
for cnt = 1 to 19{
PL[cnt] = Pl[cnt-1][1];
}
}
If H > EP+1 Then{
PST = 0;
PL[0] = 1;
for cnt = 1 to 19{
PL[cnt] = Pl[cnt-1][1];
}
}
}
if PST == -1 Then{
If H > var2+0.07 Then{
PST = 0;
PL[0] = EP-C;
for cnt = 1 to 19{
PL[cnt] = Pl[cnt-1][1];
}
}
if L <= EP-1 Then{
PST = 0;
PL[0] = 1;
for cnt = 1 to 19{
PL[cnt] = Pl[cnt-1][1];
}
}
}
//가상손익계산 끝
condition1=Marketposition(1)==1 and Marketposition==0;
condition2=Marketposition(1)==-1 and Marketposition==0;
if (PL[0] < 0 and PL[1] < 0 and PL[2] < 0 and PL[3] < 0 and PL[4] < 0) Or
(PL[0] < 0 and PL[1] > 0 and PL[2] < 0 and PL[3] < 0 and PL[4] < 0 and PL[5] < 0) Then{
If condition1==false and var4>var5 and L<=var6 Then{
Buy("b",atlimit,var6,1);
}
If condition2==false and var4<var5 and H>=var7 Then{
Sell("s",atlimit,var7,1);
}
}
즐거운 하루되세요
> 묘선낭자 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다.
> 1. 가상매매조건은 다음과 같습니다.
var : SH(0),SL(0),SHi(0),SLi(0);
var : var1(0),var2(9999999999999),var3(9999999999999);
SH = SwingHigh(1,H,3,3,7);
SL = SwingLow(1,L,3,3,7);
var1 = round(ma((H+L+O+C)/4,60)*20,0)/20;
if SH != -1 and SH > var1 Then{
if SH > var2 Then{
var2 = SH;
SHi = index;
}
if SH < var2 and index > SLi and SLi > SHi Then{
var2 = SH;
}
}
if SL != -1 and SL < var1 Then{
if SL < var3 Then{
var3 = SL;
SLi = index;
}
if SL > var3 and index > SHi and SHi > SLi Then{
var3 = SL;
}
}
If H>var2+0.07 Then{
var4=Index;
Exitshort("sx1");
Playsound("K:₩음성₩드럼소리.wav");
}
If Marketposition==1 and L<var1-0.47 Then{
Playsound("K:₩음성₩드럼소리.wav");
}
If L<var3-0.07 Then{
var5=Index;
Exitlong("bx1");
Playsound("K:₩음성₩유리.wav");
}
If Marketposition==1 and L<var1-0.47 Then{
Playsound("K:₩음성₩유리.wav");
}
condition1=Marketposition(1)==1 and Marketposition==0;
condition2=Marketposition(1)==-1 and Marketposition==0;
If SL>var1 Then
var6=SL;
If SH<var1 Then
var7=SH;
If condition1==false and var4>var5 and L<=var6 Then{
Buy("b",atlimit,var6,1);
Playsound("K:₩음성₩종소리.wav");
}
If condition2==false and var4<var5 and H>=var7 Then{
Sell("s",atlimit,var7,1);
Playsound("K:₩음성₩종소리.wav");
}
2. 실제매매조건
위의 가상매매조건대로 매매했다고 가정할 때 (전일가상매매도 함께 이어서 카운트)
직전6번의 실현손익이 (4연속손실+1회이익+1회손실) 또는
직전5번의 실현손익이 (5연속손실)일 때에만
가상매매조건의 매수(매도)조건에 매수(매도).
가상매매조건의 매수(매도)청산조건에 청산.
1포인트 익절.
청산되고 나면 다시 가상매매조건의 손익순서와 횟수를 카운트하여 맞는 조건에 진입
[가상거래 수익(승)손실(패)거래와 실제매매(0)의 예
가상거래 : 승패패패패승패승승승패패패패패패승패승
실제거래 : 0 0 0 0
3. 위와 같은 방법을 전제로 하는 시스템식을 부탁드립니다.