안녕하세요
죄송한데 혼자 책보고 아래와 같이 할수 있을지 문의를 드리고자 게시글을 썻습니다.
바쁘신 와중에도 한번 검토를 부탁드립니다.
아래는 책에서 기본적으로 제공한 예스스팟입니다.

var timer5 = 2; // 2초
var 매수금 = 100000;
var OrderList = [];
var MKList = [];
var req;
var 종목제한수 = 10;

function Main_OnStart() {
    Main.SetTimer(1, timer5 * 1000);

    MKList = [];
}

function Main_OnTimer(nEventID) {
    var d = new Date();
    YYYYMMDD = d.getFullYear() * 10000 + (d.getMonth() + 1) * 100 + d.getDate();
    HHMMSS = d.getHours() * 10000 + d.getMinutes() * 100 + d.getSeconds();

    if (nEventID == 1 && HHMMSS > 090000 && HHMMSS < 151800) {

        Main.ReqPowerSearch("매수조건");
    }

    if (nEventID == 2) {
        Main.ReqMarketData(OrderList[req]);
    }
}

function Main_OnRcvItemList(aItemList, nCount) {
    Main.KillTimer(1);

    OrderList = [];

    if (nCount >= 1) {
        if (MKList.length == 0) {
            OrderList = aItemList.slice(0, 종목제한수);
        } else {
            for (var a = 0; a < nCount; a++) {
                var Add = true;
                for (var b = 0; b < MKList.length; b++) {
                    if (aItemList[a] == MKList[b].code) {
                        Add = false;
                    }
                }

                if (Add == true && !IsStockInAccount(aItemList[a])) {
                    OrderList.push(aItemList[a]);

                    if (OrderList.length >= 종목제한수) {
                        break;
                    }
                }
            }
        }

        if (OrderList.length == 0) {
            Main.SetTimer(1, timer5 * 1000);
        } else {
            req = 0;
            Main.ReqMarketData(OrderList[req]);
        }
    }
}

function Main_OnRcvMarketData(MarketData) {
    if (MarketData.code == OrderList[req]) {
        MKList.push(MarketData);

        if (!IsStockInAccount(MarketData.code)) {

            Account1.OrderBuy(MarketData.code, 1, 0, 1);
            Main.MessageList(MarketData.code + " 주식을 매수합니다.");
        } else {
            Main.MessageList(MarketData.code + " 주식은 이미 계좌에 있으므로 매수하지 않습니다.");
        }

        req = req + 1;

        if (req < OrderList.length) {
            var aa = Main.ReqMarketData(OrderList[req]);
            if (aa == -1) {
                Main.SetTimer(2, 15000);
            }
        } else {
            Main.SetTimer(1, timer5 * 1000);
        }
    }
}

function IsStockInAccount(stockCode) {
    var numberOfBalances = Account1.GetTheNumberOfBalances();

    for (var i = 0; i < numberOfBalances; i++) {
        Account1.SetBalance(i);
        if (stockCode == Account1.Balance.code) {
            return true;
        }
    }

    return false;
}


-------------------------------------------------------------------
-------------------------------------------------------------------

여기서 아래 조건으로 해서 자동 매도 조건을 위의 식에 추가할 수 있을지 문의를 드립니다.

INPUT : 기간1(10),기간2(21);
VAR : ap(0),esa(0),d1(0),ci(0),wt1(0),wt2(0);

ap = (HIGH+LOW+CLOSE)/3;
esa = Ema(ap, 기간1);
d1 = Ema(abs(ap - esa), 기간1);
ci = (ap - esa) / (0.015 * d1);
wt1 = Ema(ci,기간2);
wt2 = ma(WT1,4);

IF WT1[1]<=60 && (Crossdown(WT1,WT2) OR Crossdown(WT[1],53) TheN

sell();

-------------------------------------------------------------------
-------------------------------------------------------------------



제 질문이 적합한지 잘 모르겠습니다.
죄송하지만 한번 확인 부탁드립니다. 감사합니다.