@Override
    public void excute() throws RserveException, REXPMismatchException, ParseException, Exception {
        try{    
            REXP x;
            c.eval("maTest <- maTesting(TestData, Bests, Bestl, plotUrl)");
            boolean checkBuysell = "NA".equals(c.eval("maTest$buysell[1,3]").asString());    
            int nRow;
            int ncol;
            if(checkBuysell){
                this.hasTrade = false;
                this.revenueTrade = "0";
            } else{
                //-----------紀錄此測試交易平均收益參數
                this.revenueTrade = c.eval("maTest$revenue").asString();

                nRow = c.eval("nrow(maTest$buysell)").asInteger();
                ncol = c.eval("ncol(maTest$buysell)").asInteger();

                //R的基本單位是vector, 故此處一次取一條vector放入二維陣列 再迴圈輸入arrayList
                String[][] arrayTrade = new String[nRow][ncol];
                for(int i =1; i <= nRow; i++)
                {
                    x = c.eval("as.character(maTest$buysell[" + i + ",])"); //此處取得的是R的vector(單維陣列)
                    arrayTrade[i-1] = x.asStrings();
                }

                listTrade = new ArrayList<TradeRecord>();
                TradeRecord tr;
                for(String[] s: arrayTrade){
                    tr = new TradeRecord();
                    tr.setBuyDate(s[0]);
                    tr.setBuyPrice(s[1]);
                    tr.setSellDate(s[2]);
                    tr.setSellPrice(s[3]);
                    listTrade.add(tr);
                }
                //產生testingCode
                this.testingCode = setTestingCode(testFullDate_start, testFullDate_end, testStockSymbol, bestS, bestL);
            }
        }catch(RserveException e){
            throw new Exception("發生Rserve Exception: " + e);
        }
    }