Пример #1
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IKLineData klineData = currentData.CurrentData.GetKLineData(MainKLinePeriod);

            GenMa(klineData);
            GenPoint(klineData);
        }
Пример #2
0
        public override void OnBar(object sender, IStrategyOnBarArgument currentData)
        {
            looper_ma.Loop(currentData.CurrentData.GetKLineData(KLinePeriod.KLinePeriod_1Minute).BarPos);
            MaData maData = looper_ma.GetMaData(MaPeriod);

            FindPlatForm(maData, platForms.Count == 0 ? null : platForms[platForms.Count - 1]);
        }
Пример #3
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IKLineData klineData = currentData.CurrentData.GetKLineData(MainKLinePeriod);

            GenMa(klineData, isLastPeriodEnd);
            isLastPeriodEnd = currentData.CurrentData.IsPeriodEnd(MainKLinePeriod);
        }
Пример #4
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IKLineData klineData     = currentData.CurrentData.GetKLineData(KLinePeriod.KLinePeriod_1Minute);
            int        currentBarPos = klineData.BarPos;
            int        lastBarPos    = currentBarPos - 5;

            if (lastBarPos < 0)
            {
                return;
            }

            //float endPrice = klineData.End;
            //float startPrice = klineData.GetBar(lastBarPos).Start;

            //int lowIndex = -1;
            //float lowPrice = float.MaxValue;
            //int highIndex = -1;
            //float highPrice = 0;
            //for (int i = lastBarPos; i <= currentBarPos; i++)
            //{

            //}

            //float percent = (float)Math.Round((highPrice - lowPrice) / startPrice * 100, 2);
            //5分钟内涨幅超过
            //if (percent > 0.5)
            //{

            //}
            //currentData.GetKLineData(KLinePeriod.KLinePeriod_15Minute);
        }
Пример #5
0
 public override void OnBar(object sender, IStrategyOnBarArgument currentData)
 {
     //计算中枢价格
     if (prevTime <= 0)
     {
         prevTime = currentData.Time;
     }
 }
Пример #6
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IList <IStrategyOnBarInfo> bars = currentData.FinishedBars;

            for (int i = 0; i < bars.Count; i++)
            {
                Console.WriteLine(bars[i].KLinePeriod + ":" + bars[i].KLineBar);
            }
        }
Пример #7
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IList <IStrategyOnBarInfo> bars = currentData.FinishedBars;

            for (int i = 0; i < bars.Count; i++)
            {
                CalcTurnPoints(bars[i]);
            }
        }
Пример #8
0
        public override void OnBar(object sender, IStrategyOnBarArgument currentData)
        {
            IKLineData klineData = currentData.CurrentData.GetKLineData(MainKLinePeriod);

            if (klineData == null)
            {
                throw new StrategyException("没找到" + MainKLinePeriod + "K线数据");
            }

            GenAmplitude(klineData, amplitudes, AmplitudeLength);
        }
Пример #9
0
 public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
 {
     if (ImportStrategies != null)
     {
         for (int i = 0; i < ImportStrategies.Count; i++)
         {
             ImportStrategies[i].OnBar(sender, currentData);
         }
     }
     OnBar_(currentData.CurrentData);
 }
Пример #10
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IKLineData klineData = currentData.CurrentData.GetKLineData(MainKLinePeriod);

            if (klineData == null)
            {
                throw new StrategyException("没找到" + MainKLinePeriod + "K线数据");
            }
            GenMa(klineData);
            isLastPeriodEnd = currentData.CurrentData.IsPeriodEnd(MainKLinePeriod);
        }
Пример #11
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IList <IStrategyOnBarInfo> bars = currentData.FinishedBars;

            for (int i = 0; i < bars.Count; i++)
            {
                IStrategyOnBarInfo barInfo = bars[i];
                Console.WriteLine(barInfo.KLinePeriod + ":" + barInfo.KLineBar);
                printData.Add(barInfo.KLinePeriod + ":" + barInfo.KLineBar);
            }
            //Console.WriteLine("bar:" + currentData.CurrentData.GetKLineData(KLinePeriod.KLinePeriod_1Minute));
        }
Пример #12
0
 public override void OnBar(object sender, IStrategyOnBarArgument currentData)
 {
     for (int i = 0; i < currentData.FinishedBars.Count; i++)
     {
         if (currentData.FinishedBars[i].KLinePeriod.Equals(GetParameter(PARAMKEY_PRINTPERIOD)))
         {
             IStrategyOnBarInfo bar = currentData.FinishedBars[i];
             Console.WriteLine(bar.KLinePeriod + ":" + bar.KLineBar);
             results.Add(bar.KLinePeriod + ":" + bar.KLineBar);
         }
     }
 }
Пример #13
0
 public override void OnBar(object sender, IStrategyOnBarArgument currentData)
 {
     if (IsMainMa)
     {
         IList <IStrategyOnBarInfo> bars = currentData.Bars;
         RecordBars(bars);
     }
     else
     {
         IList <IStrategyOnBarInfo> bars = currentData.FinishedBars;
         RecordBars(bars);
     }
 }
Пример #14
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IKLineData klineData = currentData.CurrentData.GetKLineData(period);
            int        barPos    = klineData.BarPos;
            int        startPos  = barPos - length;

            startPos = startPos < 0 ? 0 : startPos;

            float total = 0;

            for (int i = startPos; i <= barPos; i++)
            {
                total += klineData.Arr_End[i];
            }
            this.maPrice.Add(total / (barPos - startPos + 1));
        }
