, dateStart: startPrice.DateTick,
dateEnd: lastPrice.DateTick, secId: CurSec.SecId, fieldType: .Price);
}
}
} void analyzeAskField (FactEventAnalysisDBDataContext DbContext,
FactEventAnalyzer.SecuritiesSource CurSec, Parameters curParam)
{PriceQuery=from price in DbContext.PricesSourcesprice.SecId.Equals (CurSec.SecId) amp; amp; price.DateTick gt;=
curParam.DateFrom amp; amp; price.DateTick lt;=curParam.DateToprice.DateTickprice; isFirst=true; previousPrice=new FactEventAnalyzer.PricesSource (); startPrice=new FactEventAnalyzer.PricesSource (); lastPrice=new FactEventAnalyzer.PricesSource (); isSkip=false; isSecond=false ; skipNum=0; curChange=ChangeType.Unchanged; (FactEventAnalyzer.PricesSource curPrice in PriceQuery)
{= curPrice; (isFirst == true)
{
=curPrice;=false;=true;
}
{(isSecond == true)
{= determineChangeType (prevPrice: startPrice.AskPrice,
curPrice: curPrice.AskPrice, changeThreshold: curParam.ChangeThreshold);=curPrice;=false;
}
{(isSkip == false)
{(determineChangeType (prevPrice: previousPrice.AskPrice, curPrice:
curPrice.AskPrice, changeThreshold: curParam.ChangeThreshold)!=curChange)
{= true;
}
{= curPrice;
}
}
{(skipNum lt; (curParam.minerDateThreshold - 1))
{++;
}
{= 0;=false; (determineChangeType (prevPrice: previousPrice.AskPrice, curPrice:
curPrice.AskPrice, changeThreshold: curParam.ChangeThreshold)!=
curChange)
{(curChange, dateStart: startPrice.DateTick, dateEnd:
previousPrice.DateTick, secId: CurSec.SecId, fieldType: FieldType.Ask);=determineChangeType (prevPrice: previousPrice.AskPrice,
curPrice: curPrice.AskPrice, changeThreshold: curParam.ChangeThreshold);=previousPrice;=curPrice;
}
{= curPrice;
}
}
}
}
}
} (isSkip == true)
{(changeType: curChange, dateStart: startPrice.DateTick,
dateEnd: previousPrice.DateTick, secId: CurSec.SecId, fieldType: .Ask); (changeType:
determineChangeType (previousPrice.AskPrice, curPrice: lastPrice.AskPrice,
changeThreshold: curParam.ChangeThreshold), dateStart:
previousPrice.DateTick, dateEnd: lastPrice.DateTick, secId: CurSec.SecId,
fieldType: FieldType.Ask);
}
{(isFirst!=true)
{(changeType: curChange, dateStart: startPrice.DateTick,
dateEnd: lastPrice.DateTick, secId: CurSec.SecId, fieldType: .Ask);
}
}
} void analyzeBidField (FactEventAnalysisDBDataContext DbContext,
FactEventAnalyzer.SecuritiesSource CurSec, Parameters curParam)
{PriceQuery=from price in DbContext.PricesSourcesprice.SecId.Equals (CurSec.SecId) amp; amp; price.DateTick gt;=
curParam.DateFrom amp; amp; price.DateTick lt;=curParam.DateToprice.DateTickprice; isFirst=true; previousPrice=new FactEventAnalyzer.PricesSource (); startPrice=new FactEventAnalyzer.PricesSource (); lastPrice=new FactEventAnalyzer.PricesSource (); isSkip=false; isSecond=false ; skipNum=1; curChange=ChangeType.Unchanged; (FactEventAnalyzer.PricesSource curPrice in PriceQuery)
{= curPrice; (isFirst == true)
{
=curPrice;=false;=true;
}
{(isSecond == true)
{= determineChangeType (prevPrice: startPrice.BidPrice, curPrice:
curPrice.BidPrice, changeThreshold: curParam.ChangeThreshold);=curPrice;=false;
}
{(isSkip == false)
{(determineChangeType (prevPrice: previousPrice.BidPrice, curPrice:
curPrice.BidPrice, changeThreshold: curParam.ChangeThreshold)!=
curChange)