public static void Main(string[] args) { Randomizer rnd = new Randomizer(); FunctionsClass fc = new FunctionsClass(); fc.Func06(); }
protected override void OnBarUpdate() { #region Start first order if (CurrentBars[0] < BarsRequiredToTrade) { return; } //First position if (Position.MarketPosition == MarketPosition.Flat && string.IsNullOrEmpty(_status)) { if (CrossAbove(SMA(Slow), SMA(Fast), 1) && FisherTransform(100)[0] > 2 && RelativeVigorIndex(100)[0] > 0.01) { StartOrder = EnterLong(1, "StartOrder"); SetProfitTarget("StartOrder", CalculationMode.Pips, 35, true); } } #endregion if (Position.MarketPosition != MarketPosition.Flat) { //Bezubqtok if (StartOrder != null && _status.Equals("StartOrder") && FunctionsClass.Bezubqtok(Position, Close, TickSize)) { SetStopLoss("StartOrder", CalculationMode.Price, StartOrder.AverageFillPrice + 1 * TickSize, true); //_status = "Collection"; } #region Recover if (StartOrder != null && _status.Equals("StartOrder") && Low[0] < StartOrder.AverageFillPrice - 38 * TickSize) { _status = "Recover"; Cover1 = EnterLong(1, "Recover1"); } #endregion //#region CollectionOrder //if (CollectOrder == null && _status.Equals("Collection") && Position.AveragePrice + 20 *TickSize < High[0]) //{ // CollectOrder = EnterLongLimit(0, true,2, High[0] - 8 * TickSize, "CollectionOrder"); // SetProfitTarget("CollectionOrder", CalculationMode.Price, CollectOrder.LimitPrice + 12*TickSize, true); // //SetProfitTarget("StartOrder", CalculationMode.Price, CollectOrder.LimitPrice + 12 * TickSize, true); // //SetStopLoss("CollectionOrder", CalculationMode.Pips, 9, true); //} ////Podtjagivay Collection Order //if (CollectOrder != null && CollectOrder.OrderState == OrderState.Working && High[0] > CollectOrder.LimitPrice + 8 * TickSize) // ChangeOrder(CollectOrder, 2, High[0] - 8 * TickSize, 0); // Draw.Dot(this, @"MyCustomStrategy" + CurrentBars[0].ToString(), false, 0, StartOrder.AverageFillPrice + 1 * TickSize, Brushes.Red); // //#endregion } //else if(_status.Equals("Collection") && CollectionMIT != null && High[0] > CollectionMIT.LimitPrice + 9*TickSize) //{ // //Draw.Dot(this, @"MyCustomStrategy" + CurrentBars[0].ToString(), false, 0, Close[0], Brushes.Blue); // if(CollectionMIT.OrderState == OrderState.Working) // ChangeOrder(CollectionMIT, 1, High[0] - 8 * TickSize, 0); // else if(ProfitTarget.OrderState == OrderState.Filled && Position.Quantity == 1) // CollectionMIT = EnterLongLimit(0, true, 1, High[1] - 9 * TickSize, "CollectionMIT"); //} // Draw.Dot(this, @"MyCustomStrategy" + CurrentBars[0].ToString(), false, 0, StartOrder.AverageFillPrice + 1 * TickSize, Brushes.Red); //if(_status.Equals("Collection") && CollectionMIT != null && CollectionMIT.OrderState == OrderState.Working && High[0] -10*TickSize > CollectionMIT.LimitPrice) //{ // Draw.Dot(this, @"MyCustomStrategy" + CurrentBars[0].ToString(), false, 0, Close[0], Brushes.Blue); // ChangeOrder(CollectionMIT, 1, High[0] - 9 * TickSize,0); //} //if( LimitCollectionOrder != null && LimitCollectionOrder.OrderState == OrderState.Working && _status.Equals("LimitCollectionOrder") && High[0] - 8*TickSize > Position.AveragePrice) //{ // Draw.Dot(this, @"MyCustomStrategy" + CurrentBars[0].ToString(), false, 0, Close[0], Brushes.Blue); // EnterLong(); //} //if (_status.Equals("CollectionWaiting") && LimitCollectionOrder != null && High[0] - 8 * TickSize > LimitCollectionOrder.LimitPrice) //{ // Logs.SuperLogs("SUPER"); // //ChangeOrder(LimitCollectionOrder, 1, High[0] - 8 * TickSize, 0); //} }
[TestMethod()] public void AddTwoTest() { FunctionsClass f = new FunctionsClass(); Assert.AreEqual(9, f.AddTwo(4, 5)); Assert.AreEqual(-1, f.AddTwo(4, -5)); }
public void GetValueTest() { FunctionsClass f = new FunctionsClass(); f.Increase(10); f.Reset(); f.Increase(10); f.Increase(10); Assert.AreEqual(20, f.GetValue()); }
public void SumRangeTest() { FunctionsClass f = new FunctionsClass(); int[] vals = { 1, 2, 3, 4 }; Assert.AreEqual(6, f.SumRange(vals, 1, 3)); }
[TestMethod()] public void AvgThreeTest() { FunctionsClass f = new FunctionsClass(); Assert.AreEqual(5, f.AvgThree(4, 5, 6)); Assert.AreEqual(3, f.AvgThree(-1, 5, 5)); }
[TestMethod()] public void MinTwoTest() { FunctionsClass f = new FunctionsClass(); Assert.AreEqual(4, f.MinTwo(4, 5)); Assert.AreEqual(-5, f.MinTwo(4, -5)); }