Esempio n. 1
0
 public double getFloating(String instrumentId, boolean isLong) {
   InsInfo mInfo = getInsInfoMap().get(instrumentId);
   if (mInfo == null) return 0.0;
   StockData lastData = mInfo.getLastData();
   if (lastData == null) return 0.0;
   PosData longPos = getPosData(true, instrumentId);
   PosData shortPos = getPosData(false, instrumentId);
   if (isLong) {
     if (longPos == null) return 0.0;
     double longFloating =
         (lastData.getLastPrice() - longPos.getOpenPrice())
             * longPos.getVolume()
             * getInsInfoMap().get(instrumentId).getMultiplier();
     return longFloating;
   } else {
     if (shortPos == null) return 0.0;
     double shortFloating =
         (shortPos.getOpenPrice() - lastData.getLastPrice())
             * shortPos.getVolume()
             * getInsInfoMap().get(instrumentId).getMultiplier();
     return shortFloating;
   }
 }
Esempio n. 2
0
  public void initInsInfo(@NotNull JSONArray insInfoArray) {

    synchronized (InsInfoLock) {
      insInfoMap = new HashMap<String, InsInfo>();
      insNameList = new ArrayList<String>();

      for (int i = 0; i < insInfoArray.length(); i++) {
        InsInfo mInsInfo = null;
        try {
          mInsInfo = new InsInfo(insInfoArray.getJSONObject(i));
        } catch (JSONException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }

        /* bug handling */
        if (mInsInfo != null) {
          if (insInfoMap.get(mInsInfo.getInstrumentID()) != null) continue;
          insInfoMap.put(mInsInfo.getInstrumentID(), mInsInfo);
          insNameList.add(mInsInfo.getInstrumentID());
        }
      }
    }
  }