public override void OnBar(Object sender, IStrategyOnBarArgument currentData) { IKLineData klineData = currentData.CurrentData.GetKLineData(MainKLinePeriod); GenMa(klineData); GenPoint(klineData); }
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]); }
public override void OnBar(Object sender, IStrategyOnBarArgument currentData) { IKLineData klineData = currentData.CurrentData.GetKLineData(MainKLinePeriod); GenMa(klineData, isLastPeriodEnd); isLastPeriodEnd = currentData.CurrentData.IsPeriodEnd(MainKLinePeriod); }
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); }
public override void OnBar(object sender, IStrategyOnBarArgument currentData) { //计算中枢价格 if (prevTime <= 0) { prevTime = currentData.Time; } }
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); } }
public override void OnBar(Object sender, IStrategyOnBarArgument currentData) { IList <IStrategyOnBarInfo> bars = currentData.FinishedBars; for (int i = 0; i < bars.Count; i++) { CalcTurnPoints(bars[i]); } }
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); }
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); }
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); }
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)); }
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); } } }
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); } }
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)); }
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); } } } }
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); // } //} }
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); } }
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; } }
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, "", ""); } }
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)); } }
public override void OnBar(object sender, IStrategyOnBarArgument currentData) { IStrategyOnBarInfo barInfo = currentData.MainBar; GenMa(barInfo.KLineData, barInfo.KLineData.BarPos, maList, maPeriod); }
public override void OnBar(Object sender, IStrategyOnBarArgument currentData) { //Console(strategy_MA_1Minute.) }
public override void OnBar(object sender, IStrategyOnBarArgument currentData) { Console.WriteLine("MA05:" + referedStrategy_MA5.MA + ";" + "MA20:" + referedStrategy_MA20.MA); }
public override void OnBar(object sender, IStrategyOnBarArgument currentData) { IKLineData klineData = currentData.CurrentData.GetKLineData(KLinePeriod.KLinePeriod_1Minute); }
public override void OnBar(object sender, IStrategyOnBarArgument currentData) { //StrategyOperator.Trader.Open() }
public override void OnBar(Object sender, IStrategyOnBarArgument currentData) { initTurnPoint(currentData.CurrentData); }
public override void OnBar(Object sender, IStrategyOnBarArgument dataReader) { throw new NotImplementedException(); }
public override void OnBar(object sender, IStrategyOnBarArgument currentData) { }
public abstract void OnBar(Object sender, IStrategyOnBarArgument currentData);