コード例 #1
0
ファイル: Researcher.cs プロジェクト: TzarIvan/ratel
 public static void save(ResearchGUI gui)
 {
     try { makeRunInfo(gui).save(gui.name()); }
     catch (Exception e) {
         gui.logAndAlert("failed to save settings", e);
     }
 }
コード例 #2
0
ファイル: SystemRunInfo.cs プロジェクト: TzarIvan/ratel
 public void loadOnto(ResearchGUI gui)
 {
     LogC.info("loading " + this + " onto gui");
     if (parameters.has("systemId"))
     {
         gui.setSystemId(parameters.get <string>("systemId"));
     }
     if (parameters.has("RunNumber"))
     {
         gui.setRunNumberEnabled(true);
         gui.setRunNumber(parameters.get <string>("RunNumber"));
     }
     gui.setMarkets(markets);
     gui.setParameters(parameters);
     gui.setStartDate(startDate);
     gui.setEndDate(endDate);
     gui.setSlippageCalculator(slippageCalculatorName);
     gui.setRunInNativeCurrency(runInNativeCurrency);
 }
コード例 #3
0
ファイル: SystemRunInfo.cs プロジェクト: TzarIvan/ratel
        public static void load(ResearchGUI gui, bool isStarting)
        {
            if (isEmpty(gui.name()))
            {
                if (!isStarting)
                {
                    gui.alertUser("Fill in the Name box to continue.");
                }
                return;
            }
            var settings = file(gui.name());

            if (!settings.exists())
            {
                gui.alertUser("File missing:" + settings.path()); return;
            }
            LogC.verbose(() => "loading gui from file " + settings.path());
            var serialized = settings.bytes();
            var runInfo    = (SystemRunInfo)deserialize(serialized);

            runInfo.loadOnto(gui);
        }
コード例 #4
0
ファイル: Researcher.cs プロジェクト: TzarIvan/ratel
 public static void loadSystem(ResearchGUI gui)
 {
     try {
         var        systemId = int.Parse(gui.systemId());
         var        details  = Parameters.details(systemId);
         Parameters parameters;
         if (details.hasPv())
         {
             parameters = new Parameters {
                 { "systemId", systemId },
                 { "RunMode", (double)RunMode.LIVE }
             };
             gui.setMarkets(convert(list <Market>(details.liveSystem().markets()), market => market.name()));
         }
         else if (hasContent(gui.runNumber()))
         {
             parameters = new Parameters {
                 { "systemId", systemId },
                 { "RunNumber", int.Parse(gui.runNumber()) },
                 { "RunMode", (double)RunMode.STO }
             };
             gui.setMarkets(list <string>(MsivBacktestTable.BACKTEST.markets(details.siv(), details.stoId())));
         }
         else
         {
             parameters = new Parameters {
                 { "systemId", systemId },
                 { "RunMode", (double)RunMode.RIGHTEDGE }
             };
             each(list <string>(StrategyParameters.NAMES.names(details.siv().system())), name => parameters.Add(name, 0));
             gui.setMarkets(list <string>(MsivBacktestTable.BACKTEST.markets(details.siv(), details.stoId())));
         }
         gui.setRunNumberEnabled(details.hasValidStoDir());
         gui.setRunInNativeCurrency(details.runInNativeCurrency());
         gui.setParameters(parameters);
     } catch (Exception e) {
         gui.logAndAlert("failed to load system", e);
     }
 }
コード例 #5
0
ファイル: Researcher.cs プロジェクト: TzarIvan/ratel
 public Researcher(ResearchGUI gui)
 {
     this.gui = gui;
 }
コード例 #6
0
ファイル: Researcher.cs プロジェクト: TzarIvan/ratel
 static SystemRunInfo makeRunInfo(ResearchGUI gui)
 {
     return(new SystemRunInfo(gui.markets(), gui.parameters(), gui.startDate(), gui.endDate(), gui.slippageCalculator(), gui.runInNativeCurrency()));
 }
コード例 #7
0
ファイル: Researcher.cs プロジェクト: TzarIvan/ratel
 public static void load(ResearchGUI gui, bool isStarting)
 {
     SystemRunInfo.load(gui, isStarting);
 }