수동 진입후 초기손절과 트레일링스탑만 적용하려합니다.예스스팟에서는 가능하다고 하던데 방법을 알려주세요. 그리고 초기손절값을 틱으로 설정하는방법도요.시스템설정차에서 초기손절은 설정하다보니 랭귀지에서 별도로 작성해야하는것 같아서요
답변 1
예스스탁
예스스탁 답변
2015-02-05 20:35:37
안녕하세요
예스스탁입니다.
예스스팟은 저희쪽에서 가이드 정도의 수식만 제공해 드립니다.
아래 수식과 수식의 주석문 참고하셔서 수정/보완해 사용하시기 바랍니다.
해당 부분은 주문이후의 동작들이므로 저희쪽에서 테스트를 해드릴수 없고
사용자분이 실제 테스트 하시면서 식을 완성해 가셔야 합니다.
스크립트 객체화면 설정
계좌객체 추가 --> 속성에서 계좌지정
수식내 게시판 금칙어가 있습니다.
영문 업데이트가 Up*date로 작성이 되어 있으므로
별표 제거하시기 바랍니다.
var Rcv = 0;
var Item = [];
var EP = [];
function Main_OnStart()
{
Rcv = 0;
}
//계좌에 변동이 생김
function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)//*제거
{
//잔고에 새로운 종목편입
if (sAccntNum ==Account1.number && lUp*dateID == 30001) //*제거
{
//편입된 종목의 진입가와 최고가를 구할 기초값 저장 후 종목객체 요청
Account1.SetBalance(sItemCode, 0);
if (Account1.Balance.count)
{
EP[Rcv] = Account1.Balance.avgUnitCost;
HH[Rcv] = Account1.Balance.avgUnitCost;
Main.ReqMarketData(sItemCode, 0,0);
}
}
}
//종목객체 수신
function Main_OnRcvMarketData(MarketData)
{
Item[Rcv] = MarketData;
Rcv = Rcv+1;
}
//시세변
function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거
{
if (lUp*dateID == 20001)//*제거
{
for(var i = 0; i < Item.length ; i++)
{
if (Item[i].code == sItemCode)
{
//잔고편입 이후의 최고가 계산
if (Item[i].current > HH)
{
HH = Item[i].current;
}
//최고가가 진입단가 대비 +10% 이상이고
//현재가가 진입단대 대비 +5% 이하이면 매도
if (HH >= EP[i]*1.10 && Item[i].current <= HH[i]*1.05)
{
Account1.SetBalance(Item[i].code, 0);
if (Account1.Balance.count > 0)
{
Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,Item[i].Ask(5),0);
Main.RemoveMarketData(Item[i]);
}
}
//현재가가 진입가 대비 10틱 이하이면 매도
if (Item[i].current <= EH[i]-Item[i].GetTickSize()*10)
{
Account1.SetBalance(Item[i].code, 0);
if (Account1.Balance.count > 0)
{
Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,Item[i].Ask(5),0);
Main.RemoveMarketData(Item[i]);
}
}
}
}
}
}
수동주문후 손절및 트레일링스탑은
주문화면중 스탑주문창에서 설정해서 사용하실 수 있습니다.
아래 스탑주문화면 도움을 참고하시기 바랍니다.
http://www.yesstock.com/YesTrader/Manual/YesTrader4.0Help/Stop_Order.htm
즐거운 하루되세요
> inno33 님이 쓴 글입니다.
> 제목 : 수동진입후 트레일링스탑 적용하기
> 수동 진입후 초기손절과 트레일링스탑만 적용하려합니다.예스스팟에서는 가능하다고 하던데 방법을 알려주세요. 그리고 초기손절값을 틱으로 설정하는방법도요.시스템설정차에서 초기손절은 설정하다보니 랭귀지에서 별도로 작성해야하는것 같아서요