커뮤니티

보조차트

프로필 이미지
좌오비우오비
2017-07-26 15:01:13
99
글번호 111584
답변완료
아래 2가지 수식을 보조차트 이용으로 수정 바랍니다. 항상 고맙습니다. 1. buy input : b1(20),b2(20),X1(20),X2(20),진입시간(090000); var : T1(0),entry(0),LL(0),EH(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = H; if H > EH Then EH = H; if entry == 1 and C <= EH-PriceScale*X1 Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = L; if L < LL Then LL = L; if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then buy("b2"); if MarketPosition== 1 and entry == 2 Then exitlong("bx2",AtStop,EntryPrice-PriceScale*X2); 2. sell input : s1(11),s2(13),X1(13),X2(13),진입시간(090000); var : T1(0),entry(0),HH(0),EL(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C <= DayHigh-PriceScale*s1 and C[1] > DayHigh-PriceScale*s1 Then sell("s1"); if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = L; if L < EL Then EL = L; if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then ExitShort("sx1"); } if TotalTrades > TotalTrades[1] Then HH = H; if H > HH Then HH = H; if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C <= HH-PriceScale*s2 and C[1] > HH-PriceScale*s2 Then sell("s2"); if MarketPosition== -1 and entry == 2 Then ExitShort("sx2",AtStop,EntryPrice+PriceScale*X2);
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2017-07-27 11:52:08

안녕하세요 예스스탁입니다. data2를 이용하게 되면 atstop등은 사용할수 없습니다. atstop은 기본차트와 현재가와 셋팅된 값을 비교합니다. data2는 onclose조건으로 모두 변경해야만 합니다 이용에 참고하시기 바랍니다. 1. input : b1(20),b2(20),X1(20),X2(20),진입시간(090000); var : T1(0,data1),entry(0,data1),LL(0,data2),EH(0,data2),C2(0,data1); C2 = data2(C); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and data2(stime >= 진입시간 and C >= lowD(0)+PriceScale*B1 and C[1] < lowD(0)+PriceScale*B1) Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = data2(H); if data2(H) > EH Then EH = data2(H); if entry == 1 and data2(C <= EH-PriceScale*X1) Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = data2(L); if data2(L) < LL Then LL = data2(L); if MarketPosition == 0 and entry == 1 and data2(stime >= 진입시간 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2) Then buy("b2"); if MarketPosition== 1 and entry == 2 and data2(L) <= C2[BarsSinceEntry]-data2(PriceScale*X2) Then exitlong("bx2"); 2 input : s1(11),s2(13),X1(13),X2(13),진입시간(090000); var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1); C2 = data2(c); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and data2(stime >= 진입시간 and C <= HighD(0)-PriceScale*s1 and C[1] > HighD(0)-PriceScale*s1) Then sell("s1"); if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = data2(L); if data2(L) < EL Then EL = data2(L); if entry == 1 and MarketPosition == -1 and data2(C >= EL+PriceScale*X1) Then ExitShort("sx1"); } if TotalTrades > TotalTrades[1] Then HH = data2(H); if data2(H) > HH Then HH = data2(H); if MarketPosition == 0 and entry == 1 and data2(stime >= 진입시간 and C <= HH-PriceScale*s2 and C[1] > HH-PriceScale*s2) Then sell("s2"); if MarketPosition== -1 and entry == 2 and data2(H) >= C2[BarsSinceEntry]+data2(PriceScale*X2) Then ExitShort("sx2"); 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 보조차트 > 아래 2가지 수식을 보조차트 이용으로 수정 바랍니다. 항상 고맙습니다. 1. buy input : b1(20),b2(20),X1(20),X2(20),진입시간(090000); var : T1(0),entry(0),LL(0),EH(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = H; if H > EH Then EH = H; if entry == 1 and C <= EH-PriceScale*X1 Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = L; if L < LL Then LL = L; if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then buy("b2"); if MarketPosition== 1 and entry == 2 Then exitlong("bx2",AtStop,EntryPrice-PriceScale*X2); 2. sell input : s1(11),s2(13),X1(13),X2(13),진입시간(090000); var : T1(0),entry(0),HH(0),EL(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C <= DayHigh-PriceScale*s1 and C[1] > DayHigh-PriceScale*s1 Then sell("s1"); if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = L; if L < EL Then EL = L; if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then ExitShort("sx1"); } if TotalTrades > TotalTrades[1] Then HH = H; if H > HH Then HH = H; if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C <= HH-PriceScale*s2 and C[1] > HH-PriceScale*s2 Then sell("s2"); if MarketPosition== -1 and entry == 2 Then ExitShort("sx2",AtStop,EntryPrice+PriceScale*X2);
프로필 이미지

좌오비우오비

2017-07-28 10:55:32

at stop 청산에 대해 질문이 있습니다. 수정 전 수식의 at stop 발생은 2번째 진입 후 청산에 해당합니다. 변수조절창의 강제청산의 조건만족시를 체크하고 손절,익절,트레일링스탑 등 해당항목들을 체크하면 조건만족 시 청산되는데요. 청산 수식 at stop 함수만으로도 봉완성전에 청산이 되나요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 보조차트 > 안녕하세요 예스스탁입니다. data2를 이용하게 되면 atstop등은 사용할수 없습니다. atstop은 기본차트와 현재가와 셋팅된 값을 비교합니다. data2는 onclose조건으로 모두 변경해야만 합니다 이용에 참고하시기 바랍니다. 1. input : b1(20),b2(20),X1(20),X2(20),진입시간(090000); var : T1(0,data1),entry(0,data1),LL(0,data2),EH(0,data2),C2(0,data1); C2 = data2(C); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and data2(stime >= 진입시간 and C >= lowD(0)+PriceScale*B1 and C[1] < lowD(0)+PriceScale*B1) Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = data2(H); if data2(H) > EH Then EH = data2(H); if entry == 1 and data2(C <= EH-PriceScale*X1) Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = data2(L); if data2(L) < LL Then LL = data2(L); if MarketPosition == 0 and entry == 1 and data2(stime >= 진입시간 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2) Then buy("b2"); if MarketPosition== 1 and entry == 2 and data2(L) <= C2[BarsSinceEntry]-data2(PriceScale*X2) Then exitlong("bx2"); 2 input : s1(11),s2(13),X1(13),X2(13),진입시간(090000); var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1); C2 = data2(c); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and data2(stime >= 진입시간 and C <= HighD(0)-PriceScale*s1 and C[1] > HighD(0)-PriceScale*s1) Then sell("s1"); if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = data2(L); if data2(L) < EL Then EL = data2(L); if entry == 1 and MarketPosition == -1 and data2(C >= EL+PriceScale*X1) Then ExitShort("sx1"); } if TotalTrades > TotalTrades[1] Then HH = data2(H); if data2(H) > HH Then HH = data2(H); if MarketPosition == 0 and entry == 1 and data2(stime >= 진입시간 and C <= HH-PriceScale*s2 and C[1] > HH-PriceScale*s2) Then sell("s2"); if MarketPosition== -1 and entry == 2 and data2(H) >= C2[BarsSinceEntry]+data2(PriceScale*X2) Then ExitShort("sx2"); 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 보조차트 > 아래 2가지 수식을 보조차트 이용으로 수정 바랍니다. 항상 고맙습니다. 1. buy input : b1(20),b2(20),X1(20),X2(20),진입시간(090000); var : T1(0),entry(0),LL(0),EH(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = H; if H > EH Then EH = H; if entry == 1 and C <= EH-PriceScale*X1 Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = L; if L < LL Then LL = L; if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then buy("b2"); if MarketPosition== 1 and entry == 2 Then exitlong("bx2",AtStop,EntryPrice-PriceScale*X2); 2. sell input : s1(11),s2(13),X1(13),X2(13),진입시간(090000); var : T1(0),entry(0),HH(0),EL(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C <= DayHigh-PriceScale*s1 and C[1] > DayHigh-PriceScale*s1 Then sell("s1"); if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = L; if L < EL Then EL = L; if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then ExitShort("sx1"); } if TotalTrades > TotalTrades[1] Then HH = H; if H > HH Then HH = H; if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C <= HH-PriceScale*s2 and C[1] > HH-PriceScale*s2 Then sell("s2"); if MarketPosition== -1 and entry == 2 Then ExitShort("sx2",AtStop,EntryPrice+PriceScale*X2);