커뮤니티

문의

프로필 이미지
목마와숙녀
2021-04-12 15:03:29
740
글번호 147904
답변완료
아래는 신호가 나오는대로 진입과 청산을 반복하는 거래수식입니다. 청산 후 재진입시 일정 term을 가지고 진입하고자 합니다. 강제손절시 10봉 지나서 진입허용 트레일링스탑 강제청산시 20봉 지나서 진입허용 exlong("bx") 청산시 30봉 지나서 진입허용 위 3가지 내용을 수식에 추가하여 주십시요 ******************************************************************************* input : b1(280),X1(4600),진입눌림(70),진입돌파(210),청산눌림(100),청산돌파(270),거래횟수(20); input : stop(80000),trail(230000); var : T1(0,data1),entry(0,data1); var : LL(0,data2),EH(0,data2),E1(0,data2),H1(0,data2); var : i1(0,data2),S1(0,data2),L1(0,data2); var : DH2(0,data2),DL2(0,data2); if data1(Bdate != Bdate[1]) Then T1 = TotalTrades; if data2(Bdate != Bdate[1]) Then{ E1 = 0; DH2 = data2(H); DL2 = data2(L); } if data2(H > DH2) Then DH2 = data2(H); if data2(L < DL2) Then DL2 = data2(L); if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then{ if data2(E1 == 0 and C >= DL2+PriceScale*B1 and C[1] < DL2+PriceScale*B1) Then{ E1 = 1; H1 = data2(H); i1 = data2(index); } if data2(E1 == 1 and index > i1) then{ if data2(H > H1) Then H1 = data2(H); if data2(L <= H1-PriceScale*진입눌림) Then{ E1 = 2; i1 = data2(index); S1 = H1; } } if data2(E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파) Then{ buy("b"); } } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = data2(H); E1 = 0; } if data2(H > EH) Then{ EH = data2(H); E1 = 0; } if data2(E1 == 0 and C <= EH-PriceScale*X1) Then{ E1 = 1; L1 = data2(L); i1 = data2(index); } if data2(E1 == 1 and index > i1) Then{ if data2(L < L1) Then L1 = data2(L); if data2(H >= L1+PriceScale*청산눌림) Then{ E1 = 2; I1 = data2(index); S1 = L1; } } if data2(E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파) Then{ exitlong("bx"); E1 = 0; } } } setstoploss(stop,pointstop); setstoptrailing(trail,0,pointstop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-04-12 15:56:32

안녕하세요 예스스탁입니다. input : b1(280),X1(4600),진입눌림(70),진입돌파(210),청산눌림(100),청산돌파(270),거래횟수(20); input : stop(80000),trail(230000); var : T1(0,data1),entry(0,data1),cond(False); var : LL(0,data2),EH(0,data2),E1(0,data2),H1(0,data2); var : i1(0,data2),S1(0,data2),L1(0,data2); var : DH2(0,data2),DL2(0,data2); if data1(Bdate != Bdate[1]) Then T1 = TotalTrades; if data2(Bdate != Bdate[1]) Then{ E1 = 0; DH2 = data2(H); DL2 = data2(L); } if data2(H > DH2) Then DH2 = data2(H); if data2(L < DL2) Then DL2 = data2(L); if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; COND = MarketPosition == 0 and (IsExitName("StopLoss",1) == true and BarsSinceExit(1) <= 10) or (IsExitName("StopTrailing",1) == true and BarsSinceExit(1) <= 20) or (IsExitName("bx",1) == true and BarsSinceExit(1) <= 30); if MarketPosition == 0 and entry == 0 Then { if data2(E1 == 0 and C >= DL2+PriceScale*B1 and C[1] < DL2+PriceScale*B1) Then{ E1 = 1; H1 = data2(H); i1 = data2(index); } if data2(E1 == 1 and index > i1) then{ if data2(H > H1) Then H1 = data2(H); if data2(L <= H1-PriceScale*진입눌림) Then{ E1 = 2; i1 = data2(index); S1 = H1; } } if data2(E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파) and COND == False Then{ buy("b"); } } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = data2(H); E1 = 0; } if data2(H > EH) Then{ EH = data2(H); E1 = 0; } if data2(E1 == 0 and C <= EH-PriceScale*X1) Then{ E1 = 1; L1 = data2(L); i1 = data2(index); } if data2(E1 == 1 and index > i1) Then{ if data2(L < L1) Then L1 = data2(L); if data2(H >= L1+PriceScale*청산눌림) Then{ E1 = 2; I1 = data2(index); S1 = L1; } } if data2(E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파) Then{ exitlong("bx"); E1 = 0; } } } setstoploss(stop,pointstop); setstoptrailing(trail,0,pointstop); 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 문의 > 아래는 신호가 나오는대로 진입과 청산을 반복하는 거래수식입니다. 청산 후 재진입시 일정 term을 가지고 진입하고자 합니다. 강제손절시 10봉 지나서 진입허용 트레일링스탑 강제청산시 20봉 지나서 진입허용 exlong("bx") 청산시 30봉 지나서 진입허용 위 3가지 내용을 수식에 추가하여 주십시요 ******************************************************************************* input : b1(280),X1(4600),진입눌림(70),진입돌파(210),청산눌림(100),청산돌파(270),거래횟수(20); input : stop(80000),trail(230000); var : T1(0,data1),entry(0,data1); var : LL(0,data2),EH(0,data2),E1(0,data2),H1(0,data2); var : i1(0,data2),S1(0,data2),L1(0,data2); var : DH2(0,data2),DL2(0,data2); if data1(Bdate != Bdate[1]) Then T1 = TotalTrades; if data2(Bdate != Bdate[1]) Then{ E1 = 0; DH2 = data2(H); DL2 = data2(L); } if data2(H > DH2) Then DH2 = data2(H); if data2(L < DL2) Then DL2 = data2(L); if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then{ if data2(E1 == 0 and C >= DL2+PriceScale*B1 and C[1] < DL2+PriceScale*B1) Then{ E1 = 1; H1 = data2(H); i1 = data2(index); } if data2(E1 == 1 and index > i1) then{ if data2(H > H1) Then H1 = data2(H); if data2(L <= H1-PriceScale*진입눌림) Then{ E1 = 2; i1 = data2(index); S1 = H1; } } if data2(E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파) Then{ buy("b"); } } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = data2(H); E1 = 0; } if data2(H > EH) Then{ EH = data2(H); E1 = 0; } if data2(E1 == 0 and C <= EH-PriceScale*X1) Then{ E1 = 1; L1 = data2(L); i1 = data2(index); } if data2(E1 == 1 and index > i1) Then{ if data2(L < L1) Then L1 = data2(L); if data2(H >= L1+PriceScale*청산눌림) Then{ E1 = 2; I1 = data2(index); S1 = L1; } } if data2(E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파) Then{ exitlong("bx"); E1 = 0; } } } setstoploss(stop,pointstop); setstoptrailing(trail,0,pointstop);