예스스탁
예스스탁 답변
2025-07-09 12:50:31
안녕하세요
예스스탁입니다.
기존식 승과 하락을 합산해서 카운트해서 어려움이 있으셨던것 같습니다.
상승 하락을 별도로 카운트해서 지정가능하게 수정해 드립니다.
Input : Period(5),간격(1),smaPeriod(0),adxPeriod(14);
input : 매수진입상승갯수(10),매도진입하락갯수(10);
input : 매수청산하락갯수(5),매도청산상승갯수(5);
var : up(0),dn(0);
value1 = ma(c,smaPeriod);
var1 = Ema(C,Period+간격*0);
var2 = Ema(C,Period+간격*1);
var3 = Ema(C,Period+간격*2);
var4 = Ema(C,Period+간격*3);
var5 = Ema(C,Period+간격*4);
var6 = Ema(C,Period+간격*5);
var7 = Ema(C,Period+간격*6);
var8 = Ema(C,Period+간격*7);
var9 = Ema(C,Period+간격*8);
var10 = Ema(C,Period+간격*9);
up = 0;
up = up + IFf(var1 > var1[1],1,0);
up = up + IFf(var2 > var2[1],1,0);
up = up + IFf(var3 > var3[1],1,0);
up = up + IFf(var4 > var4[1],1,0);
up = up + IFf(var5 > var5[1],1,0);
up = up + IFf(var6 > var6[1],1,0);
up = up + IFf(var7 > var7[1],1,0);
up = up + IFf(var8 > var8[1],1,0);
up = up + IFf(var9 > var9[1],1,0);
up = up + IFf(var10 > var10[1],1,0);
dn = 0;
dn = dn + IFf(var1 < var1[1],1,0);
dn = dn + IFf(var2 < var2[1],1,0);
dn = dn + IFf(var3 < var3[1],1,0);
dn = dn + IFf(var4 < var4[1],1,0);
dn = dn + IFf(var5 < var5[1],1,0);
dn = dn + IFf(var6 < var6[1],1,0);
dn = dn + IFf(var7 < var7[1],1,0);
dn = dn + IFf(var8 < var8[1],1,0);
dn = dn + IFf(var9 < var9[1],1,0);
dn = dn + IFf(var10 < var10[1],1,0);
if value1 > value1[1] and
up >= 매수진입상승갯수 Then
Buy();
if MarketPosition == 1 and dn >= 매수청산하락갯수 Then
ExitLong();
if value1 < value1[1] and
dn >= 매도진입하락갯수 Then
Sell();
if MarketPosition == -1 and up >= 매도청산상승갯수 Then
ExitShort();
즐거운 하루되세요
> 나도부자1 님이 쓴 글입니다.
> 제목 : 93381 수식 재문의
> 더운 날씨 고생 많으십니다.
이전에 한번 문의 드렸던 내용인데 시스템에 잘 적용이 않되는것 같습니다.
나름 고쳐보려고 했는데 안됩니다;
ADX는 제외하고 청산조건(5개)도 변수로 지정 가능하게 검토 부탁 드립니다.
수고하세요.
------------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
Input : Period(5),간격(1),smaPeriod(0),adxPeriod(14);
var : updn(0),A(0);
value1 = ma(c,smaPeriod);
var1 = Ema(C,Period+간격*0);
var2 = Ema(C,Period+간격*1);
var3 = Ema(C,Period+간격*2);
var4 = Ema(C,Period+간격*3);
var5 = Ema(C,Period+간격*4);
var6 = Ema(C,Period+간격*5);
var7 = Ema(C,Period+간격*6);
var8 = Ema(C,Period+간격*7);
var9 = Ema(C,Period+간격*8);
var10 = Ema(C,Period+간격*9);
updn = 0;
updn = updn + IFf(var1 > var1[1],1,-1);
updn = updn + IFf(var2 > var2[1],1,-1);
updn = updn + IFf(var3 > var3[1],1,-1);
updn = updn + IFf(var4 > var4[1],1,-1);
updn = updn + IFf(var5 > var5[1],1,-1);
updn = updn + IFf(var6 > var6[1],1,-1);
updn = updn + IFf(var7 > var7[1],1,-1);
updn = updn + IFf(var8 > var8[1],1,-1);
updn = updn + IFf(var9 > var9[1],1,-1);
updn = updn + IFf(var10 > var10[1],1,-1);
A = adx(adxPeriod);
if value1 > value1[1] and
updn >= 10 and
A >= 20 Then
Buy();
if updn <= 0 Then
ExitLong();
if value1 < value1[1] and
updn <= -10 and
A >= 20 Then
Buy();
if updn >= 0 Then
ExitShort();
즐거운 하루되세요
> 나도부자1 님이 쓴 글입니다.
> 제목 : 수식문의
> 수고많으십니다.
항상 감사드립니다.
그물망 차트를 이용하여 시스템을 만들어 보려합니다.
1. 매수진입
1-1 매수진입 조건
- 이동평균선(ex:단순 20)이 상승추세 일 것.
- 그물망 이평이 모두 상승추세 일 것.
- ADX지표값이 20 이상 일 것.
1-2 매수청산 조건
- 그물망 10개중 5개가 상승에서 하락으로 추세전환 일 것
2. 매도진입
1-1 매도진입 조건
- 단순 이동평균선(ex:단순 20)이 하락추세 일 것.
- 그물망 이평이 모두 하락 추세 일 것.
- ADX지표값이 20 이상 일 것.
1-2 매수청산 조건
- 그물망 10개중 5개가 하락에서 상승으로 추세전환 일 것
지표값은 모두 변경 가능하게 변수값으로 부탁드립니다.
* 첨부한 그림의 그물망은 아래의 수식을 이용한 것입니다
Input : Period(5),간격(1);
var : tx(0);
var1 = Ema(C,Period+간격*0);//5
var2 = Ema(C,Period+간격*1);
var3 = Ema(C,Period+간격*2);
var4 = Ema(C,Period+간격*3);
var5 = Ema(C,Period+간격*4);
var6 = Ema(C,Period+간격*5);//10
var7 = Ema(C,Period+간격*6);
var8 = Ema(C,Period+간격*7);
var9 = Ema(C,Period+간격*8);
var10 = Ema(C,Period+간격*9);
var11 = Ema(C,Period+간격*10);//15
var12 = Ema(C,Period+간격*11);
var13 = Ema(C,Period+간격*12);
var14 = Ema(C,Period+간격*13);
var15 = Ema(C,Period+간격*14);
var16 = Ema(C,Period+간격*15);
Plot1(var1,"지수이평0",IFf(var1>var1[1],RED,BLUE));//5
Plot2(var2,"지수이평1",IFf(var2>var2[1],RED,BLUE));
Plot3(var3,"지수이평2",IFf(var3>var3[1],RED,BLUE));
Plot4(var4,"지수이평3",IFf(var4>var4[1],RED,BLUE));
Plot5(var5,"지수이평4",IFf(var5>var5[1],RED,BLUE));
Plot6(var6,"지수이평5",IFf(var6>var6[1],RED,BLUE));//10
Plot7(var7,"지수이평6",IFf(var7>var7[1],RED,BLUE));
Plot8(var8,"지수이평7",IFf(var8>var8[1],RED,BLUE));
Plot9(var9,"지수이평8",IFf(var9>var9[1],RED,BLUE));
Plot10(var10,"지수이평9",IFf(var10>var10[1],RED,BLUE));
Plot11(var11,"지수이평10",IFf(var11>var11[1],RED,BLUE));//15
Plot12(var12,"지수이평11",IFf(var12>var12[1],RED,BLUE));
Plot13(var13,"지수이평12",IFf(var13>var13[1],RED,BLUE));
Plot14(var14,"지수이평13",IFf(var14>var14[1],RED,BLUE));
Plot15(var15,"지수이평14",IFf(var15>var15[1],RED,BLUE));
Plot16(var16,"지수이평15",IFf(var16>var16[1],RED,BLUE));//20
if CrossUp(C,var1) Then
{
tx = Text_New(sDate,sTime,H,"U");
Text_SetStyle(tx,3,1);
}
if CrossDown(c,var1) Then
{
tx = Text_New(sDate,sTime,H,"D");
Text_SetStyle(tx,3,1);
}
미리 감사드립니다