예스스탁
예스스탁 답변
2021-03-31 12:50:36
안녕하세요
예스스탁입니다.
1
input : StartTime(100000),EndTime(055000),xtime(055500);
INPUT : LENGTH(90);
Input : 당일수익틱수(150),당일손실틱수(40);
VAR : upv(0), dnv(0),dis(0),T(0);
var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0);
var : Tcond(false);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if sDate != sDate[1] then
SetStopEndofday(xtime);
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;
SetStopEndofday(0);
T = 0;
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;
}
upv = HIGHEST(HIGH, LENGTH);
dnv = LOWEST(LOW, LENGTH);
dis = Disparity(60);
if Tcond == true and Tcond[1] == true and Xcond == False Then
{
if T <= 0 and L <= dnv and L[1] > dnv[1] Then
T = 1;
if T >= 0 and H >= upv and H[1] < upv[1] Then
T = -1;
if MarketPosition >= 0 and T == 1 and CrossUp(dis,100) Then
Buy();
if MarketPosition >= 0 and T == -1 and CrossDown(dis,100) 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));
}
2
input : StartTime(100000),EndTime(055000),xtime(055500);
INPUT : LENGTH(90);
Input : 당일수익틱수(150),당일손실틱수(40);
VAR : upv(0), dnv(0),dis(0),T(0);
var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0);
var : Tcond(false),P(0);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if sDate != sDate[1] then
SetStopEndofday(xtime);
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;
SetStopEndofday(0);
T = 0;
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;
}
upv = HIGHEST(HIGH, LENGTH);
dnv = LOWEST(LOW, LENGTH);
dis = Disparity(60);
if Tcond == true and Tcond[1] == true and Xcond == False Then
{
if T <= 0 and L <= dnv and L[1] > dnv[1] Then
{
T = 1;
P = L;
Condition1 = true;
}
if T >= 0 and H >= upv and H[1] < upv[1] Then
{
T = -1;
P = H;
Condition2 = true;
}
if Condition1 == true and MarketPosition >= 0 and T == 1 Then
Buy("b",AtLimit,P-PriceScale*30);
if Condition2 == true and MarketPosition >= 0 and T == -1 Then
Sell("s",AtLimit,P+PriceScale*30);
}
if MarketPosition == 1 then
{
Condition1 = False;
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
Condition1 = False;
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
즐거운 하루되세요
> 푸른 님이 쓴 글입니다.
> 제목 : 수식어 부탁드립니다
> input : StartTime(100000),EndTime(055000),xtime(055500);
var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0);
var : Tcond(false);
if sDate != sDate[1] then
SetStopEndofday(xtime);
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;
SetStopEndofday(0);
}
INPUT : LENGTH(90);
VAR : upv(0), dnv(0);
upv = HIGHEST(HIGH, LENGTH);
dnv = LOWEST(LOW, LENGTH);
if MarketPosition <= 0 and L > dnv Then
Buy("b",AtLimit,dnv);
if MarketPosition >= 0 and H < upv Then
Sell("s",AtLimit,upv);
----------------------------------------------------
위 시스템의 추가하는 수식어 종류는 2가지 입니다.
1.
buy 신호후 이격도 60의 기준선 crossup시 주문
sell 신호후 이격도 60의 기준선 crossdown시 주문
당일 손실 40틱 매매정지
당일 이익 150틱 매매정지
2.
buy 신호후 30틱 아래에서 주문
sell 신호후 30틱 위에서 주문
당일 손실 40틱 매매정지
당일 이익 150틱 매매정지