Помощь в написании индикаторов и советников на платформе cTrader - Страница 7
Страница 7 из 7 ПерваяПервая ... 3 4 5 6 7
Показано с 61 по 61 из 61

Тема: Помощь в написании индикаторов и советников на платформе cTrader

  1. #61
    Новичок
    Регистрация
    13.08.2013
    Сообщений
    11
    Promo (¢)
    190
    Благодарности
    Получено: 3
    Отправлено: 7
    Заинтересовало

    Цитата Сообщение от viktan Посмотреть сообщение
    ...делать расчет ренко баров внутри бота...
    Сделал набросок:
    Код:
    using System;
    using System.Linq;
    using cAlgo.API;
    using cAlgo.API.Indicators;
    using cAlgo.API.Internals;
    using cAlgo.Indicators;
    
    namespace cAlgo.Robots
    {
        [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
        public class My_RenkoRobot : Robot
        {
            [Parameter("Renko (Pips)", DefaultValue = 10.0, MinValue = 0.1, Step = 1)]
            public double RenkoPips { get; set; }
    
    	protected class Brick
            {
                public double Open { get; set; }
                public double Close { get; set; }
            }
    
            protected List<Brick> Bricks = new List<Brick>();
    
            private double closeLastValue, renkoPips, renkoLastValue;
    	private MarketSeries M1;
    
            protected override void OnStart()
            {
    	    // ...
                renkoPips = RenkoPips * Symbol.PipSize;
    	    
    	    M1 = MarketData.GetSeries(TimeFrame.Minute);	    
    	    var open = M1.Open.LastValue;
                renkoLastValue = open - (open % renkoPips) + renkoPips / 2;
    
    	    int totalBars = Math.Min(LookupBars + 1, M1.Close.Count);
    
    	    for (int i = 0; i < totalBars; i++)
    	    {
                	closeLastValue = M1.Close[i];
    
                	while (closeLastValue >= renkoLastValue + renkoPips * 1.5)
                	{
                    	renkoLastValue += renkoPips;
                    	Bricks.Insert(0, new Brick 
                    	{
                        		Open = renkoLastValue - renkoPips / 2, 
    				Low = Open, 
                        		Close = renkoLastValue + renkoPips / 2, 
    				High = Close
                    	});
                	}
    
                	while (closeLastValue <= renkoLastValue - renkoPips * 1.5)
                	{
                    	renkoLastValue -= renkoPips;
                    	Bricks.Insert(0, new Brick 
                    	{
                        		Open = renkoLastValue + renkoPips / 2, 
    				High = Open, 
                        		Close = renkoLastValue - renkoPips / 2, 
    				Low = Close
                    	});
                	}		
    	    }
    	    // ...
    	}
    
            protected override void OnTick()
            {
    	    // ...
                double y1, y2;
                var top = Math.Max(Bricks[0].Open, Bricks[0].Close);
                var bottom = Math.Min(Bricks[0].Open, Bricks[0].Close);
    
    	    closeLastValue = M1.Close[0];
    
                if (closeLastValue > top)
                    y1 = top;
                else if (closeLastValue < bottom)
                    y1 = bottom;
                else
                    y1 = closeLastValue;
    
                y2 = closeLastValue;
    
                Bricks[0].Open = y1;
                Bricks[0].High = y1 > y2 ? y1 : y2;
                Bricks[0].Low = y1 < y2 ? y1 : y2;
                Bricks[0].Close = y2;
    	    // ...
    	}
        }
    }
    Что скажете? Код приемлемый?

    Вы не можете благодарить!
    Последний раз редактировалось Mapseam; 19.11.2018 в 08:14.

Страница 7 из 7 ПерваяПервая ... 3 4 5 6 7

Похожие темы

  1. Вопросы и ответы по платформе cTrader
    от RoboForex Administrator в разделе Торговая платформа cTrader
    Ответов: 425
    Последнее сообщение: 25.07.2018, 13:10
  2. Поиск/переделка индикаторов cTrader
    от RoboForex Administrator в разделе Торговая платформа cTrader
    Ответов: 7
    Последнее сообщение: 16.07.2018, 16:06
  3. Новый тип счёта на платформе cTrader
    от RoboForex Administrator в разделе Архив. RoboForex
    Ответов: 0
    Последнее сообщение: 25.06.2015, 11:28
  4. Набор индикаторов объема для платформы cTrader
    от ZigzagAK в разделе Торговая платформа cTrader
    Ответов: 2
    Последнее сообщение: 30.05.2015, 10:14
  5. Ответов: 0
    Последнее сообщение: 24.07.2013, 09:06

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •