예스스탁
예스스탁 답변
2021-05-10 10:49:20
안녕하세요
예스스탁입니다.
기존수식은 무포지션에서 양봉에 매수진입신호, 음봉에 매도진입신호입니다.
이후 지정한 틱수에 손절/익절입니다.
수정한 식이 기존수식의 내용을 따라가 무포지션에서 최초 발생한 봉을 기준으로 하게 되어 있습니다.
무포지션일때 최초 양봉이 발생하면 -30틱 하락만 감시하고 되고
음봉이 발생하면 +30틱 상승만 감시하게 됩니다.지정한 틱수의 변수가 없으면 신호발생이 없게 됩니다.
무포지션에서 최근 발생한 양봉과 최근 발생한 음봉 기준으로 변경해 드립니다.
각각 감시해서 먼저 만족한 조건으로 진입하게 수정해 드립니다.
input : StartTime(080000),EndTime(035000),진입횟수(5),익절틱수(120),손절틱수(25);
var : Tcond(false),entry(0),P(0),N(0);
if StartTime < EndTime Then
{
SetStopEndofday(EndTime);
}
Else
{
if sDate != sDate[1] Then
SetStopEndofday(EndTime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
if StartTime > EndTime Then
SetStopEndofday(0);
Tcond = true;
entry = 0;
P = 0;
N = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if Tcond == true Then
{
if MarketPosition == 0 and entry < 진입횟수 Then
{
if C > O Then
{
P = C;
}
if C < O Then
{
N = C;
}
if P > 0 Then
Buy("b",AtLimit,P-PriceScale*30);
if N > 0 Then
Sell("s",AtLimit,N+PriceScale*30);
}
if MarketPosition != 0 Then
{
P = 0;
N = 0;
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopInactivity(PriceScale*80,100,PointStop);
즐거운 하루되세요
> 푸른 님이 쓴 글입니다.
> 제목 : 수식작성
> input : StartTime(080000),EndTime(035000),진입횟수(5),익절틱수(120),손절틱수(25);
var : Tcond(false),entry(0),T(0),S(0);
if StartTime < EndTime Then
{
SetStopEndofday(EndTime);
}
Else
{
if sDate != sDate[1] Then
SetStopEndofday(EndTime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
if StartTime > EndTime Then
SetStopEndofday(0);
Tcond = true;
entry = 0;
T = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if Tcond == true Then
{
if MarketPosition == 0 and entry < 진입횟수 Then
{
if T == 0 and C > O Then
{
T = 1;
S = C;
}
if T == 0 and C < O Then
{
T = 1;
S = C;
}
if T == 1 Then
Buy("b",AtLimit,S-PriceScale*30);
if T == -1 Then
Sell("s",AtLimit,S+PriceScale*30);
}
if MarketPosition != 0 Then
T = 0;
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
----------------
위 수식어는 72340번의 예스스탁의 수식어 답변입니다.
sell 진입신호가 예비 포함 2가지 다 전혀 잡히지 않습니다.
기존 진입시 저점과 숫자갭이 상존해서 수식작성을 잘 못해서 부탁 드린건데
답변 확인하고 저렇게 된다는게 참 놀라웠어요.
추가로 강제청산중 허용범위 100봉 이내 최소가격변화 80틱의 수식어를 포함 하고자 합니다.