예스스탁
예스스탁 답변
2025-04-11 16:15:14
안녕하세요
예스스탁입니다.
#단기/중중/장기 이평
var1 = ma(c,3);
var2 = ma(c,9);
var3 = ma(c,81);
#Condition1은 단기가 장기보다 작고 중기는 장기보다 크면 true 아니면 false
Condition1 = var1 < Var3 and Var2 > Var3;
#Condition2는 단기가 장기보다 크고 중기는 장기보다 작으면 true 아니면 false
Condition2 = var1 > Var3 and Var2 < var3;
#날짜변경시
if NextBarSdate != sDate Then
{
#전전일은 음봉이고 전일은 양봉이고
if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then
{
#전전일 몸통상단이 전일 몸통상단보다 크고
#전전일 몸통하단은 전일 몸통하단보다 작고
#condition2이가 true이면
#오늘 아침시초가에 매수
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition2 == true Then
Buy("b1",AtMarket);
#전전일 몸통상단이 전일 몸통상단보다 작고
#전전일 몸통하단은 전일 몸통하단보다 크고
#condition2이가 true이면
#오늘 아침시초가에 매수
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and
condition2 == true then
Buy("b2",AtMarket);
}
#전전일은 양봉이고 전일은 음봉이고
if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then
{
#전전일 몸통상단이 전일 몸통상단보다 크고
#전전일 몸통하단은 전일 몸통하단보다 작고
#condition1이가 true이면
#오늘 아침시초가에 매도
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition1 == true Then
Sell("s1",AtMarket);
#전전일 몸통상단이 전일 몸통상단보다 작고
#전전일 몸통하단은 전일 몸통하단보다 크고
#condition1이가 true이면
#오늘 아침시초가에 매도
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and
condition1 == true Then
Sell("s2",AtMarket);
}
}
#매수진입후
if MarketPosition == 1 Then
{
#b1으로 진입 후 7번째 봉이 완성되고
if IsEntryName("b1",0) == true and BarsSinceEntry == 7 Then
{
#8번째봉의 시가가 진입가보다 크거나 같으면 8번째봉 시가에 청산
if NextBarOpen >= EntryPrice Then
ExitLong("bx1",AtMarket);
Else #아니면 8번째 봉의 시가에 매도로 스위칭
Sell("s3",AtMarket);
}
#b2으로 진입 후 7번째 봉이 완성되고
if IsEntryName("b2",0) == true and BarsSinceEntry == 7 Then
{
#8번째봉의 시가가 진입가보다 크거나 같으면 8번째봉 시가에 청산
if NextBarOpen >= EntryPrice Then
ExitLong("bx2",AtMarket);
Else #아니면 8번째 봉의 시가에 매도로 스위칭
Sell("s4",AtMarket);
}
#b3로 진입 후 7번째 봉이 완성되면 8번째봉의 시가에 청산
if IsEntryName("b3",0) == true and BarsSinceEntry == 7 Then
{
ExitLong("bx3",AtMarket);
}
#b4로 진입 후 7번째 봉이 완성되면 8번째봉의 시가에 청산
if IsEntryName("b4",0) == true and BarsSinceEntry == 7 Then
{
ExitLong("bx4",AtMarket);
}
}
if MarketPosition == -1 Then
{
#s1으로 진입 후 7번째 봉이 완성되고
if IsEntryName("s1",0) == true and BarsSinceEntry == 7 Then
{
#8번째봉의 시가가 진입가보다 작거나 같으면 8번째봉 시가에 청산
if NextBarOpen <= EntryPrice Then
ExitShort("sx1",AtMarket);
Else #아니면 8번째 봉의 시가에 매수로 스위칭
Buy("b3",AtMarket);
}
#s2으로 진입 후 7번째 봉이 완성되고
if IsEntryName("s2",0) == true and BarsSinceEntry == 7 Then
{
#8번째봉의 시가가 진입가보다 작거나 같으면 8번째봉 시가에 청산
if NextBarOpen <= EntryPrice Then
ExitShort("sx2",AtMarket);
Else #아니면 8번째 봉의 시가에 매수로 스위칭
Buy("b4",AtMarket);
}
#s3로 진입 후 7번째 봉이 완성되면 8번째봉의 시가에 청산
if IsEntryName("s3",0) == true and BarsSinceEntry == 7 Then
{
ExitShort("sx3",AtMarket);
}
#s4로 진입 후 7번째 봉이 완성되면 8번째봉의 시가에 청산
if IsEntryName("s4",0) == true and BarsSinceEntry == 7 Then
{
ExitShort("sx4",AtMarket);
}
}
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 주석요청
> 안녕하세요?
아래 스크립트에 주석 부탁드립니다.
감사합니다.
var1 = ma(c,3);
var2 = ma(c,9);
var3 = ma(c,81);
Condition1 = var1 < Var3 and Var2 > Var3;
Condition2 = var1 > Var3 and Var2 < var3;
if NextBarSdate != sDate Then
{
if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then
{
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition2 == true
Then
Buy("b1",AtMarket);
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and
condition2 == true then
Buy("b2",AtMarket);
}
if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then
{
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition1 == true Then
Sell("s1",AtMarket);
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and
condition1 == true Then
Sell("s2",AtMarket);
}
}
if MarketPosition == 1 Then
{
if IsEntryName("b1",0) == true and BarsSinceEntry == 7 Then
{
if NextBarOpen >= EntryPrice Then
ExitLong("bx1",AtMarket);
Else
Sell("s3",AtMarket);
}
if IsEntryName("b2",0) == true and BarsSinceEntry == 7 Then
{
if NextBarOpen >= EntryPrice Then
ExitLong("bx2",AtMarket);
Else
Sell("s4",AtMarket);
}
if IsEntryName("b3",0) == true and BarsSinceEntry == 7 Then
{
ExitLong("bx3",AtMarket);
}
if IsEntryName("b4",0) == true and BarsSinceEntry == 7 Then
{
ExitLong("bx4",AtMarket);
}
}
if MarketPosition == -1 Then
{
if IsEntryName("s1",0) == true and BarsSinceEntry == 7 Then
{
if NextBarOpen <= EntryPrice Then
ExitShort("sx1",AtMarket);
Else
Buy("b3",AtMarket);
}
if IsEntryName("s2",0) == true and BarsSinceEntry == 7 Then
{
if NextBarOpen <= EntryPrice Then
ExitShort("sx2",AtMarket);
Else
Buy("b4",AtMarket);
}
if IsEntryName("s3",0) == true and BarsSinceEntry == 7 Then
{
ExitShort("sx3",AtMarket);
}
if IsEntryName("s4",0) == true and BarsSinceEntry == 7 Then
{
ExitShort("sx4",AtMarket);
}
}