커뮤니티

문의1

프로필 이미지
좌오비우오비
2020-09-16 15:00:43
911
글번호 142428
답변완료
아래수식은 주차트에 사용하는 buy 수식입니다. 1. 보조차트2와 보조차트3을 이용해서 양합을 구합니다. var : sum(0,Data1); sum = Data2(c)+data3(c); 2. 구한 양합을 아래 수식에 따라 진입과 청산에 사용하고 싶습니다. *************************************************************************** input : b1(28),b2(28),X1(28),X2(28),ER(8),EF(8),CR(8),CF(8),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then{ T1 = TotalTrades; E1 = 0; LL = L; } if stime >= 시작시간 then{ if L < LL Then LL = L; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then{ if E1 == 0 and C >= LL+PriceScale*B1 and C[1] < LL+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; V1 = LL; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*ER Then{ E1 = 2; i1 = index; S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and L < V1 Then{ E1 = 0; LL = L; } if E1 == 2 and index > i1 and C >= S1+PriceScale*EF Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if L < LL Then LL = L; if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{ if E1 == 0 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then{ E1 = 1; H1 = H; i1 = index; V1 = LL; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*ER Then{ E1 = 2; i1 = index; S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and L < V1 Then{ E1 = 0; LL = L; } if E1 == 2 and index > i1 and C >= S1+PriceScale*EF Then{ buy("b2"); } } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*CR Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*CF Then{ exitlong("bx1"); E1 = 0; } } } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X2 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*CR Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*CF Then{ exitlong("bx2"); E1 = 0; } } } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-09-17 11:50:08

안녕하세요 예스스탁입니다. input : b1(28),b2(28),X1(28),X2(28),ER(8),EF(8),CR(8),CF(8),거래횟수(20),시작시간(090000) ; var : T1(0,Data1),entry(0,Data1),LL(0,Data1),EH(0,Data1),E1(0,Data1),H1(0,Data1),i1(0,Data1),S1(0,Data1),L1(0,Data1),V1(0,Data1); var : sum(0,Data1); sum = Data2(c)+data3(c); if Data2((sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간)) Then { T1 = TotalTrades; E1 = 0; LL = sum; } if data2(stime >= 시작시간) then { if sum < LL Then LL = sum; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then { if E1 == 0 and sum >= LL+data2(PriceScale)*B1 and sum[1] < LL+data2(PriceScale)*B1 Then { E1 = 1; H1 = sum; i1 = data2(index); V1 = LL; //시작점 종가 } if E1 == 1 and data2(index > i1) then { if sum > H1 Then H1 = sum; #저가가 시작봉종가보다 클때만 눌림체크 if sum >= V1 and sum <= H1-data2(PriceScale)*ER Then { E1 = 2; i1 = data2(index); S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and sum < V1 Then { E1 = 0; LL = L; } if E1 == 2 and data2(index) > i1 and sum >= S1+data2(PriceScale)*EF Then { buy("b1"); } } if TotalTrades > TotalTrades[1] Then { E1 = 0; LL = sum; } if sum < LL Then LL = sum; if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then { if E1 == 0 and sum >= LL+data2(PriceScale)*B2 and sum[1] < LL+data2(PriceScale)*B2 Then{ E1 = 1; H1 = sum; i1 = data2(index); V1 = LL; //시작점 종가 } if E1 == 1 and index > i1 then { if sum > H1 Then H1 = sum; #저가가 시작봉종가보다 클때만 눌림체크 if sum >= V1 and sum <= H1-data2(PriceScale)*ER Then { E1 = 2; i1 = Data2(index); S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and sum < V1 Then { E1 = 0; LL = sum; } if E1 == 2 and data2(index) > i1 and sum >= S1+data2(PriceScale)*EF Then { buy("b2"); } } if MarketPosition == 1 Then { if entry >= 1 then { if CurrentContracts > CurrentContracts[1] Then { EH = sum; E1 = 0; } if sum > EH Then { EH = sum; E1 = 0; } if E1 == 0 and sum <= EH-data2(PriceScale)*X1 Then { E1 = 1; L1 = sum; i1 = index; } if E1 == 1 and data2(index) > i1 Then { if sum < L1 Then L1 = sum; if H >= L1+PriceScale*CR Then { E1 = 2; I1 = data2(index); S1 = L1; } } if E1 == 2 and data2(index) > i1 and sum <= S1-data2(PriceScale)*CF Then { exitlong("bx1"); E1 = 0; } } } if MarketPosition == 1 Then { if entry >= 1 then { if CurrentContracts > CurrentContracts[1] Then { EH = sum; E1 = 0; } if sum > EH Then { EH = sum; E1 = 0; } if E1 == 0 and C <= EH-data2(PriceScale)*X2 Then { E1 = 1; L1 = sum; i1 = data2(index); } if E1 == 1 and data2(index) > i1 Then { if sum < L1 Then L1 = sum; if H >= L1+data2(PriceScale)*CR Then { E1 = 2; I1 = data2(index); S1 = L1; } } if E1 == 2 and data2(index) > i1 and sum <= S1-data2(PriceScale)*CF Then { exitlong("bx2"); E1 = 0; } } } } 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 문의1 > 아래수식은 주차트에 사용하는 buy 수식입니다. 1. 보조차트2와 보조차트3을 이용해서 양합을 구합니다. var : sum(0,Data1); sum = Data2(c)+data3(c); 2. 구한 양합을 아래 수식에 따라 진입과 청산에 사용하고 싶습니다. *************************************************************************** input : b1(28),b2(28),X1(28),X2(28),ER(8),EF(8),CR(8),CF(8),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then{ T1 = TotalTrades; E1 = 0; LL = L; } if stime >= 시작시간 then{ if L < LL Then LL = L; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then{ if E1 == 0 and C >= LL+PriceScale*B1 and C[1] < LL+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; V1 = LL; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*ER Then{ E1 = 2; i1 = index; S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and L < V1 Then{ E1 = 0; LL = L; } if E1 == 2 and index > i1 and C >= S1+PriceScale*EF Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if L < LL Then LL = L; if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{ if E1 == 0 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then{ E1 = 1; H1 = H; i1 = index; V1 = LL; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*ER Then{ E1 = 2; i1 = index; S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and L < V1 Then{ E1 = 0; LL = L; } if E1 == 2 and index > i1 and C >= S1+PriceScale*EF Then{ buy("b2"); } } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*CR Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*CF Then{ exitlong("bx1"); E1 = 0; } } } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X2 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*CR Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*CF Then{ exitlong("bx2"); E1 = 0; } } } }