예스스탁
예스스탁 답변
2024-08-22 15:32:44.0
안녕하세요
예스스탁입니다.
아래내용 참고하시기 바랍니다.
영문 업데이트가 게시판 금칙어라 중간에 *이 추가되어 있습니다.
제거하고 사용하시기 바랍니다.
1
var T,C1,C2,AA;
var BID,BNUM;
function Main_OnStart()
{
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
if (lUp*dateID == 20001)//*제거
{
C2 = C1;
C1 = MarketData1.current
if (T == 0 && C2 > 0 && C1 <= 1.0 && MarketData1.time < 1515000000)
{
T = 1;
}
if (T == 1 && C2 > 0 && C1 >= 1.01 && C2 < 1.01 && MarketData1.time < 1515000000)
{
T = 2;
BID = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(5), 0);
}
if (T == 4 && AA > 0)
{
if (C1 >= AA+1.0 || C1 <= AA-0.5 || MarketData1.time >= 1515000000)
{
T = -1;
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(5), 0);
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BID)
{
T = 3;
BNUM = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (NotifyFill.orderNum == BNUM)
{
T = 4;
AA = NotifyFill.fillPrice;
}
}
2
var T,C1,C2,AA;
var BID,BNUM;
function Main_OnStart()
{
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
if (lUp*dateID == 20001)//*제거
{
C2 = C1;
C1 = MarketData1.current
if (T == 0 && C2 > 0 && C1 >= 1.5 && MarketData1.time < 1515000000)
{
T = 1;
}
if (T == 1 && C2 > 0 && C1 <= 1.0 && MarketData1.time < 1515000000)
{
T = 2;
}
if (T == 2 && C2 > 0 && C1 >= 1.01 && C2 < 1.01 && MarketData1.time < 1515000000)
{
T = 3;
BID = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(5), 0);
}
if (T == 5 && AA > 0)
{
if (C1 >= AA+1.0 || C1 <= AA-0.5 || MarketData1.time >= 1515000000)
{
T = -1;
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(5), 0);
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (T == 3 && OrderResponse.orderID == BID)
{
T = 4;
BNUM = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (T == 4 && NotifyFill.orderNum == BNUM)
{
T = 5;
AA = NotifyFill.fillPrice;
}
}
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : MarketData1 지정
> MarketData1에 옵션종목 1개를 선정하여 진입하는 수식입니다.
요청수식 1.
시작 084500
우선순위 1 : 가격이 1.00 보다 작아지고
우선순위 2 : 가격이 1.01 보다 커지면
매수 1계약 지정가 상대5호가
익절 1.00, 손절 0.50
1번 진입하고 1번 청산하면 추가 진입금지
endofday 151500
주의점 : 계좌에는 다른 전략의 미결제들도 있으므로 그것들과 구별하여 청산함.
요청수식 2.
시작 084500
우선순위 1 : 가격이 1.50 보다 커지고
우선순위 2 : 가격이 1.00 보다 작아지고
우선순위 3 : 가격이 1.01 보다 커지면
매수 1계약 지정가 상대5호가
익절 1.00, 손절 0.50
1번 진입하고 1번 청산하면 추가 진입금지
endofday 151500
주의점 : 계좌에는 다른 전략의 미결제들도 있으므로 그것들과 구별하여 청산함.
수식 부탁드립니다.
좌오비우오비
2024-08-23 14:40:55.0
답변 고맙습니다.
시작시간설정이 없는데 시간을 설정하면 그때부터 계산하는 방식을 원합니다.
예를 들어
084500 설정이면 그 때부터 가격 down up(1번 수식), up down up(2번 수식)을 계산했으면 합니다.
103000 설정이면 그 때부터 가격 down up(1번 수식), up down up(2번 수식)을 계산했으면 합니다.
항상 고맙습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : MarketData1 지정
>
안녕하세요
예스스탁입니다.
아래내용 참고하시기 바랍니다.
영문 업데이트가 게시판 금칙어라 중간에 *이 추가되어 있습니다.
제거하고 사용하시기 바랍니다.
1
var T,C1,C2,AA;
var BID,BNUM;
function Main_OnStart()
{
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
if (lUp*dateID == 20001)//*제거
{
C2 = C1;
C1 = MarketData1.current
if (T == 0 && C2 > 0 && C1 <= 1.0 && MarketData1.time < 1515000000)
{
T = 1;
}
if (T == 1 && C2 > 0 && C1 >= 1.01 && C2 < 1.01 && MarketData1.time < 1515000000)
{
T = 2;
BID = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(5), 0);
}
if (T == 4 && AA > 0)
{
if (C1 >= AA+1.0 || C1 <= AA-0.5 || MarketData1.time >= 1515000000)
{
T = -1;
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(5), 0);
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BID)
{
T = 3;
BNUM = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (NotifyFill.orderNum == BNUM)
{
T = 4;
AA = NotifyFill.fillPrice;
}
}
2
var T,C1,C2,AA;
var BID,BNUM;
function Main_OnStart()
{
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
if (lUp*dateID == 20001)//*제거
{
C2 = C1;
C1 = MarketData1.current
if (T == 0 && C2 > 0 && C1 >= 1.5 && MarketData1.time < 1515000000)
{
T = 1;
}
if (T == 1 && C2 > 0 && C1 <= 1.0 && MarketData1.time < 1515000000)
{
T = 2;
}
if (T == 2 && C2 > 0 && C1 >= 1.01 && C2 < 1.01 && MarketData1.time < 1515000000)
{
T = 3;
BID = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(5), 0);
}
if (T == 5 && AA > 0)
{
if (C1 >= AA+1.0 || C1 <= AA-0.5 || MarketData1.time >= 1515000000)
{
T = -1;
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(5), 0);
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (T == 3 && OrderResponse.orderID == BID)
{
T = 4;
BNUM = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (T == 4 && NotifyFill.orderNum == BNUM)
{
T = 5;
AA = NotifyFill.fillPrice;
}
}
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : MarketData1 지정
> MarketData1에 옵션종목 1개를 선정하여 진입하는 수식입니다.
요청수식 1.
시작 084500
우선순위 1 : 가격이 1.00 보다 작아지고
우선순위 2 : 가격이 1.01 보다 커지면
매수 1계약 지정가 상대5호가
익절 1.00, 손절 0.50
1번 진입하고 1번 청산하면 추가 진입금지
endofday 151500
주의점 : 계좌에는 다른 전략의 미결제들도 있으므로 그것들과 구별하여 청산함.
요청수식 2.
시작 084500
우선순위 1 : 가격이 1.50 보다 커지고
우선순위 2 : 가격이 1.00 보다 작아지고
우선순위 3 : 가격이 1.01 보다 커지면
매수 1계약 지정가 상대5호가
익절 1.00, 손절 0.50
1번 진입하고 1번 청산하면 추가 진입금지
endofday 151500
주의점 : 계좌에는 다른 전략의 미결제들도 있으므로 그것들과 구별하여 청산함.
수식 부탁드립니다.
예스스탁
예스스탁 답변
2024-08-23 13:58:13.0
안녕하세요
예스스탁입니다.
1
var T,C1,C2,AA;
var BID,BNUM;
function Main_OnStart()
{
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
if (lUp*dateID == 20001)//*제거
{
C2 = C1;
C1 = MarketData1.current
if (T == 0 && C2 > 0 && C1 <= 1.0 && MarketData1.time >= 1030000000 && MarketData1.time < 1515000000)
{
T = 1;
}
if (T == 1 && C2 > 0 && C1 >= 1.01 && C2 < 1.01 && MarketData1.time >= 1030000000 && MarketData1.time < 1515000000)
{
T = 2;
BID = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(5), 0);
}
if (T == 4 && AA > 0)
{
if (C1 >= AA+1.0 || C1 <= AA-0.5 || MarketData1.time >= 1515000000)
{
T = -1;
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(5), 0);
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BID)
{
T = 3;
BNUM = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (NotifyFill.orderNum == BNUM)
{
T = 4;
AA = NotifyFill.fillPrice;
}
}
2
var T,C1,C2,AA;
var BID,BNUM;
function Main_OnStart()
{
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
if (lUp*dateID == 20001)//*제거
{
C2 = C1;
C1 = MarketData1.current
if (T == 0 && C2 > 0 && C1 >= 1.5 && MarketData1.time >= 1030000000 && MarketData1.time < 1515000000)
{
T = 1;
}
if (T == 1 && C2 > 0 && C1 <= 1.0 && MarketData1.time >= 1030000000 && MarketData1.time < 1515000000)
{
T = 2;
}
if (T == 2 && C2 > 0 && C1 >= 1.01 && C2 < 1.01 && MarketData1.time >= 1030000000 && MarketData1.time < 1515000000)
{
T = 3;
BID = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(5), 0);
}
if (T == 5 && AA > 0)
{
if (C1 >= AA+1.0 || C1 <= AA-0.5 || MarketData1.time >= 1515000000)
{
T = -1;
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(5), 0);
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (T == 3 && OrderResponse.orderID == BID)
{
T = 4;
BNUM = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (T == 4 && NotifyFill.orderNum == BNUM)
{
T = 5;
AA = NotifyFill.fillPrice;
}
}
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 계산하는 시작시간 설정
> 답변 고맙습니다.
시작시간설정이 없는데 시간을 설정하면 그때부터 계산하는 방식을 원합니다.
예를 들어
084500 설정이면 그 때부터 가격 down up(1번 수식), up down up(2번 수식)을 계산했으면 합니다.
103000 설정이면 그 때부터 가격 down up(1번 수식), up down up(2번 수식)을 계산했으면 합니다.
마지막으로 151500 에 잔고 청산하는 내용도 부탁드립니다.
항상 고맙습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : MarketData1 지정
>
안녕하세요
예스스탁입니다.
아래내용 참고하시기 바랍니다.
영문 업데이트가 게시판 금칙어라 중간에 *이 추가되어 있습니다.
제거하고 사용하시기 바랍니다.
1
var T,C1,C2,AA;
var BID,BNUM;
function Main_OnStart()
{
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
if (lUp*dateID == 20001)//*제거
{
C2 = C1;
C1 = MarketData1.current
if (T == 0 && C2 > 0 && C1 <= 1.0 && MarketData1.time < 1515000000)
{
T = 1;
}
if (T == 1 && C2 > 0 && C1 >= 1.01 && C2 < 1.01 && MarketData1.time < 1515000000)
{
T = 2;
BID = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(5), 0);
}
if (T == 4 && AA > 0)
{
if (C1 >= AA+1.0 || C1 <= AA-0.5 || MarketData1.time >= 1515000000)
{
T = -1;
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(5), 0);
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BID)
{
T = 3;
BNUM = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (NotifyFill.orderNum == BNUM)
{
T = 4;
AA = NotifyFill.fillPrice;
}
}
2
var T,C1,C2,AA;
var BID,BNUM;
function Main_OnStart()
{
T = 0;
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
if (lUp*dateID == 20001)//*제거
{
C2 = C1;
C1 = MarketData1.current
if (T == 0 && C2 > 0 && C1 >= 1.5 && MarketData1.time < 1515000000)
{
T = 1;
}
if (T == 1 && C2 > 0 && C1 <= 1.0 && MarketData1.time < 1515000000)
{
T = 2;
}
if (T == 2 && C2 > 0 && C1 >= 1.01 && C2 < 1.01 && MarketData1.time < 1515000000)
{
T = 3;
BID = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(5), 0);
}
if (T == 5 && AA > 0)
{
if (C1 >= AA+1.0 || C1 <= AA-0.5 || MarketData1.time >= 1515000000)
{
T = -1;
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(5), 0);
}
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (T == 3 && OrderResponse.orderID == BID)
{
T = 4;
BNUM = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (T == 4 && NotifyFill.orderNum == BNUM)
{
T = 5;
AA = NotifyFill.fillPrice;
}
}
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : MarketData1 지정
> MarketData1에 옵션종목 1개를 선정하여 진입하는 수식입니다.
요청수식 1.
시작 084500
우선순위 1 : 가격이 1.00 보다 작아지고
우선순위 2 : 가격이 1.01 보다 커지면
매수 1계약 지정가 상대5호가
익절 1.00, 손절 0.50
1번 진입하고 1번 청산하면 추가 진입금지
endofday 151500
주의점 : 계좌에는 다른 전략의 미결제들도 있으므로 그것들과 구별하여 청산함.
요청수식 2.
시작 084500
우선순위 1 : 가격이 1.50 보다 커지고
우선순위 2 : 가격이 1.00 보다 작아지고
우선순위 3 : 가격이 1.01 보다 커지면
매수 1계약 지정가 상대5호가
익절 1.00, 손절 0.50
1번 진입하고 1번 청산하면 추가 진입금지
endofday 151500
주의점 : 계좌에는 다른 전략의 미결제들도 있으므로 그것들과 구별하여 청산함.
수식 부탁드립니다.