예스스탁
예스스탁 답변
2020-12-22 11:49:54
안녕하세요
예스스탁입니다.
양봉을 확인하고 시가에 진입하게 할수는 없습니다.
음봉 다음봉이 시가에서 1틱 상승하면 진입하게 작성해 드립니다.
매도는 반대로 같습니다.
1-1
INPUT : LENGTH(10),P1(5),P2(20);
input : 익절틱수(30),손절틱수(15);
Input : 당일수익틱수(150),당일손실틱수(70);
VAR : TCHAN(0), BCHAN(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false),entry(0),loss(0);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
entry = 0;
loss = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true Then
{
loss = loss+1;
if loss == 2 Then
Xcond = true;
}
Else
loss = 0;
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if IsExitName("dbp",1) == true or IsExitName("dbl",1) == true then
Xcond = true;
}
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
var1 = ma(C,P1);
Var2 = ma(C,P2);
if Xcond == False and MarketPosition == 0 Then
{
if entry == 0 and
TCHAN > TCHAN[1] and TCHAN[1] == TCHAN[2] and
var1 < Var2 and
C < var1 and C < O Then
Buy("b1",AtStop,NextBarOpen+PriceScale*1);
if entry > 0 and C < O Then
Buy("b2",AtStop,NextBarOpen+PriceScale*1);
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
1-2
INPUT : LENGTH(10),P1(5);
input : 익절틱수(30),손절틱수(15);
Input : 당일수익틱수(150),당일손실틱수(70);
VAR : TCHAN(0), BCHAN(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false),entry(0),loss(0);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
entry = 0;
loss = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true Then
{
loss = loss+1;
if loss == 2 Then
Xcond = true;
}
Else
loss = 0;
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if IsExitName("dbp",1) == true or IsExitName("dbl",1) == true then
Xcond = true;
}
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
var1 = ma(C,P1);
if Xcond == False and MarketPosition == 0 Then
{
if entry == 0 and
TCHAN > TCHAN[1] and TCHAN[1] == TCHAN[2] and
C < var1 and C < O Then
Buy("b1",AtStop,NextBarOpen+PriceScale*1);
if entry > 0 and C < O Then
Buy("b2",AtStop,NextBarOpen+PriceScale*1);
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2-1
INPUT : LENGTH(10),P1(5),P2(20);
input : 익절틱수(30),손절틱수(15);
Input : 당일수익틱수(150),당일손실틱수(70);
VAR : TCHAN(0), BCHAN(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false),entry(0),loss(0);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
entry = 0;
loss = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true Then
{
loss = loss+1;
if loss == 2 Then
Xcond = true;
}
Else
loss = 0;
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if IsExitName("dsp",1) == true or IsExitName("dsl",1) == true then
Xcond = true;
}
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
var1 = ma(C,P1);
Var2 = ma(C,P2);
if Xcond == False and MarketPosition == 0 Then
{
if entry == 0 and
BCHAN < BCHAN[1] and BCHAN[1] == BCHAN[2] and
var1 > Var2 and
C > var1 and C > O Then
Sell("s1",AtStop,NextBarOpen-PriceScale*1);
if entry > 0 and C > O Then
Sell("s2",AtStop,NextBarOpen-PriceScale*1);
}
if MarketPosition == -1 then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2-2
INPUT : LENGTH(10),P1(5);
input : 익절틱수(30),손절틱수(15);
Input : 당일수익틱수(150),당일손실틱수(70);
VAR : TCHAN(0), BCHAN(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false),entry(0),loss(0);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
entry = 0;
loss = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true Then
{
loss = loss+1;
if loss == 2 Then
Xcond = true;
}
Else
loss = 0;
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if IsExitName("dsp",1) == true or IsExitName("dsl",1) == true then
Xcond = true;
}
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
var1 = ma(C,P1);
if Xcond == False and MarketPosition == 0 Then
{
if entry == 0 and
BCHAN < BCHAN[1] and BCHAN[1] == BCHAN[2] and
C > var1 and C > O Then
Sell("s1",AtStop,NextBarOpen-PriceScale*1);
if entry > 0 and C > O Then
Sell("s2",AtStop,NextBarOpen-PriceScale*1);
}
if MarketPosition == -1 then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
즐거운 하루되세요
> 황금룰 님이 쓴 글입니다.
> 제목 : 시스템트레이딩 수식 부탁드립니다.
> 오늘도 수고에 감사드립니다.
아래 조건의 수식을 부탁드립니다.
1-1.매수식
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
PLOT1(TCHAN, "TOP");
PLOT2(BCHAN, "BOT");
Price Channel 지표와 이평선은 5일이평선과 20일이평선을 이용한 매매입니다.
매수 진입조건
**순서가 중요합니다.
매수 진입시 마다 청산조건 : 1회 진입시 익절 목표값(30틱:외부변수) 1회 진입시 손절값(15틱:외부변수)
1.PLOT1(TCHAN, "TOP"); 평행하다 상승하기 시작할때
2.5일 이평선이 20일 이평선 하단에 있고
**켄들이 5일 이평선 아래에서
3.음봉 다음 양봉 시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 진입
4.진입이 성공하면 목표값(30틱:익절변수)에서 청산
5.진입이 실패하면 손절값(15틱:외부변수)에서 손절한 후 음봉 다음 양봉시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 재진입
6.재진입이 성공하면 목표값(30틱:익절변수)에서 청산
7.재진입이 실패하면 손절값(15틱:외부변수)에서 손절한 후 음봉 다음 양봉시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 재진입
8.재진입이 성공하면 목표값(30틱:익절변수)에서 청산
9.재진입이 실패하면 손절값(15틱:외부변수)에서 청산(**진입후 손절된 후 재진입은 2번까지만 허용)
1번에서 9번까지 과정을 반복함
하루 목표값(150틱:외부변수)에 도달하면 당일 거래 마감
하루 손절값(70틱:외부변수)에 도달하면 당일 거래 마감
1-2.매수식
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
PLOT1(TCHAN, "TOP");
PLOT2(BCHAN, "BOT");
Price Channel 지표와 이평선은 5일이평선을 이용한 매매입니다.
매수 진입조건
**순서가 중요합니다.
매수 진입시 마다 청산조건 : 1회 진입시 익절 목표값(30틱:외부변수) 1회 진입시 손절값(15틱:외부변수)
1.PLOT1(TCHAN, "TOP"); 평행하다 상승하기 시작할때
2.켄들이 5일 이평선 아래에서
3.음봉 다음 양봉 시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 진입
4.진입이 성공하면 목표값(30틱:익절변수)에서 청산
5.진입이 실패하면 손절값(15틱:외부변수)에서 손절한 후 음봉 다음 양봉시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 재진입
6.재진입이 성공하면 목표값(30틱:익절변수)에서 청산
7.재진입이 실패하면 손절값(15틱:외부변수)에서 손절한 후 음봉 다음 양봉시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 재진입
8.재진입이 성공하면 목표값(30틱:익절변수)에서 청산
9.재진입이 실패하면 손절값(15틱:외부변수)에서 청산(**진입후 손절된 후 재진입은 2번까지만 허용)
1번에서 9번까지 과정을 반복함
하루 목표값(150틱:외부변수)에 도달하면 당일 거래 마감
하루 손절값(70틱:외부변수)에 도달하면 당일 거래 마감
2-1.매도식
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
PLOT1(TCHAN, "TOP");
PLOT2(BCHAN, "BOT");
Price Channel 지표와 이평선은 5일이평선과 20일이평선을 이용한 매매입니다.
매도 진입조건
**순서가 중요합니다.
매도 진입시 마다 청산조건 : 1회 진입시 익절 목표값(30틱:외부변수) 1회 진입시 손절값(15틱:외부변수)
1.PLOT2(BCHAN, "BOT"); 평행하다 하락하기 시작할때
2.5일 이평선이 20일 이평선 상단에 있고
**켄들이 5일 이평선 위에서
3.양봉 다음 음봉 시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 진입
4.진입이 성공하면 목표값(30틱:외부변수)에서 청산
5.진입이 실패하면 손절값(15틱:외부변수)에서 손절한 후 양봉 다음 음봉시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 재진입
6.재진입이 성공하면 목표값(30틱:외부변수)에서 청산
7.재진입이 실패하면 손절값(15틱:외부변수)에서 손절한 후 양봉 다음 음봉시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 재진입
8.재진입이 성공하면 목표값(30틱:외부변수)에서 청산
9.재진입이 실패하면 손절값(15틱:외부변수)에서 청산(**진입후 손절된 후 재진입은 2번까지만 허용)
1번에서 9번까지 과정을 반복함
하루 목표값(150틱:외부변수)에 도달하면 당일 거래 마감
하루 손절값(70틱:외부변수)에 도달하면 당일 거래 마감
2-2.매도식
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
PLOT1(TCHAN, "TOP");
PLOT2(BCHAN, "BOT");
Price Channel 지표와 이평선은 5일이평선을 이용한 매매입니다.
매도 진입조건
**순서가 중요합니다.
매도 진입시 마다 청산조건 : 1회 진입시 익절 목표값(30틱:외부변수) 1회 진입시 손절값(15틱:외부변수)
1.PLOT2(BCHAN, "BOT"); 평행하다 하락하기 시작할때
2.켄들이 5일 이평선 위에서
3.양봉 다음 음봉 시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 진입
4.진입이 성공하면 목표값(30틱:외부변수)에서 청산
5.진입이 실패하면 손절값(15틱:외부변수)에서 손절한 후 양봉 다음 음봉시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 재진입
6.재진입이 성공하면 목표값(30틱:외부변수)에서 청산
7.재진입이 실패하면 손절값(15틱:외부변수)에서 손절한 후 양봉 다음 음봉시가(양봉 시가 진입이 어려우면 최대한 시가에 근접하게 진입)에 재진입
8.재진입이 성공하면 목표값(30틱:외부변수)에서 청산
9.재진입이 실패하면 손절값(15틱:외부변수)에서 청산(**진입후 손절된 후 재진입은 2번까지만 허용)
1번에서 9번까지 과정을 반복함
하루 목표값(150틱:외부변수)에 도달하면 당일 거래 마감
하루 손절값(70틱:외부변수)에 도달하면 당일 거래 마감