public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('direction', 'choice', ['label' => 'Направление открытия сделки', 'required' => true, 'choices' => Signal::getDirectionsNames()]); $builder->add('indicatorValues', 'collection', ['label' => false, 'type' => new IndicatorValueType(), 'allow_add' => true, 'allow_delete' => true]); $builder->add('addIndicator', 'button', ['label' => 'Добавить индикатор', 'attr' => ['class' => 'addIndicator']]); $builder->add('stopLossPercent', 'integer', ['label' => 'Стоп лосс при достижении просадки (в % от цены открытия)', 'required' => false, 'attr' => ['max' => 100, 'min' => 0]]); $builder->add('takeProfitPercent', 'integer', ['label' => 'Тейк профит при достижении прибыли (в % от цены открытия)', 'required' => false, 'attr' => ['max' => 100, 'min' => 0]]); $builder->add('stopLoss', 'integer', ['label' => 'Стоп лосс (в валюте депозита)', 'required' => false]); $builder->add('takeProfit', 'integer', ['label' => 'Тейк профит (в валюте депозита)', 'required' => false]); $builder->add('deleteSignal', 'button', ['label' => 'Удалить сигнал', 'attr' => ['class' => 'deleteSignal']]); }
/** * Название направления сделки * @param int $direction * @return string */ public function getDirectionName($direction) { $directionNames = Signal::getDirectionsNames(); return array_key_exists($direction, $directionNames) ? $directionNames[$direction] : ''; }