예스스탁
예스스탁 답변
2022-12-05 09:41:01
안녕하세요
예스스탁입니다.
input : P1(5),P2(20);
Input : short(12), long(26), signal(9);
input : BBP(20),dv(2);
input : StartTime(80000),EndTime(30000);
var : mav1(0),mav2(0),bbup(0),bbdn(0);
Var : MACDv(0), MACDs(0),macdo(0),T(0);
var : Tcond(false);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
bbup = BollBandUp(BBP,dv);
bbdn = BollBandDown(BBP,dv);
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;
T = 0;
var1 = 0;
Var2 = 0;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if Tcond == true Then
{
var1 = var1+v;
Var2 = Var2+1;
Var3 = var1/Var2;
if C < DayOpen and mav1 < mav1[1] Then
T = 1;
if T == 1 and
MACDO > 0 and
mav2 > mav2[1] Then
{
if (CrossUp(c,DayOpen) and C < BBup) or
(C > DayOpen and C > bbup and CrossDown(C,mav1)) Then
Buy();
}
if C > DayOpen and mav1 > mav1[1] Then
T = -1;
if T == -1 and
MACDO < 0 and
mav2 < mav2[1] Then
{
if (CrossDown(c,DayOpen) and C > BBdn) or
(C < DayOpen and C < bbdn and CrossUp(C,mav1)) Then
Sell();
}
if MarketPosition == 1 Then
{
if CrossDown(c,DayOpen) Then
Sell("bs");
# if CrossDown(C,DayOpen) Then
# ExitLong();
# if v >= Var3[1]*5 then
# ExitLong();
}
if MarketPosition == -1 Then
{
if CrossUp(C,DayOpen) Then
Buy("sb");
# if CrossUp(C,DayOpen) Then
# ExitShort();
# if v >= Var3[1]*5 then
# ExitShort();
}
}
즐거운 하루되세요
> 아트정 님이 쓴 글입니다.
> 제목 : 식수정
>
input : P1(5),P2(20);
Input : short(12), long(26), signal(9);
input : BBP(20),dv(2);
input : StartTime(80000),EndTime(30000);
var : mav1(0),mav2(0),bbup(0),bbdn(0);
Var : MACDv(0), MACDs(0),macdo(0),T(0);
var : Tcond(false);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
bbup = BollBandUp(BBP,dv);
bbdn = BollBandDown(BBP,dv);
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;
T = 0;
var1 = 0;
Var2 = 0;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if Tcond == true Then
{
var1 = var1+v;
Var2 = Var2+1;
Var3 = var1/Var2;
if C < DayOpen and mav1 < mav1[1] Then
T = 1;
if T == 1 and
MACDO > 0 and
mav2 > mav2[1] Then
{
if (CrossUp(c,DayOpen) and C < BBup) or
(C > DayOpen and C > bbup and CrossDown(C,mav1)) Then
Buy();
}
if C > DayOpen and mav1 > mav1[1] Then
T = -1;
if T == -1 and
MACDO < 0 and
mav2 < mav2[1] Then
{
if (CrossDown(c,DayOpen) and C > BBdn) or
(C < DayOpen and C < bbdn and CrossUp(C,mav1)) Then
Sell();
}
if MarketPosition == 1 Then
{
# if CrossDown(C,DayOpen) Then
# ExitLong();
# if v >= Var3[1]*5 then
# ExitLong();
}
if MarketPosition == -1 Then
{
# if CrossUp(C,DayOpen) Then
# ExitShort();
# if v >= Var3[1]*5 then
# ExitShort();
}
}
SetStopProfittarget(3.0,PercentStop);
SetStopLoss(1.8,PercentStop);
안녕하세요
위 식에서
식추가 부탁드립니다.
익절.손절기능 삭제(SetStopProfittarget(3.0,PercentStop);
SetStopLoss(1.8,PercentStop);)
추가 매수 당일 시가선위에서 매수 진입후
시가선 아래로 하향시 손절후 바로 매도 전환.
매도 당일 시가선아래서 매도 진입후
당일 시가선위로 상승시 손절후 바로 매수 진입전환.