예스스탁
예스스탁 답변
2022-09-07 09:03:08
안녕하세요
예스스탁입니다.
var : hh(0),ll(0);
var : Bcond(false),BI(0),BE(0),BL(0);
var : Scond(false),SI(0),SE(0),SH(0);
hh = highest(H,100);
ll = lowest(L,100);
if CrossDown(C,HH*0.80) Then
{
Bcond = true;
BI = Index;
BE = HH;
BL = L;
}
if CrossUp(C,LL*1.20) Then
{
Scond = true;
SI = Index;
SE = LL;
SH = H;
}
if Bcond == true Then
{
if L < BL Then
BL = L;
if MarketPosition <= 0 and Index <= BI+50 and CrossUp(C,BE) Then
{
Buy();
Bcond = False;
}
}
if Scond == true Then
{
if H > SH Then
SH = H;
if MarketPosition >= 0 and Index <= SI+50 and CrossDown(C,SE) Then
{
Sell();
Scond = False;
}
}
if MarketPosition == 1 Then
{
ExitLong("bx1",AtStop,BL[BarsSinceEntry]);
ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*0.1);
}
if MarketPosition == -1 Then
{
ExitShort("sx1",AtStop,SH[BarsSinceEntry]);
ExitShort("sx2",AtStop,Lowest(H,BarsSinceEntry)+(EntryPrice-lowest(L,BarsSinceEntry))*0.1);
}
즐거운 하루되세요
> 마식 님이 쓴 글입니다.
> 제목 : 시스템 부탁드려요
>
아래수식 테스트에 말씀하신대로 생각한것보다 오류가 있어서
다시 부탁드리겠습니다.
다시 부탁드리겠습니다.
1. 직전 100봉 중 최고가 이후
2. 1 최고가 대비 20% 이상 하락 후
3. 1번 봉의 50봉 안에 최고가 돌파시 매수진입
똑같이 매도진입
이렇게 부탁드립니다.
그리고
if value1 > 0 and Index <= value1+50 and C > Value2 Then
Buy();
위 수식에서 "C > Value2" 이부분이 "var2 = lowest(L,100);"를 뚫고 올라가야되는데
현재는 단순히 Low보다 종가가 큰 인것 같습니다.
이부분도
if C < Var2[1] Then
{
value1 = Index;
Value2 = L;
}
이때의 최저점으로 하여야 될 것 같습니다.
--------------------------------------------
안녕하세요
예스스탁입니다
올려주신 내용이면 100개봉 최저가나 최고가를 갱신 후
다음봉에서 종가가 높거나 낮으면 바로 신호가 발생합니다.
100개봉 최저가/최저가 갱신기준이므로
가장최근 발생한 값을 기준으로 합니다.
var1 = highest(H,100);
var2 = lowest(L,100);
if C < Var2[1] Then
{
value1 = Index;
Value2 = L;
}
if value1 > 0 and Index <= value1+50 and C > Value2 Then
Buy();
if MarketPosition == 1 Then
{
ExitLong("bx1",AtStop,Value2[BarsSinceEntry]);
ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*0.1);
}
if C > Var1[1] Then
{
value3 = Index;
Value4 = H;
}
if value3 > 0 and Index <= value3+50 and C < Value4 Then
sell();
if MarketPosition == -1 Then
{
ExitShort("sx1",AtStop,Value4[BarsSinceEntry]);
ExitShort("sx2",AtStop,Lowest(H,BarsSinceEntry)+(EntryPrice-lowest(L,BarsSinceEntry))*0.1);
}
즐거운 하루되세요
> 마식 님이 쓴 글입니다.
> 제목 : 시스템 부탁드립니다.
>
1. 직전 100봉 최저가
2. 1번을 하향돌파하고 50봉 안에 1번을 상향돌파할 시 매수 진입
3. 1번을 손절선으로 설정
4. 직전 100봉 최고가
5. 4번을 상향돌파하고 50봉 안에 4번을 하향돌파할 시 매도 진입
6. 4번을 손절선으로 설정
-----------
7. 매수 진입 후 수익률 최고가 대비 20% 하락시 매수 청산
8. 매도 진입 후 수익률 최고가 대비 20% 하락시 매도 청산