예스스탁
예스스탁 답변
2022-03-14 11:26:15
안녕하세요
예스스탁입니다.
INPUT : P1(5),P2(20),P3(100), LENGTH(10);
Input : 진입계약(3), 청산계약1(20), 청산계약2(50), 청산계약3(300),손절(50);
VAR : mav1(0),mav2(0),mav3(0),TCHAN(0), BCHAN(0);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
mav3 = ma(C,P3);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
if MarketPosition <= 0 and
mav1 > mav2 and mav2 > mav3 and
TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then
Buy("b",OnClose,DEF,진입계약);
if MarketPosition == 1 Then
{
ExitLong("bx1",AtLimit,EntryPrice+PriceScale*청산계약1,"",1,1);
ExitLong("bx2",AtLimit,EntryPrice+PriceScale*청산계약2,"",1,1);
if CurrentContracts == 1 and C >= EntryPrice+PriceScale*청산계약3 Then
{
ExitLong("bx3",AtStop,BCHAN,"",1,1);
if mav2 < mav2[1] Then
ExitLong("bx4");
}
}
if MarketPosition >= 0 and
mav1 < mav2 and mav2 < mav3 and
TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then
Sell("s",OnClose,DEF,진입계약);
if MarketPosition == -1 Then
{
ExitShort("sx1",AtLimit,EntryPrice-PriceScale*청산계약1,"",1,1);
ExitShort("sx2",AtLimit,EntryPrice-PriceScale*청산계약2,"",1,1);
if CurrentContracts == 1 and C <= EntryPrice-PriceScale*청산계약3 Then
{
ExitShort("sx3",AtStop,TCHAN,"",1,1);
if mav2 > mav2[1] Then
ExitShort("sx4");
}
}
SetStopLoss(PriceScale*손절,PointStop);
즐거운 하루되세요
> 자동매매를알자 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
Input : 진입계약(3), 청산계약1(20), 청산계약2(50), 청산계약3(300), PriceChannel Length(20)
1. 매수진입 : 5이평, 20이평, 100이평 정배열시 and Price Channel 상한,하한 모두 상승시 진입계약(3)
** Price Channel 상한,하한 모두 상승시 : 상승이후 수평유지시에도 상승으로 판단
매수청산 계약1 : 진입계약1(20틱)
매수청산 계약2 : 진입계약2(50틱)
매수청산 계약3 : 청산계약3이상(300틱) and (20이평하락으로변경 or Price Channel 하한 Touch시)
** "Price Channel 하한 Touch시"는 종가기준이 아닌 봉중에 Touch시 청산
손절 : 50틱 ==> 이경우 미청산계약 모두 손절
2. 매도진입 : 5이평, 20이평, 100이평 역배열시 and Price Channel 상한,하한 모두 하락시 진입계약(3)
** Price Channel 상한,하한 모두 하락시 : 하락이후 수평유지시에도 하락으로 판단
매도청산 계약1 : 진입계약1(20틱)
매도청산 계약2 : 진입계약2(50틱)
매도청산 계약3 : 청산계약3이상(300틱) and (20이평상승으로변경 or Price Channel 상한 Touch시)
** "Price Channel 상한 Touch시"는 종가기준이 아닌 봉중에 Touch시
손절 : 50틱 ==> 이경우 미청산계약 모두 손절
미리 감사드립니다.