답변완료
자동주문 관련
해외선물 거래를 합니다.(이베스트 투자증권)
전략 실행차트에서 자동매매를 실행을 하는데,건수를 10000바(최대가 10000바라..)에 두고, 매매를 합니다. 일반적으로 3일정도 단기 스윙트레이딩을 합니다.
매도(매수)진입--매도(매수) 청산(스위칭은 없습니다)
input : 이평1(30),이평2(60),이평3(120),이평4(240);
input : 윌리엄스R기간값(14);
input : 손절틱수(100),트레일링스탑틱수(5),목표틱수(100);
var : mav1(0),mav2(0),mav3(0),mav4(0),WR(0);
MAV1 = MA(c,이평1);
MAV2 = MA(c,이평2);
MAV3 = MA(c,이평3);
MAV4 = MA(c,이평4);
WR = WILLR(윌리엄스R기간값);
if MarketPosition == 0 and c < mav4 and CrossDown(WR, -20) Then
Sell("s");
if MarketPosition == -1 Then
{
if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*목표틱수 Then
{
if CrossUp(C,mav2) Then
ExitShort("sx");
ExitShort("str",AtStop,EntryPrice-PriceScale*트레일링스탑틱수);
}
}
SetStopLoss(PriceScale*손절틱수,PointStop);
시스템 시작시 진입은 되어 있지 않는데, 이전 신호로 청산이 되지 않아서 매도신호유지로
나오고, 24일 지표상은 매도 진입 신호(윌리암신호) 가 나왔는데도 시스템에서는
신호가 나오지도 않고, 진입주문이 되지 않네요..
시스템 설정에서 주문시작신호를 진입신호에 체크 하였습니다.
.
시스템 시작전 신호가 유지 되는 이유는 손절틱수와 목표틱수에 도달하지 못해서
입니다.
24일 이전은 시스템을 돌리지 않았습니다..
보통 자동매매를 시작을 하려고 할때 시스템 상의 신호가 매도진입신호가 유지되고 있고
(실제 계좌에는 진입이 되어 있지 않고, 이전은 하지 않음), 청산신호가 나오지 않고 있는 경우는 현재 지표상 매도 진입 신호가 나와도 진입을 하지 않나요?
만약에 안된다면 어떻게 해야 되나요?
즉, 제가 원하는 것은 언제 시작을 하던지 시스템을 전략실행차트에 적용을 하는 순간부터
시스템 시작전 신호는 무시하고,진입과청산이 적용이 되기를 원하는 것입니다..
(스윙트레이딩이라 바수를 작게 할수는 없습니다)
* 전략실행차트에 나오지 않으면은 시스템이 적용이 되지 않나요?
(보통 장기이평을 사용을 하는데, 건수를 적게하면 나타나지 않습니다)
* 진입이 되어 있는 상태에서 목표수익과 손절틱수를 변경을 하거나 진입 조건(기간값)을
변경을 하면은 변경조건으로 청산 후 변경된 진입 조건으로 진입이 되나요?
* 시장 상황이 변하면 시스템을 변경을 하는데, 시스템을 시작하기전 신호때문에
진입이 안된다면은 좀 문제가 있을거 같은데, 꼭 해결방안을 알려주시기 바랍니다.
(예스 스팟이 아닌 예스 트레이더(예스랭귀지)에서 해결을 할 수 있는 방안을 알려주시면 감사하겠습니다)
2,해외선물은 만기일이 있는데, 만기일에 수동으로 청산을 하고, 시작일에 차월물로
수동으로 진입을 할 경우 위의 시스템으로 자동으로 청산을 하는 수식 좀 부탁드립니다.
수고하세요.
2023-04-25
1379
글번호 168457
시스템
답변완료
도움부탁드립니다
안녕하세요.
수식1:M1=ma(가격,period1,종류);
M2=ma(가격,period2,종류);
d1=Crossup(M1,M2);
d2=Crossdown(M1,M2);
Valuewhen(1,date>=날짜 and (d1 or d2),M2)
조건설정:가격(종가)
period1(5)
period2(20)
날짜:매일변경 가능하도록.
라인색상:노랑색
라인굵기:병경가능하도록.
period1(5) 라인과period(20)라인 골드크로스,데드크로스 일때 각각 점으로 표시가능한요.
가능하시면 점 크기변경 가능하도록
부탁드립니다.
2023-04-24
1174
글번호 168456
지표
답변완료
문의 드립니다!
안녕하세요!
아래수식은 제가 현재 옵션챠트에서 사용중인 수식인데요
*data1은 콜 data2는 풋으로 설정하여 조건 만족시 세로선 발생
이 수식을 수정하여 아래와같이 국선챠트에서 활용해보고자 합니다
1, data1(기본챠트)는 국선1분봉, data2,3(참조챠트)는 각각 콜 풋을 설정
2, data2, 3에 수식을 적용하여 조건 만족시 data1에서 가로선 발생
1) 이 가로선이 기존 data1,2의 고가 저가선(4개선)모두가 아닌 조건이 만족되는 해당선 1개만 N봉전
(예: 10봉전)에 미리 발생
*** 여기서 n봉전이라함은 이 가로선이 발생되는 시점을 말하고 가로선 자체는 n봉전을 적용하지않은 원래의 자리에서 발생
2) 즉, 기존수식에서 세로선이 나오는 같은 위치에 위 조건1)의 가로선이 n봉전에 미리 발생되었으면하는것입니다
*** 가로선의 두께와 색상도 사용자설정이 가능토록 부탁드립니다
3, 만약에 위수식이 불가하고, 현재대로 옵션챠트에서 data1, 2를 콜풋으로 설정할경우에 가능하다면 이것으로라도 부탁드리겠습니다
도움에 항상 감사드립니다!!!
----------------------------------------------------
input : 굵기1(5),굵기2(5),굵기3(5),굵기4(5);
var : cond11(false,data1),cond21(false,data1);
var : cond12(false,data1),cond22(false,data1);
var : TL1(0,Data1),TL2(0,Data1),TL3(0,Data1),TL4(0,Data1);
plot1(data1(highD(0)),"data1고가");
plot2(data1(LowD(0)),"data1저가");
plot3(data2(highD(0)),"data2고가");
plot4(data2(LowD(0)),"data2저가");
cond11 = data2(highD(0)) >= data1(highD(0)-PriceScale*1);
cond21 = data1(lowD(0)) <= data2(lowD(0)+PriceScale*1);
cond11 = data1(highD(0)) >= data2(highD(0)-PriceScale*1);
cond21 = data2(lowD(0)) <= data1(lowD(0)+PriceScale*1);
if sTime >= 90300 and Cond11 == true and cond11[1] == false Then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
TL1 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL1,White);
TL_SetSize(TL1,굵기1);
}
if sTime >= 90300 and Cond21 == true and cond21[1] == false Then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
TL2 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL2,black);
TL_SetSize(TL2,굵기2);
}
cond12 = data2(LowD(0)) <= data1(lowD(0)+PriceScale*1);
cond22 = data1(highD(0)) >= data2(highD(0)-PriceScale*1);
cond12 = data1(LowD(0)) <= data2(lowD(0)+PriceScale*1);
cond22 = data2(highD(0)) >= data1(highD(0)-PriceScale*1);
if sTime >= 90300 and Cond12 == true and cond12[1] == false Then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
TL3 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL3,White);
TL_SetSize(TL3,굵기3);
}
if sTime >= 90300 and Cond22 == true and cond22[1] == false Then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
TL4 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL4,black);
TL_SetSize(TL4,굵기4);
}
2023-04-24
1009
글번호 168455
지표
답변완료
81809 재질문
안녕하세요.
아래와 같이 작성해주셨었는데.
if entry1 == False and (CrossUp(line1, line2) or CrossDown(line1, line2)) Then
여기서 crossup과 crossdown에 상관없이 시작시간인 213000에 무조건 진입하네요.
그리고 마지막의 청산시 entry1과 entry2를 False로 만드는 과정도 잘 안먹히는지 한번 진입/청산 후 종료가 됩니다.
해결 부탁드리겠습니다.
input : 익절틱수(100),손절틱수(50), 진입틱수(50);
input : tr_onoff(1),최소수익(50),감소수익(50);
var : line1(0),line2(0);
var : entry1(False),entry2(False);
input : StartTime(213000),EndTime(055000);
var : Tcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
line1 = (H+L)/2;
line2 = ma(C,60);
if entry1 == False and (CrossUp(line1, line2) or CrossDown(line1, line2)) Then
{
var1 = line1;
entry1= True;
}
if entry1 == True and entry2 == False and c> var1 + 진입틱수*PriceScale and Tcond == true Then
{
Buy("b");
entry2 = True;
}
if entry1 == True and entry2 == False and c < var1 - 진입틱수*PriceScale and Tcond == true Then
{
Sell("s");
entry2 = True;
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
if tr_onoff == 1 Then
SetStopTrailing(PriceScale*감소수익,PriceScale*최소수익,PointStop);
if TotalTrades > TotalTrades[1] Then
{
entry1 == False;
entry2 == False;
}
2023-04-24
993
글번호 168454
시스템
답변완료
추가진입상황에서 BarsSinceEntry 함수 쓰기
안녕하세요,
BarsSinceEntry를 이용해 추가진입의 간격을 특정 구간으로 벌리려고 하는데, 작동이 되지 않아 문의드립니다. 스크립트에 문제 있는지 확인 부탁드립니다.
If COND == 1 AND MarketPosition > 0 AND BarsSinceEntry(0) > n Then
{
If COND2 == 1 AND CountIf(Ind > Ind [1], 2) == 2 Then
{
Buy("B4", OnClose, Def, 1);
}
...
}
2023-04-24
695
글번호 168441
시스템