internal override void CStudyInitialize() { if (__cProperty.OrderSource != null) { if (__cOrderService != null) { //如果之前已經建立下單服務元件 __cOrderService.Dispose(); //釋放下單服務元件 } string sOrderSource = __cProperty.OrderSource; __cOrderService = OrderManager.Manager.CreateOrderService(sOrderSource); __cOrderService.onResponse += OrderService_onResponse; __cOrderService.SetInstrument(this.Instruments[0]); __cOrderService.SetDefaultContracts(__cProperty.DefaultContracts); this.OrderCreator = __cOrderService as IOrderCreator; if (log.IsInfoEnabled) log.InfoFormat("[SignalObject.SetOrderSource] Set \"{0}\" and create...", sOrderSource); } List<InputAttribute> cParameters = new List<InputAttribute>(); cParameters.AddRange(InputAttribute.GetParameters(this)); if (__cOrderService != null) { cParameters.AddRange(InputAttribute.GetParameters(__cOrderService)); } ScriptParametersEvent cScriptParametersEvent = new ScriptParametersEvent(); cScriptParametersEvent.SetOrderService(__cOrderService); cScriptParametersEvent.SetScriptParameters(cParameters); OnScriptParameters(cScriptParametersEvent); if (__cOrderService != null) { __cOrderService.Initialize(); //參數設定完成之後才初始化下單元件 } }