예스스탁
예스스탁 답변
2023-02-07 16:10:50
안녕하세요
예스스탁입니다.
날짜가 변경이 되면 entry변수가 0으로 초기화가 되어야 합니다.
input : 최대진입횟수(5);
Var : Entry(0);
Var : mav(0);
mav = ma(c,100);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition <= 0 and
NextBarSdate == sDate and
((Bdate != Bdate[2] and CountIF(C>DayOpen,2) == 2) or
(Bdate == Bdate[2] and CountIF(C>DayOpen,2) == 2 and C[2] < DayOpen)) and
entry < 최대진입횟수 Then
Buy("b",AtMarket);
if MarketPosition == 1 Then
{
if CountIf(C<DayOpen,2) == 2 and BarsSinceEntry >= 2 Then
ExitLong("bx1",AtMarket);
if CountIf(C>DayOpen,4) == 4 and BarsSinceEntry >= 4 Then
ExitLong("bx2",AtMarket);
if CrossUp(c,mav) or CrossDown(c,mav) then
ExitLong("bx3",AtMarket);
}
SetStopEndofday(152000);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 글번호 80621번 재질문입니다.
답변주신 스크랩트에 하루 n번 진입 제어를 하고 싶습니다.
스크립트 수정 부탁드립니다.
아래와 같이 변경해보았는데 신호가 생성안되네요
1
input : 최대진입횟수(5);
Var : Entry(0);
Var : mav(0);
mav = ma(c,100);
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition <= 0 and
NextBarSdate == sDate and
((Bdate != Bdate[2] and CountIF(C>DayOpen,2) == 2) or
(Bdate == Bdate[2] and CountIF(C>DayOpen,2) == 2 and C[2] < DayOpen)) and entry < 최대진입횟수 Then
Buy("b",AtMarket);
if MarketPosition == 1 Then
{
if CountIf(C<DayOpen,2) == 2 and BarsSinceEntry >= 2 Then
ExitLong("bx1",AtMarket);
if CountIf(C>DayOpen,4) == 4 and BarsSinceEntry >= 4 Then
ExitLong("bx2",AtMarket);
if CrossUp(c,mav) or CrossDown(c,mav) then
ExitLong("bx3",AtMarket);
}
SetStopEndofday(152000);
---------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
1
Var : mav(0);
mav = ma(c,100);
if MarketPosition <= 0 and
NextBarSdate == sDate and
((Bdate != Bdate[2] and CountIF(C>DayOpen,2) == 2) or
(Bdate == Bdate[2] and CountIF(C>DayOpen,2) == 2 and C[2] < DayOpen)) Then
Buy("b",AtMarket);
if MarketPosition == 1 Then
{
if CountIf(C<DayOpen,2) == 2 and BarsSinceEntry >= 2 Then
ExitLong("bx1",AtMarket);
if CountIf(C>DayOpen,4) == 4 and BarsSinceEntry >= 4 Then
ExitLong("bx2",AtMarket);
if CrossUp(c,mav) or CrossDown(c,mav) then
ExitLong("bx3",AtMarket);
}
SetStopEndofday(152000);
2
Var : mav(0);
mav = ma(c,100);
if MarketPosition >= 0 and
NextBarSdate == sDate and
((Bdate != Bdate[2] and CountIF(C<DayOpen,2) == 2) or
(Bdate == Bdate[2] and CountIF(C<DayOpen,2) == 2 and C[2] > DayOpen)) Then
Sell("s",AtMarket);
if MarketPosition == -1 Then
{
if CountIf(C>DayOpen,2) == 2 and BarsSinceEntry >= 2 Then
ExitShort("sx1",AtMarket);
if CountIf(C<DayOpen,4) == 4 and BarsSinceEntry >= 4 Then
ExitShort("sx2",AtMarket);
if CrossUp(c,mav) or CrossDown(c,mav) then
ExitLong("bx3",AtMarket);
}
SetStopEndofday(152000);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 글번호 80612번 연장선상에서 질문드립니다.
(답변주신 스크립트는 첫봉에서 부터 신호가 생성됩니다.)
국내선물 1분봉으로 일중거래를 하고자 합니다.
[1]
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매수
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매수청산
당일 시가선 기준으로 4번 연속 돌파되면 익봉 시가 매수청산
100ma 돌파 및 이탈시 익봉 시가 매수청산
[2]
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매도
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매도청산
당일 시가선 기준으로 4번 연속 이탈되면 익봉 시가 매도청산
100ma 돌파 및 이탈시 익봉 시가 매도청산
청산조건은 or이며 15:20에는 강제청산입니다.
1번과 2번 각각의 스크립트 작성을 부탁드립니다.