Пример #15
0
        public override void OnBar(object sender, IStrategyOnBarArgument argument)
        {
            IStrategyOnBarInfo bar = argument.GetFinishedBar(MainKLinePeriod);

            if (bar != null)
            {
                if (argument.Time == 20171221.2100)
                {
                    int start = bar.BarPos - 250;
                    int end   = bar.BarPos;
                    for (int i = start; i < end; i++)
                    {
                        zigzag.Loop(i);
                    }
                }
            }
        }
Пример #16
0
        public override void OnBar(Object sender, IStrategyOnBarArgument argument)
        {
            IStrategyOnBarInfo bar = argument.GetFinishedBar(ZigzagPeriod);

            if (bar != null)
            {
                zigzag.Loop(bar.BarPos);
            }

            //if (argument.Time == 20171218.0900)
            //{
            //    int start = bar.BarPos - 500;
            //    int end = bar.BarPos;
            //    for (int i = start; i < end; i++)
            //    {
            //        zigzag.Loop(i);
            //    }
            //}
        }
Пример #17
0
 public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
 {
     //15分钟K线图ma5>ma10
     if (strategy_MA_15Minute.MAPrice_1 > strategy_MA_15Minute.MAPrice_2)
     {
         if (strategy_MA_1Minute.MAPrice_2 > strategy_MA_1Minute.MAPrice_3)
         {
             StrategyOperator.Trader.Open(data.market.OrderSide.Buy, 10);
         }
         else
         {
             StrategyOperator.Trader.Close(data.market.OrderSide.Sell, 10);
         }
     }
     else
     {
         StrategyOperator.Trader.Close(data.market.OrderSide.Sell, 10);
     }
 }
Пример #18
0
        public override void OnBar(object sender, IStrategyOnBarArgument currentData)
        {
            List <float> ma10 = referedStrategy_MA10.MAList;
            List <float> ma20 = referedStrategy_MA20.MAList;

            if (ma10.Count < 2)
            {
                return;
            }
            if (ma10[ma10.Count - 2] > ma20[ma20.Count - 2] && ma10[ma10.Count - 1] > ma20[ma20.Count - 1])
            {
                this.StrategyHelper.Trader.CloseAll();
                return;
            }
            if (ma10[ma10.Count - 2] < ma20[ma20.Count - 2] && ma10[ma10.Count - 1] < ma20[ma20.Count - 1])
            {
                this.StrategyHelper.Trader.Open(currentData.Code, OrderSide.Buy, currentData.CurrentData.Price, 5);
                return;
            }
        }
Пример #19
0
        public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
        {
            IKLineData klineData = currentData.CurrentData.GetKLineData(MainKLinePeriod);

            if (klineData.BarPos == 0)
            {
                return;
            }
            float start     = klineData.Start;
            float lastEnd   = klineData.Arr_End[klineData.BarPos - 1];
            float upPercent = (start - lastEnd) * 100 / lastEnd;

            if (upPercent > 0.5 || upPercent < -0.5)
            {
                string code = klineData.Code;
                double time = klineData.Time;
                //IStrategyResult result = new StrategyResult(code, time);
                this.StrategyOperator.AddStrategyResult(code, time, "", "");
            }
        }
Пример #20
0
        public override void OnBar(object sender, IStrategyOnBarArgument currentData)
        {
            if (isOpen)
            {
                return;
            }
            IStrategyOnBarInfo barInfo    = currentData.MainBar;
            IKLineBar          currentBar = barInfo.KLineBar;
            IKLineBar          lastBar    = barInfo.KLineData.GetBar(barInfo.BarPos - 1);

            //多头吞噬
            if (currentBar.BlockHigh > lastBar.BlockHigh &&
                currentBar.BlockLow < lastBar.BlockLow &&
                currentBar.isRed() &&
                currentBar.BlockHeight >= 20)
            {
                openPrice = currentBar.End;
                StrategyHelper.Trader.Open(currentData.Code, data.market.OrderSide.Buy, openPrice, 10);
                isOpen = true;
                strategyResult.AddRow(currentBar.Code, barInfo.KLineBar.Time, new object[] { currentBar.BlockHeight, lastBar.BlockHeight });
                IStrategyDrawer_PriceRect drawer = StrategyHelper.Drawer.GetDrawer_KLine(barInfo.KLinePeriod);
                drawer.DrawPoint(new graphic.shape.PriceShape_Point(barInfo.BarPos, openPrice));
            }
        }
Пример #21
0
        public override void OnBar(object sender, IStrategyOnBarArgument currentData)
        {
            IStrategyOnBarInfo barInfo = currentData.MainBar;

            GenMa(barInfo.KLineData, barInfo.KLineData.BarPos, maList, maPeriod);
        }
Пример #22
0
 public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
 {
     //Console(strategy_MA_1Minute.)
 }
Пример #23
0
 public override void OnBar(object sender, IStrategyOnBarArgument currentData)
 {
     Console.WriteLine("MA05:" + referedStrategy_MA5.MA + ";" + "MA20:" + referedStrategy_MA20.MA);
 }
Пример #24
0
 public override void OnBar(object sender, IStrategyOnBarArgument currentData)
 {
     IKLineData klineData = currentData.CurrentData.GetKLineData(KLinePeriod.KLinePeriod_1Minute);
 }
Пример #25
0
 public override void OnBar(object sender, IStrategyOnBarArgument currentData)
 {
     //StrategyOperator.Trader.Open()
 }
Пример #26
0
 public override void OnBar(Object sender, IStrategyOnBarArgument currentData)
 {
     initTurnPoint(currentData.CurrentData);
 }
Пример #27
0
 public override void OnBar(Object sender, IStrategyOnBarArgument dataReader)
 {
     throw new NotImplementedException();
 }
Пример #28
0
 public override void OnBar(object sender, IStrategyOnBarArgument currentData)
 {
 }
Пример #29
0
 public abstract void OnBar(Object sender, IStrategyOnBarArgument currentData);