예스스탁
예스스탁 답변
2023-08-11 14:48:57
안녕하세요
예스스탁입니다.
input : StartTime(70000),EndTime(54500);
Input : 익절틱수(300),누적수익틱수(40),횟수(1);
var : Tcond(False),N1(0),Xcount(0),누적수익(0),daypl(0);
var : LL(0),T(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
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;
N1 = NetProfit;
Xcount = 0;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
누적수익 = PriceScale*누적수익틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 누적수익 or IsExitName("dbp",1) == true then
{
Xcount = Xcount+1;
N1 = NetProfit;
}
}
Input : RSIPeriod(9),RSIsignal(10);
var : RSIV(0),RSIS(0);
RSIV = RSI(RSIPeriod);
RSIS = ma(RSIV,RSIsignal);
Input : CCIPeriod(10),CCISignal(9);
var : CCIv(0),CCIs(0);
CCIv = CCI(CCIPeriod);
CCIs = ma(CCIV,CCISignal);
if CrossUp(CCIs,60) Then
T = 1;
if CrossDown(CCIs,60) Then
{
T = -1;
LL = RSIS;
}
if T == -1 Then
{
if RSIS < LL Then
LL = RSIS;
}
if Tcond == true and Xcount < 횟수 Then
{
if LL < 50 and T == 1 and T[1] != -1 then
Buy();
if MarketPosition == 1 Then
{
if CrossDown(cciv,-100) Then
var1 = l;
if var1 > 0 and c < var1 then
ExitLong();
if rsis > 97 and CrossDown(rsiv,rsis) then
ExitLong();
Exitlong("dbp",atlimit,EntryPrice+((누적수익-daypl)/CurrentContracts));
}
Else
var1 = 0;
if MarketPosition == 1 Then
Buy("b",AtLimit,LatestEntryPrice(0)-PriceScale*30);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
즐거운 하루되세요
> 아침 님이 쓴 글입니다.
> 제목 : 재문의 드립니다.
> input : StartTime(70000),EndTime(54500);
Input : 익절틱수(300),누적수익틱수(40),횟수(1);
var : Tcond(False),N1(0),Xcount(0),누적수익(0),daypl(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
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;
N1 = NetProfit;
Xcount = 0;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
누적수익 = PriceScale*누적수익틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 누적수익 or IsExitName("dbp",1) == true then
{
Xcount = Xcount+1;
N1 = NetProfit;
}
}
Input : RSIPeriod(9),RSIsignal(10);
var : RSIV(0),RSIS(0);
RSIV = RSI(RSIPeriod);
RSIS = ma(RSIV,RSIsignal);
Input : CCIPeriod(10),CCISignal(9);
var : CCIv(0),CCIs(0);
CCIv = CCI(CCIPeriod);
CCIs = ma(CCIV,CCISignal);
if Tcond == true and Xcount < 횟수 Then
{
if rsis < 60 and CrossUp(rsiv,rsis) then
Buy();
if MarketPosition == 1 Then
{
if CrossDown(cciv,-100) Then
var1 = l;
if var1 > 0 and c < var1 then
ExitLong();
if rsis > 97 and CrossDown(rsiv,rsis) then
ExitLong();
Exitlong("dbp",atlimit,EntryPrice+((누적수익-daypl)/CurrentContracts));
}
Else
var1 = 0;
if MarketPosition == 1 Then
Buy("b",AtLimit,LatestEntryPrice(0)-PriceScale*30);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
다른건 괜찮고요.이 부분만,
알에스아이 와이선이 시그널선60돌파 매수를 빼고,
알에스아이 시그널선 50하향돌파가 출현되고 시그널선 60상향돌파.매수.
이 수식으로 바꿨으면 합니다.
수고하세요.