답변완료
포지션 스위칭할 때 증거금 부족현상
포지션 스위칭 할때, 증거금이 모자라서 보유 포지션 청산만 되고, 신규 포지션 진입은 이뤄지지 않는 현상은 어떻게 해결해야 하나요?
예를 들어, 증거금 약 2만 달러를 넣어두고, 나스닥 선물 매도 포지션 1계약을 진입해서 가지고 있는데,
매수 시그널 확정됨과 동시에 매도포지션 청산과 매수포지션 진입을 동시에 이뤄지게 세팅을 해놨을 경우,
매도포지션 청산은 되지만, 매수포지션 진입은 증거금 부족으로 이뤄지질 않습니다.
단순하게 증거금을 많이 넣어두면 되겠지만,
시스템 설정으로도 가능할 것 같아서 여쭤봅니다.
2020-09-17
1033
글번호 142454
시스템
답변완료
부탁드립니다
$,아래식에서 현재가가 plot5,plot6 라인 터치시 경보음 추가 부탁드립니다
input : Per1(18),Per2(38),Per3(55),per4(76),per5(100);
Var :Gap(0), pivot(0),S1(0),S2(1),S3(1),S4(1),S5(0),S6(0),S7(0);
Gap = dayopen(0)-DayClose(1);
S1 = (dayhigh(0)+daylow(0))/2;
S2 = (dayhigh(1)+daylow(1))/2;
S3 = dayhigh(1)+Gap;
S4 = daylow(1)+Gap;
S5 = DayClose(1)+Gap;
S6 = ((DayOpen(0)+DayHigh(0)+DayLow(0))/3);
S7 = DayOpen(0);
var1 =10^(LOG10(S5)+(LOG10(S3)-LOG10(S4))*(Per1/100));
var2 =10^(LOG10(S5)-(LOG10(S3)-LOG10(S4))*(Per1/100));
var3 =10^(LOG10(S5)+(LOG10(S3)-LOG10(S4))*(Per2/100));
var4 =10^(LOG10(S5)-(LOG10(S3)-LOG10(S4))*(Per2/100));
var5 =10^(LOG10(S5)+(LOG10(S3)-LOG10(S4))*(Per3/100));
var6 =10^(LOG10(S5)-(LOG10(S3)-LOG10(S4))*(Per3/100));
var7 =10^(LOG10(S5)+(LOG10(S3)-LOG10(S4))*(Per4/100));
var8 =10^(LOG10(S5)-(LOG10(S3)-LOG10(S4))*(Per4/100));
var9 =10^(LOG10(S5)+(LOG10(S3)-LOG10(S4))*(Per5/100));
var10 =10^(LOG10(S5)-(LOG10(S3)-LOG10(S4))*(Per5/100));
plot1(var1);
plot2(var2);
plot3(var3);
plot4(var4);
plot5(var5);
plot6(var6);
plot7(var7);
plot8(var8);
plot9(var9);
plot10(var10);
2020-09-16
893
글번호 142451
지표
답변완료
문의드립니다.
안녕하세요.
아래 두 수식은 영웅문에서 사용하던 수식입니다.
두 수식을 예스트레이더 차트에 적용할 수 있도록 수식 변형 부탁드립니다.
항상 감사드립니다.
=================================
1)
valuewhen(1,crossup(avg(c,5),avg(c,20)),avg(c,prd));
prd: 외부변수
--------------
2)
수식1
t1=tema(c,21);
t1
수식2
IF(C >T1,T1,0)
​
수식3
IF(C <T1,T1,0)
2020-09-16
1061
글번호 142450
지표
답변완료
문의2
아래수식은 주차트에 사용하는 sell 수식입니다.
1. 보조차트2와 보조차트3을 이용해서 양합을 구합니다.
var : sum(0,Data1);
sum = Data2(c)+data3(c);
2. 구한 양합을 아래 수식에 따라 진입과 청산에 사용하고 싶습니다.
**********************************************************************************
input : d1(28),d2(28),X1(28),X2(28),ER(8),EF(8),CR(8),CF(8),거래횟수(20),시작시간(090000);
var : T1(0),entry(0),HH(0),LL(0),EH(0),EL(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;
HH = H;
}
if stime >= 시작시간 then{
if H > HH Then
HH = H;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 Then{
if E1 == 0 and C <= HH-PriceScale*d1 and C[1] < HH-PriceScale*d1 Then{
E1 = 1;
L1 = L;
i1 = index;
V1 = HH; //시작점 종가
}
if E1 == 1 and index > i1 then{
if L < L1 Then
L1 = L;
#고가가 시작봉종가보다 작을 때만 눌림체크
if H <= V1 and H >= L1+PriceScale*ER Then{
E1 = 2;
i1 = index;
S1 = L1;
}
}
//시작점 종가보다 높은 가격이 발생하면 초기화
if E1 >= 1 and H > V1 Then{
E1 = 0;
HH = H;
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*EF Then{
sell("s1");
}
}
if TotalTrades > TotalTrades[1] Then{
E1 = 0;
HH = H;
}
if H > HH Then
HH = H;
if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{
if E1 == 0 and C <= HH-PriceScale*d2 and C[1] < HH-PriceScale*d2 Then{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 then{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*ER Then{
E1 = 2;
i1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*EF Then{
sell("s2");
E1 = 0;
}
}
if MarketPosition == -1 Then{
if entry >= 1 then{
if CurrentContracts > CurrentContracts[1] Then{
EL = L;
E1 = 0;
}
if L < EL Then{
EL = L;
E1 = 0;
}
if E1 == 0 and C >= EL+PriceScale*X1 Then{
E1 = 1;
H1 = H;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if H > H1 Then
H1 = H;
if L <= H1-PriceScale*CR Then{
E1 = 2;
I1 = index;
S1 = H1;
}
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*CF Then{
ExitShort("sx1");
E1 = 0;
}
}
}
if MarketPosition == -1 Then{
if entry >= 1 then{
if CurrentContracts > CurrentContracts[1] Then{
EL = L;
E1 = 0;
}
if L < EL Then{
EL = L;
E1 = 0;
}
if E1 == 0 and C >= EL+PriceScale*X2 Then{
E1 = 1;
H1 = H;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if H > H1 Then
H1 = H;
if L <= H1-PriceScale*CR Then{
E1 = 2;
I1 = index;
S1 = H1;
}
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*CF Then{
ExitShort("sx2");
E1 = 0;
}
}
}
}
2020-09-16
946
글번호 142430
시스템
답변완료
문의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;
}
}
}
}
2020-09-16
910
글번호 142428
시스템
답변완료
수정 부탁드립니다.
안녕하세요?
아래 수식에서 두가지 수정할 부분이 있어서 부탁드립니다.
1) 봉완성전에 매매가이루어지는지는 잘 모르겠으나, 현재는 설정한 기준선에 딱맞춰서
거래가 이루어지고 있습니다.
--> 기준선에서 한틱큰 양봉에 매수진입, 기준선에서 한틱큰 음봉에 매도진입
이 되게 하고싶습니다.
2) 매수진입을하면 사자말자 바로 청산이되고, 곧바로 매도진입이 되고 있습니다.
매도진입을하게되면 진입후 그러진않습니다.
부탁드립니다.
감사합니다.
input : 기준선(0.15),n(3);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
var1 = C%1;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if entry < n Then
{
if MarketPosition == 0 and var1 == 기준선 then
Buy();
if MarketPosition == 0 and var1 == 기준선 then
Sell();
}
input : 익절틱수(50),손절틱수(50);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2020-09-16
899
글번호 142427
시스템