안녕하세요?
아래의 전략에 대해 스크립트 작성 요청드립니다.
국내선물 1분봉으로 일중거래를 하고자 합니다.
1. data2 전영업일 종가 > data1의 시가 > data1의 전영업일 종가이면
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매수
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매수청산
당일 시가선 기준으로 4번 연속 돌파되면 익봉 시가 매수청산
100ma 돌파 및 이탈시 익봉 시가 매수청산
2. data2 전영업일 종가 < data1의 시가 < data1의 전영업일 종가이면
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매도
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매도청산
당일 시가선 기준으로 4번 연속 이탈되면 익봉 시가 매도청산
100ma 돌파 및 이탈시 익봉 시가 매도청산
3. data1의 시가 > data2 전영업일 종가 > data1의 전영업일 종가이면
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매도
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매도청산
당일 시가선 기준으로 4번 연속 돌파되면 익봉 시가 매도청산
100ma 돌파 및 이탈시 익봉 시가 매도청산
4.data1의 시가 < data2 전영업일 종가 < data1의 전영업일 종가이면
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매수
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매수청산
당일 시가선 기준으로 4번 연속 이탈되면 익봉 시가 매수청산
100ma 돌파 및 이탈시 익봉 시가 매수청산
아침에 시가가 결정되면 1~4번 가운데 1개의 시나리오를 적용할 것입니다.
청산조건은 or이며 15:20에는 강제청산입니다.
답변 1
예스스탁
예스스탁 답변
2023-02-02 11:41:30
Var : Bup(0,Data1),Bdn(0,Data1),mav(0,Data1);
mav = data1(ma(c,100));
if data1(Bdate != Bdate[1]) Then
{
Bup = 0;
Bdn = 0;
}
if (Data2(CloseD(1)) > Data1(DayOpen(0)) and Data1(DayOpen(0)) > Data1(DayClose(1))) Then
{
if Data1(CountIf(MarketPosition <= 0 and DayIndex >= 1 and C>DayOpen(0),2)== 2) Then
{
Buy("B1", AtMarket);
}
}
if (Data1(DayOpen(0)) < Data2(CloseD(1)) and Data2(CloseD(1)) < Data1(DayClose(1))) Then
{
if Data1(CountIf(MarketPosition <= 0 and DayIndex >= 1 and C<DayOpen(0),2)== 2) Then
{
Buy("B2", AtMarket);
}
}
if (Data2(CloseD(1)) < Data1(DayOpen(0)) and Data1(DayOpen(0)) < Data1(DayClose(1))) Then
{
if Data1(CountIf(MarketPosition >= 0 and DayIndex >= 1 and C<DayOpen(0),2)== 2) Then
{
Sell("S1", AtMarket);
}
}
if (Data1(DayOpen(0)) > Data2(CloseD(1)) and Data2(CloseD(1)) > Data1(DayClose(1))) Then
{
if Data1(CountIf(MarketPosition >= 0 and DayIndex >= 1 and C>DayOpen(0),2)== 2) Then
{
Sell("S2", AtMarket);
}
}
if MarketPosition == 1 Then
{
if Data1(CountIf(C<DayOpen,2) == 2 and BarsSinceEntry >= 2) Then
ExitLong();
if Data1(CountIf(C>DayOpen,4) == 4 and BarsSinceEntry >= 4) Then
ExitLong();
if CrossUp(c,mav) or CrossDown(c,mav) then
ExitLong();
}
if MarketPosition == -1 Then
{
if Data1(CountIf(C>DayOpen,2) == 2 and BarsSinceEntry >= 2) Then
ExitShort();
if Data1(CountIf(C<DayOpen,4) == 4 and BarsSinceEntry >= 4) Then
ExitShort();
if CrossUp(c,mav) or CrossDown(c,mav) then
ExitShort();
}
SetStopEndofday(152000);
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래의 전략에 대해 스크립트 작성 요청드립니다.
국내선물 1분봉으로 일중거래를 하고자 합니다.
1. data2 전영업일 종가 > data1의 시가 > data1의 전영업일 종가이면
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매수
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매수청산
당일 시가선 기준으로 4번 연속 돌파되면 익봉 시가 매수청산
100ma 돌파 및 이탈시 익봉 시가 매수청산
2. data2 전영업일 종가 < data1의 시가 < data1의 전영업일 종가이면
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매도
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매도청산
당일 시가선 기준으로 4번 연속 이탈되면 익봉 시가 매도청산
100ma 돌파 및 이탈시 익봉 시가 매도청산
3. data1의 시가 > data2 전영업일 종가 > data1의 전영업일 종가이면
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매도
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매도청산
당일 시가선 기준으로 4번 연속 돌파되면 익봉 시가 매도청산
100ma 돌파 및 이탈시 익봉 시가 매도청산
4.data1의 시가 < data2 전영업일 종가 < data1의 전영업일 종가이면
당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매수
당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매수청산
당일 시가선 기준으로 4번 연속 이탈되면 익봉 시가 매수청산
100ma 돌파 및 이탈시 익봉 시가 매수청산
아침에 시가가 결정되면 1~4번 가운데 1개의 시나리오를 적용할 것입니다.
청산조건은 or이며 15:20에는 강제청산입니다.