예스스탁
예스스탁 답변
2024-12-10 11:27:42
안녕하세요
예스스탁입니다.
지정한 시간부터 모든 조건 체크를 시작하게 수정해 드립니다.
input : StartTime(160000),EndTime(060000);
input : Period1(20),dv1(2);
input : 하단아래1(3),하단위1(4),상단위1(3),상단아래1(4);
input : Period2(20),dv2(2);
input : 하단아래2(3),하단위2(4),상단위2(3),상단아래2(4);
var : BBup1(0),BBmd1(0),BBdn1(0);
var : T1(0),i11(0),i12(0),i13(0),i14(0);
var : BBup2(0),BBmd2(0),BBdn2(0);
var : T2(0),i21(0),i22(0),i23(0),i24(0);
var : S1(0),S2(0),Tcond(False);
BBup1 = BollBandUp(Period1,dv1);
BBmd1 = ma(c,Period1);
BBdn1 = BollBandDown(Period1,dv1);
BBup2 = BollBandUp(Period2,dv2);
BBmd2 = ma(c,Period2);
BBdn2 = BollBandDown(Period2,dv2);
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
T1 = 0;
T2 = 0;
S1 = 0;
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if Tcond == true Then
{
if CrossDown(C,BBdn1) Then
{
T1 = -1;
i11 = 0;
}
if CrossUp(C,BBdn1) Then
{
T1 = 1;
i12 = 0;
}
if CrossUp(C,BBup1) Then
{
T1 = 2;
i13 = 0;
}
if CrossDown(C,BBup1) Then
{
T1 = -2;
i14 = 0;
}
if T1 == -1 Then
i11 = i11+1;
if T1 == 1 Then
i12 = i12+1;
if T1 == 2 Then
i13 = i13+1;
if T1 == -2 Then
i14 = i14+1;
if CrossDown(C,BBdn2) Then
{
T2 = -1;
i21 = 0;
}
if CrossUp(C,BBdn2) Then
{
T2 = 1;
i22 = 0;
}
if CrossUp(C,BBup2) Then
{
T2 = 2;
i23 = 0;
}
if CrossDown(C,BBup2) Then
{
T2 = -2;
i24 = 0;
}
if T2 == -1 Then
i21 = i21+1;
if T2 == 1 Then
i22 = i22+1;
if T2 == 2 Then
i23 = i23+1;
if T2 == -2 Then
i24 = i24+1;
if S1 <= 0 and T1 == 1 and i12 == 하단위1 and i11 >= 하단아래1 Then
S1 = 1;
if S1 >= 0 and T1 == -2 and i14 == 상단아래1 and i13 >= 상단위1 Then
S1 = -1;
if S2 <= 0 and T2 == 1 and i22 == 하단위2 and i21 >= 하단아래2 Then
S2 = 1;
if S2 >= 0 and T2 == -2 and i24 == 상단아래2 and i23 >= 상단위2 Then
S2 = -1;
if MarketPosition <= 0 and S1+S2 == 2 Then
Buy();
if MarketPosition == 1 and S1+S2 == 0 Then
ExitLong();
if MarketPosition >= 0 and S1+S2 == -2 Then
Sell();
if MarketPosition == -1 and S1+S2 == 0 Then
ExitShort();
}
즐거운 하루되세요
> cjfdk 님이 쓴 글입니다.
> 제목 : 문의드립니다
>
input : Period1(20),dv1(2);
input : 하단아래1(3),하단위1(4),상단위1(3),상단아래1(4);
input : Period2(20),dv2(2);
input : 하단아래2(3),하단위2(4),상단위2(3),상단아래2(4);
var : BBup1(0),BBmd1(0),BBdn1(0);
var : T1(0),i11(0),i12(0),i13(0),i14(0);
var : BBup2(0),BBmd2(0),BBdn2(0);
var : T2(0),i21(0),i22(0),i23(0),i24(0);
var : S1(0),S2(0);
BBup1 = BollBandUp(Period1,dv1);
BBmd1 = ma(c,Period1);
BBdn1 = BollBandDown(Period1,dv1);
BBup2 = BollBandUp(Period2,dv2);
BBmd2 = ma(c,Period2);
BBdn2 = BollBandDown(Period2,dv2);
if CrossDown(C,BBdn1) Then
{
T1 = -1;
i11 = 0;
}
if CrossUp(C,BBdn1) Then
{
T1 = 1;
i12 = 0;
}
if CrossUp(C,BBup1) Then
{
T1 = 2;
i13 = 0;
}
if CrossDown(C,BBup1) Then
{
T1 = -2;
i14 = 0;
}
if T1 == -1 Then
i11 = i11+1;
if T1 == 1 Then
i12 = i12+1;
if T1 == 2 Then
i13 = i13+1;
if T1 == -2 Then
i14 = i14+1;
if CrossDown(C,BBdn2) Then
{
T2 = -1;
i21 = 0;
}
if CrossUp(C,BBdn2) Then
{
T2 = 1;
i22 = 0;
}
if CrossUp(C,BBup2) Then
{
T2 = 2;
i23 = 0;
}
if CrossDown(C,BBup2) Then
{
T2 = -2;
i24 = 0;
}
if T2 == -1 Then
i21 = i21+1;
if T2 == 1 Then
i22 = i22+1;
if T2 == 2 Then
i23 = i23+1;
if T2 == -2 Then
i24 = i24+1;
if S1 <= 0 and T1 == 1 and i12 == 하단위1 and i11 >= 하단아래1 Then
S1 = 1;
if S1 >= 0 and T1 == -2 and i14 == 상단아래1 and i13 >= 상단위1 Then
S1 = -1;
if S2 <= 0 and T2 == 1 and i22 == 하단위2 and i21 >= 하단아래2 Then
S2 = 1;
if S2 >= 0 and T2 == -2 and i24 == 상단아래2 and i23 >= 상단위2 Then
S2 = -1;
if MarketPosition <= 0 and S1+S2 == 2 Then
Buy();
if MarketPosition == 1 and S1+S2 == 0 Then
ExitLong();
if MarketPosition >= 0 and S1+S2 == -2 Then
Sell();
if MarketPosition == -1 and S1+S2 == 0 Then
ExitShort();
수고많으십니다
문의드릴 내용은 전에 작성해주신 수식인데
시작 시간과 종료 시간을 지정하고 싶습니다
제가 붙여넣기 하니 예를들어 16시에
시작하는 걸로 맞추니 피라미딩 처럼
16시 이전에 이미 진행 중인 신호에
그냥 16시에 진입 하던데
16시에 시작으로 설정하면 16시 이후에 시작하는
신호에서 부터 진입하는 거로 부탁드립니다
감사합니다