Exemple #1
0
        public void AppendData__adds_data_to_end_of_file()
        {
            TextDataBase tb = new TextDataBase();

            List <Bar> barList = new List <Bar>();

            barList.Add(new Bar(10, 20, 5, 12, 0, DateTime.Now, DateTime.Now));
            barList.Add(new Bar(15, 25, 10, 17, 0, DateTime.Now, DateTime.Now));
            barList.Add(new Bar(15, 27, 8, 17, 0, DateTime.Now, DateTime.Now));

            var instrument = new Instrument {
                Type = InstrumentType.Stock, Name = "TSLA"
            };
            var resolution = new Resolution(TimeFrame.Hourly, 1);

            tb.WriteLocalData(instrument, resolution, barList);

            barList.Clear();
            barList.Add(new Bar(0, 20, 5, 12, 0, DateTime.Now, DateTime.Now));
            barList.Add(new Bar(0, 25, 10, 17, 0, DateTime.Now, DateTime.Now));
            barList.Add(new Bar(0, 27, 8, 17, 0, DateTime.Now, DateTime.Now));
            tb.AppendLocalData(instrument, resolution, barList);

            var rbs = tb.ReadLocalData(instrument, resolution, DateTime.Now, DateTime.Now);

            Assert.AreEqual(6, rbs.Count());
        }
 protected virtual void Awake()
 {
     _textDataBase = (TextDataBase)AssetDatabase.LoadAssetAtPath("Assets/textDataBase.asset", typeof(TextDataBase));
     if (!_textDataBase)
     {
         Debug.Log("#BaseTextSetter#: cant load textdatebase asset");
     }
 }
        private void LoadFromCsv()
        {
            var path = EditorUtility.OpenFilePanel("Load dataBase from csv", Application.dataPath, "csv");

            if (path != String.Empty)
            {
                var dataBase = CreateInstance <TextDataBase>();
                AssetDatabase.CreateAsset(dataBase, "Assets/textDataBase.asset");
                var readSource = dataBase;
                AssetDatabase.SaveAssets();
                _textFoldout.Clear();
                using StreamReader sr = new StreamReader(path);
                var line = sr.ReadLine();
                if (line != null)
                {
                    var languageIndices = line.Split(';');
                    foreach (var index in languageIndices)
                    {
                        readSource.SelectedLanguages.Add(Int32.Parse(index));
                    }
                }

                line = sr.ReadLine();
                readSource.CurrentLanguageId = Int32.Parse(line);

                line = sr.ReadLine();
                while (line != null)
                {
                    var all   = line.Split(';');
                    var entry = new TextEntry {
                        ShadowId = all[0]
                    };
                    for (var i = 0; i < readSource.SelectedLanguages.Count; ++i)
                    {
                        entry.AllTexts.Add(new StringLanguagePair(readSource.SelectedLanguages[i], all[i + 1]));
                    }
                    readSource.Entries.Add(entry);
                    _textFoldout.Add(true);
                    line = sr.ReadLine();
                }

                _source = readSource;
                var allIds = readSource.Entries.Select(entry => entry.ShadowId).ToList();

                AssetDatabase.SaveAssets();
                EnumGenerator.Generate(allIds);
                for (var i = 0; i < _source.Entries.Count; ++i)
                {
                    _source.Entries[i].ID = (TextId)i;
                }
                Repaint();
            }
        }
        private void OnGUI()
        {
            GUILayout.Label("Languages");
            EditorGUILayout.BeginHorizontal("DataBase");
            {
                _source = EditorGUILayout.ObjectField(_source, typeof(TextDataBase), false) as TextDataBase;
                if (GUILayout.Button("Generate"))
                {
                    var dataBase = CreateInstance <TextDataBase>();
                    AssetDatabase.CreateAsset(dataBase, "Assets/textDataBase.asset");
                    _source = dataBase;
                    AssetDatabase.SaveAssets();
                    Repaint();
                }

                if (_source)
                {
                    foreach (var unused in _source.Entries)
                    {
                        _textFoldout.Add(true);
                    }
                }
            }
            EditorGUILayout.EndHorizontal();

            DrawUiLine(new Color(0.57f, 0.57f, 0.57f), 4);

            if (_source)
            {
                ShowContent();
            }
            if (GUILayout.Button("Load from csv"))
            {
                LoadFromCsv();
            }

            if (GUILayout.Button("Clear all"))
            {
                _textFoldout.Clear();
                _source = null;
                Repaint();
            }
        }
Exemple #5
0
        public void WriteData_TextDataBase_Stock()
        {
            TextDataBase tb = new TextDataBase();

            List <Bar> barList = new List <Bar>();

            barList.Add(new Bar(10, 20, 5, 12, 0, DateTime.Now, DateTime.Now));
            barList.Add(new Bar(15, 25, 10, 17, 0, DateTime.Now, DateTime.Now));
            barList.Add(new Bar(15, 27, 8, 17, 0, DateTime.Now, DateTime.Now));

            var instrument = new Instrument {
                Type = InstrumentType.Stock, Name = "MS"
            };

            tb.WriteLocalData(instrument, new Resolution(TimeFrame.Hourly, 1), barList);
            var rbs = tb.ReadLocalData(instrument, new Resolution(TimeFrame.Hourly, 1), DateTime.Now, DateTime.Now);

            Assert.AreEqual(barList.Count, rbs.Count());
        }
Exemple #6
0
        public void WriteData_TextDataBase_Forex()
        {
            TextDataBase tb = new TextDataBase();

            List <Bar> barList = new List <Bar>();

            barList.Add(Helper.GetUpBar());
            barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1)));
            barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1)));
            barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1)));
            barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1)));
            barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1)));

            var instrument = new Instrument {
                Type = InstrumentType.Forex, Name = "USD/CAD"
            };

            tb.WriteLocalData(instrument, new Resolution(TimeFrame.Hourly, 1), barList);
            var rbs = tb.ReadLocalData(instrument, new Resolution(TimeFrame.Hourly, 1), DateTime.Now, DateTime.Now);

            Assert.AreEqual(barList.Count, rbs.Count());
        }