커뮤니티
보조차트
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);