답변완료
확인및 수식 부탁드립니다.
안녕하세요
예스스팟을 이용하여 아래의 예스랭귀지 수식을 사용하고자 합니다.
* 아래의 기본적인 시스템수식을 예스스팟을 이용하여 실행하기 위해 아래부분을 추가한 스팟 수식을 부탁드립니다.
(1) 거래는 1계약을 기준으로 실행한다.
(2) 스팟 최초 실행후 미체결 상태가 있는경우, 미체결을 취소한다.
(3) 스팟실행후 매수포지션(잔고)이 있는 상태에서, (+15틱 이상 수익상태인 경우 즉시 청산하고 아닌경우는) 신호
가 매수 청산 신호가 발생하면 청산하고, 매수신호 또는 매도청산 신호인 경우 실행하지 않으며, 매도 신호인
경우 진입된 매수포지션을 청산하고, 새로 매도 1계약 진입한다.
(4) 3번에서 매도포지션 보유 경우도 같은 방식으로 처리한다.
(5) 진입신호시, 같은 포지션이 존재하는 경우, 추가 진입하지 않는다.(1계약)
(6) 신호발생후 미체결인 있는 경우, 30초후 1호가(유리호가) 정정주문하고, 2분후에도
미체결 상태이면 취소처리하고, 미체결에 대한 청산 또는 익절/손절 부분도 처리되지 않도록 설정한다.
(7) 진입후 익절(20틱)/손절(20틱) 청산 한다.
(8) 거래 시간을 18:00 ~ 23:00 까지로 제한
(9) 진입한 상태에서 손실 또는 수익이 증거금의 10% 이상 발생하는 경우 전량 청산 하고 당일 거래를 종료하도록 설정
항상 많은 도움에 감사드립니다.
// --------------------------------------------------------
// 시스템 수식 : GC-2060
// --------------------------------------------------------
Input : shortPeriod(5), midPeriod(20), longPeriod(60);
value1 = ma(C, shortPeriod);
value2 = ma(C, midPeriod);
value3 = ma(C, longPeriod);
# 매수
If CrossUP(value1, value2) Then
{
Buy();
}
# 매수청산
If CrossUP(value2, value3) Then
{
ExitLong();
}
# 매도
If CrossDown(value1, value2) Then
{
Sell();
}
# 매도청산
If CrossUP(value2, value3) Then
{
ExitShort();
}
// --------------------------------------------------------
감사합니다.
2019-05-29
3524
글번호 224879
답변완료
수식 수정 요청 드립니다.
안녕하세요.
당일 스팟수식 적용 후 차트에서 발생하는 첫 진입 신호로 1계약 진입, 동일방향 추가진입 보류 하고,
진입 후 첫 반대신호로 청산하게 요청 드립니다. 차트 신호 기준 입니다.
작성해주신 스팟수식을 장중 차트신호에 적용해보니 에러가 발생 하네요.
첨부파일 확인후 수정 요청 드립니다.
(진입수량은 변경 할수있도록 외부변수로 요청드립니다. 수식 주석요청 드립니다.)
감사합니다.
안녕하세요
예스스탁입니다.
당일 첫신호는 알수 없습니다.
스팟 적용이후 첫 진입신호만 주문하게 수정했습니다.
스위칭은 차트에서 청산신호와 함께 진입신호가 발생하는 신호입니다.
진입만 첫진입으로 제어하시면 됩니다.
var entry(0);
function Main_OnStart()
{
entry = 0;
}
function Chart1_OnRiseSignal(Signal)
{
if(entry == 0 && Signal.signalKind == 1)
{
entry = entry+1;
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0);
}
if (entry == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0);
}
if (entry == 0 && Signal.signalKind == 3)
{
entry = entry+1;
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0);
}
if (entry == 1 && Signal.signalKind == 4)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0);
}
}
즐거운 하루되세요
> dandy 님이 쓴 글입니다.
> 제목 : 수정요청드립니다.
> 안녕하세요.
연결선물 당일청산 차트 신호로 미니선물 진입 청산하는 아래스팟 시스템에서
연결선물 차트의 매수 매도 진입 신호가 여러번 발생하는 차트에서 당일 첫신호로
미니선물 1계약만 진입 나머지 진입신호는 진입 보류하고, 청산시호 발생시 첫신호로
진입한 미니선물 1계약 청산하고 당일 매매종료하는 스팟수식으로 수정 요청 드립니다.
연결선물 매수 첫신호로 미니선물 1계약만 매수진입(추가 매수 진입신호 진입보류)
-> 연결선물 매수청산신호 또는 매수 스위칭 반대신호 발생시 첫신호로 청산하고 당일매매종료.
연결선물 매도 첫신호로 미니선물 1계약만 매도진입(추가 매도 진입신호 진입보류)
-> 연결선물 매도청산신호 또는 매도 스위칭 반대신호 발생시 첫신호로 청산하고 당일매매종료.
(당일 첫진입신호 발생시 진입하고, 진입신호의 첫 반대신호 발생시 청산하고 당일 매매종료)
감사합니다.
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0);
}
if (Signal.signalKind == 2)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0);
}
if (Signal.signalKind == 3)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0);
}
if (Signal.signalKind == 4)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0);
}
}
2019-05-15
3730
글번호 224867