← 戻る

стратегия останавливается после отмены заявок.

спустя 15-20 минут стратегия останавливается после очередной отмены заявок. Никаких сообщение об ошибке не выводится.

このトピックは参考になりましたか?

トピックを共有

コメント (12)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

freelancer
freelancer

Повесьте действие на правила: StrategyRuleHelper.Canceled StrategyRuleHelper.Stopping StrategyRuleHelper.Stopped

и посмотрите отладчиком...

Alexander
Alexander
Alexander

vader: спустя 15-20 минут стратегия останавливается после очередной отмены заявок. Никаких сообщение об ошибке не выводится.

как останавливается? что за стратегия - на правилах или ТФ?

vader
vader 著者

На правилах. А что такое ТФ?

Alexander
Alexander

vader: На правилах. А что такое ТФ?

таймфрейм

как стратегия останавливается, что выводит? какие правила добавлены?

vader
vader 著者

StrategyRuleHelper.StrategyNewMyTrades(this) StrategyRuleHelper.FilledPartially(_order)

никаких ошибок в логе нет.

Alexander
Alexander

vader: StrategyRuleHelper.StrategyNewMyTrades(this) StrategyRuleHelper.FilledPartially(_order)

никаких ошибок в логе нет.

Приведите больший кусок кода.

vader
vader 著者


			_order = new OrderExtended
			{
				Portfolio = this.Portfolio,
				Volume =  CheckVolume(vol),
				Price = CheckPrice(_bBuy ? _newPrice - ShiftBigVolume : _newPrice + ShiftBigVolume),
				Security = this.Security,
				Direction = this.Direction,
				Trader = this.Trader,
			};
			
			_timer1 = new Timer(_ReplaceOrderCB, null, _waitingPeriod, _timeToDeleteTimer);
			lock(syncTimer1){
				_isTimer1Stopped = false;
			}
			
			this
				.When(StrategyRuleHelper.FilledPartially(_order))
				.Do(ReplaceTimer);
			
			this.Register(_order);


protected override void OnStarting()
		{
			this
				.When(StrategyRuleHelper.StrategyNewMyTrades(this))
				.Do(CheckMatched);
			
			base.OnStarting();
			
			CreateOrder();
		}

Alexander
Alexander

а с чего вы взяли, что стратегия останавливается?

vader
vader 著者

в лог пишется, когда вызван метод OnStopped.

Alexander
Alexander

Стратегия останавливается по ошибке. Переопределите OnError, посмотрите какой Exception приходит (base.OnError не забудьте вызвать) Также стоит посмотреть на ErrorCount и MaxErrorCount стратегии

  • в случае ошибки стратегия печатает exception с помощью AddErrorLog
vader
vader 著者

"Переопределите OnError, посмотрите какой Exception приходит (base.OnError не забудьте вызвать)" Уже давно сделано, он молчит.

Alexander
Alexander

vader: "Переопределите OnError, посмотрите какой Exception приходит (base.OnError не забудьте вызвать)" Уже давно сделано, он молчит.

Чем равно в OnStopping ErrorCount, MaxErrorCount? Выводится ли что-нибудь через AddErrorLog?