답변완료
시스템식 문의 드립니다.
시스템식 문의를 드리려고 요청 드립니다.
청산관련해서.
특정한 금액에서 매수를 했다면,
예를들어 목표 수익률 5% 잡고, 10,000원에 매수했을경우...
만약에 -1% 하락시 (주가가 9,900원) 이 되었을때 목표수익률 4%로 변경,
-2% 하락시 (주가가 9,800원) 이 되었을때 목표수익률 3%로 변경,
-3% 하락시 (주가가 9,700원) 이 되었을때 목표수익률 2%로 변경,
-4% 하락시 (주가가 9,600원) 이 되었을때 목표수익률 1%로 변경,
-5% 하락시 (주가가 9,500원) 이 되었을때 목표수익률 0%로 변경,
-6% 하락시 (주가가 9,400원) 이 되었을때 목표수익률 -1%로 변경,
-7% 하락시 (주가가 9,300원) 이 되었을때 청산
이런식을 작성하고 싶은데.. 가능할지 궁금합니다.
그럼 부탁드리겠습니다. 감사합니다.
2021-10-25
696
글번호 153144
시스템
답변완료
문의 드립니다.
항상 감사드립니다~~
아래 수식으로 데모해 보았는데요..
종가에 매수 매도 진입하는 것인데, 종가 가격하고 다르게 들어가는 경우가 몇번 있습니다.
그리고 익절, 손절 가격에 청산되지 않고 약 손절 가격으로 청산되는 내용이 몇개 있습니다. bx, sx라고 표시되어 나옵니다.
이 부분은 어떤 문제인지 확인, 수정 부탁드립니다.
그 내역 부분 첨부해서 올립니다.
감사합니다~~^^
input : ntime1(6),ntime2(30),n(10);
input : StartTime(222500),EndTime(010000);
input : 익절틱수(50),손절틱수(50);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0);
Array : H1[50](0),L1[50](0),H2[50](0),L2[50](0);
var : Tcond(false);
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
Tcond = true;
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%ntime1;
TF2 = TM%ntime2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or
(Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then
{
H1[0] = H;
L1[0] = L;
For cnt = 1 to 49
{
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
}
}
if H1[0] > 0 and H > H1[0] Then
H1[0] = H;
if L1[0] > 0 and L < L1[0] Then
L1[0] = L;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or
(Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or
(Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then
{
H2[0] = H;
L2[0] = L;
For cnt = 1 to 49
{
H2[cnt] = H2[cnt-1][1];
L2[cnt] = L2[cnt-1][1];
}
}
if H2[0] > 0 and H > H2[0] Then
H2[0] = H;
if L2[0] > 0 and L < L2[0] Then
L2[0] = L;
if Tcond == true Then
{
if MarketPosition <= 0 and H1[n] > 0 and H2[n] > 0 and H < min(H1[n],H2[n])+PriceScale*1 Then
Buy("b",AtStop,max(H1[n],H2[n]+PriceScale*1));
if MarketPosition >= 0 and L1[n] > 0 and L2[n] > 0 and L > max(L1[n],L2[n])-PriceScale*1 Then
Sell("s",AtStop,min(L1[n],L2[n])-PriceScale*1);
if MarketPosition == 1 Then
ExitLong("bx",AtStop,L-PriceScale*1);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,H+PriceScale*1);
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
2021-10-25
797
글번호 153129
시스템
답변완료
지표 부탁 드립니다.
var : st1(0), st2(0), st3(0), rmo(0);
st1=100*(c-((ma(c,2)+
ma(ma(c,2),2)+
ma(ma(ma(c,2),2),2)+
ma(ma(ma(ma(c,2),2),2),2)+
ma(ma(ma(ma(ma(c,2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2),2),2),2),2))/10))/
(highest(c,10)-lowest(c,10));
st2=ema(st1,30);
st3=ema(st2,30);
rmo=ema(st1,81);
plot1(iff(rmo>=0,rmo,0),"막대1");
plot2(iff(rmo<0,rmo,0),"막대2");
plot3(st2,"swing trd2");
plot4(st3,"swing trd3");
PlotBaseLine1(0,"기준선");
PlotBaseLine2(10);
PlotBaseLine3(-10);
PlotBaseLine4(5);
PlotBaseLine5(-5);
직전봉 보다 작을때 파랑 컷을때 빨강으로 부탁 드립니다. 수고하세요.
2021-10-25
1070
글번호 153121
지표
답변완료
수정 부탁 드립니다.
수식 만들어 주셔서 감사 드립니다.
제가 설명을 잘 드리지 못한거 같네요.
아래 수식에 C값이 클때(if C > O*k Then)만 적용이 되어 있는데
C값이 작을때(if C < O*k Then)를 추가해서 구분을 해주셨으면 합니다.
C값이 클때는 -1없이 상승 라인만
C값이 작을땐 하락만 라인이 그려지게요.
라인이 그려지다가 반대 신호가 나오면 정지 되고 반대 라인이 그려지면 되고요
신호가 바뀌는 구간에는 반대라인과 갭이 생기더라도 무관 합니다.
input : k(1.000);
input : 상승색(RED),하락색(BLUE);
if C > O*k Then
{
var1 = (c-o)/4*3+o;
Var2 = (c-o)/4*2+o;
Var3 = (c-o)/4+o;
}
if var1 > var1[1] Then
value1 = 1;
if var1 < var1[1] Then
value1 = -1;
if var2 > var2[1] Then
value2 = 1;
if var2 < var2[1] Then
value2 = -1;
if var3 > var3[1] Then
value3 = 1;
if var3 < var3[1] Then
value3 = -1;
Plot1(var1,"상",iff(value1==1,상승색,하락색));
plot2(Var2,"중",iff(value1==1,상승색,하락색));
plot3(Var3,"하",iff(value1==1,상승색,하락색));
감사합니다.^^
2021-10-25
723
글번호 153114
지표