예스스탁
예스스탁 답변
2023-07-17 11:43:11
안녕하세요
예스스탁입니다.
1
input : short1(0),long1(0),sig1(0)
input : evPeriod(0),Per(0)
.
.
.
var : evup(0),evdn(0)
.
.
.
evup = EnvelopeUp(evPeriod,Per)
evdn = EnvelopeDown(evPeriod,Per)
if MarketPosition <= 0 and CrossUp(macdv1,0) Then
{
Buy("b");
}
if MarketPosition <= 0 and macdv < 0 and CrossUp(c,evdn) Then
{
Buy("b2");
}
if MarketPosition == 1 Then
{
If CrossDown(macdv1, 0) Then
{
ExitLong("s");
}
if macdv1 < 0 Then
{
ExitLong("E4",AtLimit,evup*0);
}
}
if MarketPosition == 0 and CountIf(macdv1<0,BarsSinceExit(1)) < 1 Then
{
if IsExitName("E4",1) == true Then
Buy("b4",AtLimit,ExitPrice(1)*0);
}
2
MarketPosition은 신호상 현재 포지션입니다.
0이면 무포지션, 1이면 매수포지션, -1은 무포지션입니다.
MarketPosition <= 0 은 현재봉이 무포지션이거나 매도포지션
MarketPosition == 0 1 현재봉이 매수포지션
MarketPosition == 0 은 현재봉이 무포지션
즐거운 하루되세요
> 탱탱볼 님이 쓴 글입니다.
> 제목 : 문의드립니다
> input : short1(0),long1(0),sig1(0)
input : evPeriod(0),Per(0)
.
.
.
var : evup(0),evdn(0)
.
.
.
evup = EnvelopeUp(evPeriod,Per)
evdn = EnvelopeDown(evPeriod,Per)
if MarketPosition <= 0 and CrossUp(macdv1,0) Then
{
Buy("b");
}
If CrossDown(macdv1, 0) Then
{
ExitLong("s");
}
if MarketPosition == 1 Then
{
if macdv1 < 0 Then
{
ExitLong("E4",AtLimit,evup*0);
}
}
if MarketPosition == 0 and CountIf(macdv1<0,BarsSinceExit(1)) < 1 Then
{
if IsExitName("E4",1) == true Then
Buy("b4",AtLimit,ExitPrice(1)*0);
}
1. CrossUp(macdv1,0) 매수하여 엔벨로프 상단을 돌파하면 매도하는 수식에 중점을 둔 식입니다. 반대로 CrossDown(macdv1, 0) 이후 엔벨로프 하단을 돌파하면 매수하는 수식을 추가하고 싶어서요.
예) 주가가 엔벨로프 하단을 돌파하고 -20%일때 매수
매수이후 {if IsExitName("E4",1) == true Then Buy("b4",AtLimit,ExitPrice(1)*0)} 식처
럼 지정한 이름이 "00"로 끝날시 매수값에서 +30%에 매도
2. MarketPosition <= 0, MarketPosition == 1, MarketPosition == 0 이 친구들이 하는 역활이 무엇인가요? 카운터를 위해 지정하주는 수식인가요? 설명 좀 부탁 드리겠습니다.
감사합니다.