예스스탁
예스스탁 답변
2021-05-07 13:50:02
안녕하세요
예스스탁입니다.
기존신호는 텍스트함수로 삼각형 추가해 드립니다.
트레일링스탑은 어떤값을 지정하시는지 알수 없습니다. 손절과 익절만 추가해 드립니다.
input : 전환선기간(9),기준선기간(26),선행스팬2기간(52),시작시간(080000),종료시간(230000),n(15);
input : 익절틱수(50),손절틱수(20);
Var : 기준선(0), 전환선(0), 선행스팬1(0), 선행스팬2(0),구름상단(0),구름하단(0),Tcond(false),T(0),S(0),i(0),tx(0);
전환선 = (Highest(H, 전환선기간) + Lowest(L, 전환선기간)) / 2;
기준선 = (Highest(H, 기준선기간) + Lowest(L, 기준선기간)) / 2;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(H, 선행스팬2기간)[25] + Lowest(L, 선행스팬2기간)[25]) / 2;
구름상단 = max(선행스팬1,선행스팬2);
구름하단 = Min(선행스팬1,선행스팬2);
if (sdate != sdate[1] and stime >= 시작시간) or
(sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then
{
Tcond = true;
T = 0;
}
if (sdate != sdate[1] and stime >= 종료시간) or
(sdate == sdate[1] and stime >= 종료시간 and stime[1] < 종료시간) Then
{
Tcond = false;
if MarketPosition == 1 Then
exitlong();
if MarketPosition == -1 Then
ExitShort();
}
if Tcond == true then
{
if T <= 0 and crossup(기준선,구름상단) Then
{
T = 1;
S = L;
i = Index;
tx = Text_New(sDate,sTime,L,"▲"+NewLine+"▲"+NewLine+"▲");
Text_SetStyle(tx,2,0);
}
if T >= 0 and CrossDown(기준선,구름하단) Then
{
T = -1;
S = H;
i = Index;
tx = Text_New(sDate,sTime,H,"▼"+NewLine+"▼"+NewLine+"▼");
Text_SetStyle(tx,2,1);
}
if T == 1 and Index <= i+n and C < S Then
{
T = 2;
Buy("b");
}
if T == -1 and Index <= i+n and C > S Then
{
T = -2;
Sell("s");
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
즐거운 하루되세요
> gopang 님이 쓴 글입니다.
> 제목 : 문의합니다
> input : 전환선기간(9),기준선기간(26),선행스팬2기간(52),시작시간(080000),종료시간(230000);
Var : 기준선(0), 전환선(0), 선행스팬1(0), 선행스팬2(0),구름상단(0),구름하단(0),Tcond(false);
전환선 = (Highest(H, 전환선기간) + Lowest(L, 전환선기간)) / 2;
기준선 = (Highest(H, 기준선기간) + Lowest(L, 기준선기간)) / 2;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(H, 선행스팬2기간)[25] + Lowest(L, 선행스팬2기간)[25]) / 2;
구름상단 = max(선행스팬1,선행스팬2);
구름하단 = Min(선행스팬1,선행스팬2);
if (sdate != sdate[1] and stime >= 시작시간) or
(sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then
Tcond = true;
if (sdate != sdate[1] and stime >= 종료시간) or
(sdate == sdate[1] and stime >= 종료시간 and stime[1] < 종료시간) Then{
Tcond = false;
if MarketPosition == 1 Then
exitlong();
if MarketPosition == -1 Then
ExitShort();
}
if Tcond == true then{
if crossup(기준선,구름상단) Then
buy();
if CrossDown(기준선,구름하단) Then
sell();
}
위 수식의 발생시그널은 그대로 두고
매수는 발생시그널 봉의 저가까지 내려오는 봉에서 매수(15봉이내.변수처리).
매도는 발생시그널 봉의 고가까지 올라오는 봉에서 매도.(15봉이내, 변수처리)
수익(50틱) 및 손절(20틱) 수식추가하여 주시고 트레일링 스탑기능도 가능하면
추가 부탁드립니다.
종료시간에 맞추어 진입중인 모든계약 청산토록 설정바랍니다
만일, 발생시그널을 그대로 둘수 없다면 삼각표시(3개)의 지표추가하여주시기 바랍니다
감사합니다