커뮤니티
기준선 수식 수정 부탁드립니다.
2018-09-20 22:53:49
334
글번호 122212
아래의 수식을 적용해 보았습니다.
첨부드리는 그림상에 검은색 선이 일목균형표 기준선을 26에서 120으로 수정한 선이구요.
챠트는 1분봉입니다.
그림상의 첫번째 화살표에서 매수진입
두번째 화살표에서 매수청산 및 매도진입
세번째 화살표(정확한 값은 아닙니다. 개념상의 위치이며 실제로 50틱이 되지는 않습니다.)에서 매도청산이 나와서 당일 매매가 종료되도록 만들어 볼려고 하였습니다.
현재 발생되는 시그널은 일목균형표 기준선과 전혀 다른 위치에서 발생됩니다. 그림상의 날짜에는 그래도 위치가 비슷하게라도 나오는데 다른 날짜에서 보면 완전히 다른 위치입니다.
어디가 문제인지 점검 좀 부탁드립니다.
- 아 래 -
Input : 당일누적수익틱수(50),당일누적손실틱수(50);
input : starttime(101500),endtime(020000);
VARS: Tcond(false),N1(0),dayPl(0),당일누적수익(0),당일누적손실(0),Xcond(false);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Xcond = false;
N1 = NetProfit;
Tcond = true;
}
당일누적수익 = PriceScale*당일누적수익틱수;
당일누적손실 = PriceScale*당일누적손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
var1 = (highest(H,26)+lowest(L,26))/2;
if Tcond == true and Xcond == false then
{
if crossup(c,var1) Then
buy();
if CrossDown(c,var1) Then
sell();
}
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));
}
- 1. 122808_기준선.png (0.07 MB)
답변 1
예스스탁 예스스탁 답변
2018-09-21 10:57:17
안녕하세요
예스스탁입니다.
차트의 지표는 기간이 100인데 시스템식은 26입니다.
기간값 외부변수로 처리해 드립니다,
청산위치는 당일누적이나 손실값 조절해 보셔야 합니다.
Input : 당일누적수익틱수(50),당일누적손실틱수(50),P(100);
input : starttime(101500),endtime(020000);
VARS: Tcond(false),N1(0),dayPl(0),당일누적수익(0),당일누적손실(0),Xcond(false);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Xcond = false;
N1 = NetProfit;
Tcond = true;
}
당일누적수익 = PriceScale*당일누적수익틱수;
당일누적손실 = PriceScale*당일누적손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
var1 = (highest(H,P)+lowest(L,P))/2;
if Tcond == true and Xcond == false then
{
if crossup(c,var1) Then
buy();
if CrossDown(c,var1) Then
sell();
}
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));
}
즐거운 하루되세요
> 승부사1 님이 쓴 글입니다.
> 제목 : 기준선 수식 수정 부탁드립니다.
> 아래의 수식을 적용해 보았습니다.
첨부드리는 그림상에 검은색 선이 일목균형표 기준선을 26에서 120으로 수정한 선이구요.
챠트는 1분봉입니다.
그림상의 첫번째 화살표에서 매수진입
두번째 화살표에서 매수청산 및 매도진입
세번째 화살표(정확한 값은 아닙니다. 개념상의 위치이며 실제로 50틱이 되지는 않습니다.)에서 매도청산이 나와서 당일 매매가 종료되도록 만들어 볼려고 하였습니다.
현재 발생되는 시그널은 일목균형표 기준선과 전혀 다른 위치에서 발생됩니다. 그림상의 날짜에는 그래도 위치가 비슷하게라도 나오는데 다른 날짜에서 보면 완전히 다른 위치입니다.
어디가 문제인지 점검 좀 부탁드립니다.
- 아 래 -
Input : 당일누적수익틱수(50),당일누적손실틱수(50);
input : starttime(101500),endtime(020000);
VARS: Tcond(false),N1(0),dayPl(0),당일누적수익(0),당일누적손실(0),Xcond(false);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Xcond = false;
N1 = NetProfit;
Tcond = true;
}
당일누적수익 = PriceScale*당일누적수익틱수;
당일누적손실 = PriceScale*당일누적손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
var1 = (highest(H,26)+lowest(L,26))/2;
if Tcond == true and Xcond == false then
{
if crossup(c,var1) Then
buy();
if CrossDown(c,var1) Then
sell();
}
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));
}
다음글
이전글