예스스탁
예스스탁 답변
2020-09-28 17:52:59
안녕하세요
예스스탁입니다.
1
올리신 내용 중 손절청산의 plot1의 진저가는 그림만을로는 해당값을 지정해 드리기 어렵습니다.
해당값이 지정될수 있는 정확한 조건 내용을 올려주시기 바랍니다.
아래식에는 진입시점 기준 N개봉 최저가로 지정했습니다.
2
랭귀지에는 환율정보가 없어 수익손실을 원화등으로 지정해 드릴수 없습니다.
당일수익이나 당일손실에 대해 틱수로 지정하게 작성해 드립니다.
의도하시는 금액을 해당종목의 틱수로 산정하셔서 지정하시기 바랍니다.
3
input : 익절틱수(70),당일수익틱수(300),당일손실틱수(100);
Input:Period(14),n(0),multi(0.5);
input : length(100),mult(1);
var : src(0),a(0),b(0),size(0),TX(0);
Var:기울기(0),절편(0),회귀선(0),회귀선tmp(0),채널폭(0),j(0),T(0),S(0);
var : 상단1(0),상단2(0),하단1(0),하단2(0),TL1(0),TL2(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 or daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
기울기 = LRS(C, Period)[n];
절편 = _intercept(C,Period)[n];
회귀선 = 기울기 * Index + 절편;
채널폭 = 0;
for j = n to Period + n - 1
{
회귀선tmp = 기울기 * Index[j] + 절편;
채널폭 = max(채널폭,max(abs(H[j] - 회귀선tmp),abs(회귀선tmp - L[j])));
}
if 회귀선 > 회귀선[1] Then
T = 1;
if 회귀선 < 회귀선[1] Then
T = -1;
상단2 = 회귀선 + 채널폭 * multi;
상단1 = 회귀선 + 채널폭;
하단1 = 회귀선 - 채널폭;
하단2 = 회귀선 - 채널폭 * multi;
src = close;
size = iff((a[1]-a[2]) > 0 or (b[1]-b[2]) < 0 , atr(length) ,TrueRange);
if a[1] > a[2] Then
{
Condition1 = true;
var1 = 0;
}
Else
{
if Condition1 == true Then
var1 = var1+1;
}
if b[1] < b[2] Then
{
Condition2 = true;
var2 = 0;
}
Else
{
if Condition2 == true Then
var2 = var2+1;
}
a = max(src,a[1]) - size/pow(length,2)*(var1*mult);
b = min(src,b[1]) + size/pow(length,2)*(Var2*mult);
if CrossUp(H,a) Then
S = 1;
if CrossUp(L,b) Then
S = -1;
if S == 1 and C < 하단2 Then
S = 2;
if S == -1 and C > 상단2 Then
S = -2;
if (S == 2 or (S == 1 and S[1] == 2)) and C >= 회귀선 and Xcond == false Then
Buy("b");
if (S == -2 or (S == -1 and S[1] == -2)) and C <= 회귀선 and Xcond == false Then
Sell("s");
if MarketPosition == 1 Then
ExitLong("bx",AtStop,Lowest(L,20)[BarsSinceEntry]);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,highest(H,20)[BarsSinceEntry]);
SetStopProfitTarget(PriceScale*익절틱수,PointStop);
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
즐거운 하루되세요
> 양정희 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 수식은 앞전질문글이 많아 밑에 첨부해둔 수식이 많아서 따로 첨부하지 않겠습니다.
검색수식과 래프선형채널수식 등을 참고해 제가 원하는 시스템수식을 구현 부탁드리겠습니다.
그림에 글을 못적었는데 종목마다 동일하게 진입 청산 손절은 구현하고
항셍은 60틱 수익시 청산후 다시 신호나오면 진입 손절잡고 청산 계속 반복되게끔 해주세요.
종목마다 청산을 틀리게 하려는데 그부분은 어떻게 고칠수 있는지 좀 알려주세요.
매도는 따로 설명안드렸는데 모르시겠으면 전화로 설명드려 만들어주실수 있으시면 부탁드릴게요. 전화설명이 더 상세할수도 있으니까요.