답변완료
문의드립니다.
82144번 문의한 내용인데 적용해 보니 추가할게 있어 다시 문의 드립니다.
1. 청산은 2종목 시가와의 현재가의 간격이 30틱이상 벌어졌다가 2종목간 간격이
10틱 이하로 줄어들면 모두 동시 청산되게 부탁드립니다.
==> 여기에 추가로 "100틱 이상" 간격이 벌어졌을 경우는 2종목간 간격이 20틱 이하로 줄어들면 청산, "200틱 이상" 간격이 벌어졌을 경우는 2종목간 간격이 30틱 이하로 줄어들면 청산되는 수식을 추가로 부탁드립니다.
2. 새벽 5시가 되어도 청산조건이 만족안되 청산이 안된다면 모두 강제청산되길 원합니다.
=> 청산식을 써도 05시에 청산이 안됩니다. 한번 봐주시겠습니까? 23시 59분 59초까지는 적용이 됩니다.
-------------------------------------------------------------------------------
1
차트에서는 기본차트 1종목만 신호와 주문기 가능합니다.
참조데이타에는 신호와 주문이 가능하지 않습니다.
2
문의하신 내용을 구현하시려면 차트를 2개 만들어 사용하셔야 합니다.
1번차트 기본차트 엔달러 참조데이타 호주달러
2번차트 기본차트 호주달러 참조데이타 엔달러
3
2개 차트 적용하는 수식 내용은 동일합니다.
var : O1(0,Data1),O2(0,Data2);
var : T1(0,Data1),T2(0,Data2);
if Data1(sDate != sDate[1]) Then
SetStopEndofday(050000);
if Data1(Bdate != Bdate[1]) Then
{
SetStopEndofday(0);
O1 = Data1(O);
}
if Data2(Bdate != Bdate[1]) Then
O2 = Data2(O);
T1 = Data1((C-O1)/PriceScale);
T2 = Data2((C-O2)/PriceScale);
if Data1(sTime >= 120000 and sTime <= 230000) Then
{
if (T1 >= 50 or T2 >= 50) and T1 > 0 and T2 > 0 and abs(T1-T2) >= 30 Then
{
if t1 > t2 Then
Sell("s1",OnClose,Def,3);
if t1 < t2 Then
Buy("b1",OnClose,Def,2);
}
if (T1 <= -50 or T2 <= -50) and T1 < 0 and T2 < 0 and abs(T1-T2) >= 30 Then
{
if t1 < t2 Then
Buy("b2",OnClose,Def,3);
if t1 < t2 Then
Sell("s2",OnClose,Def,2);
}
}
if MarketPosition != 0 and abs(T1-T2) <= 10 Then
{
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
즐거운 하루되세요
> 카르마다 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 수고많으십니다.
만들다가 능력의 한계를 느끼고 요청 드립니다.
엔달러를 메인으로하고 호주달러를 참고종목으로 추가한 상태에서
12시부터 23시 사이로 한정된 시간에서 2종목중 1종목이 시가에서 50틱이상 상승하고(and), 2종목간의 시가와 현재가의 틱수차이가 30틱이상 날 때(예를들어, 시가기준으로 호주달러가 80틱, 엔달러가 50틱 오른 경우) 더 상승한 쪽은 3개 매도, 덜 상승한 쪽은 2개 매수가 동시에 되는 매매식을 구합니다. (해당시간내 해당조건이 안맞으면 매매없습니다)
시가에서 1종목이 50틱 이상 하락한 반대의 경우에도 마찬가지로 적용되었으면 합니다.
청산은 2종목 시가와의 현재가의 간격이 30틱이상 벌어졌다가 2종목간 간격이 10틱이하로 줄어들면 모두 동시 청산되게 부탁드립니다.
만일 새벽 5시가 되어도 청산조건이 만족안되 청산이 안된다면 모두 강제청산되길 원합니다.
----------------------------------------------------------------------------------------
미리 노고에 감사드립니다.
2023-05-23
1186
글번호 169206
시스템
답변완료
해결 방법이 무엇일까요?
input : 배분1(0.236),배분2(1.02);
var : 중최고가(0),중최저가(0);
var : 경계(0),경계1(False),경계2(False);
var : 기준봉(0),기준봉1(False),기준봉2(False);
var : 결과기준(0),결과기준1(False),결과기준2(False);
var : 평균(0),평균라인(0),a(0);
중최고가=highest(h,20);
중최저가=lowest(l,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1;
경계1=crossup(c, 경계)&& c>o*배분2;
경계2=crossdown(c, 경계);
if 경계1 or 경계2 Then
기준봉 = O;
기준봉1=crossup(c, 기준봉);
기준봉2=crossdown(c, 기준봉);
if 기준봉1 or 기준봉2 Then
결과기준=o;
결과기준1=crossup(c, 결과기준);
결과기준2=crossdown(c, 결과기준);
if 결과기준1 or 결과기준2 Then
A=o;
if CrossUp(c,A) Then
Find(1);
즐거운 하루되세요
> 볼라레 님이 쓴 글입니다.
> 제목 : 수식 변경 부탁드립니다
> 안녕하세요
키움수식입니다
예스수식으로 변경 부탁드립니다
행복한 하루 되세요
매수 라인
중최고가=최고값(고가,20);
중최저가=최저값(저가,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1;
경계1=crossup(종가, 경계)&& 종가>시가*배분2;
경계2=crossdown(c, 경계);
기준봉=valuewhen(1, 경계1 or 경계2, 시가);
기준봉1=crossup(종가, 기준봉);
기준봉2=crossdown(종가, 기준봉);
결과기준=valuewhen(1, 기준봉1 or 기준봉2, 시가);
결과기준1=crossup(종가, 결과기준);
결과기준2=crossdown(종가, 결과기준);
valuewhen(1, 결과기준1 or 결과기준2, 시가)
답변에 감사드립니다
답변 주신 수식을 작성하면
줄수-30, 열-7에 'Find'는 종목검색에서만 쓸 수 있습니다 라고 나옵니다
해결 방법이 무엇일까요
부탁드립니다
2023-05-22
1255
글번호 169203
지표