{"size":{"Width":405,"Height":209},"appearance":{"background":null,"padding":14,"font":{"family":"Courier New","size":10.0,"bold":false,"italic":false,"underline":false,"strikeout":false,"color":"rgb(0,72,168)"},"border":{"on":true,"size":0.0,"style":"solid","color":"#666"},"text":{"wrap":false,"hAlign":"left","vAlign":"top"}},"outputType":"TABLE","widgetState":null,"outputs":{"text":" GBPUSD.X.Close MSFT.Close\n2017-11-20 1.320271 82.53\n2017-11-21 1.324503 83.72\n2017-11-22 1.324556 83.11\n2017-11-23 1.331682 NA\n2017-11-24 1.330672 83.26\n2017-11-27 1.334205 NA\n","console":"<pre class='debug-source'>&gt;library(quantmod)\n</pre>\n<pre class='debug-message'>Loading required package: xts\n</pre>\n<pre class='debug-message'>Loading required package: zoo\n</pre>\n<pre class='debug-message'>\nAttaching package: &#39;zoo&#39;\n\n</pre>\n<pre class='debug-message'>The following objects are masked from &#39;package:base&#39;:\n\n as.Date, as.Date.numeric\n\n</pre>\n<pre class='debug-message'>Loading required package: TTR\n</pre>\n<pre class='debug-message'>Version 0.4-0 included new data defaults. See ?getSymbols.\n</pre>\n<pre class='debug-source'>&gt;library(flipU)\n</pre>\n<pre class='debug-source'>&gt;library(flipTime)\n</pre>\n<pre class='debug-source'>&gt;library(reshape2)\n</pre>\n<pre class='debug-source'>&gt; \n</pre>\n<pre class='debug-source'>&gt;symbols &lt;- ConvertCommaSeparatedStringToVector(formSymbols)\n</pre>\n<pre class='debug-source'>&gt;\n</pre>\n<pre class='debug-source'>&gt;if (exists(&quot;formStartDate&quot;)) {\n start.date &lt;- formStartDate\n} else {\n period &lt;- switch(formPeriod,\n &quot;Last week&quot; = &quot;-1 week&quot;,\n &quot;Last month&quot; = &quot;-1 month&quot;,\n &quot;Last 3 months&quot; = &quot;-3 months&quot;,\n &quot;Last 6 months&quot; = &quot;-6 months&quot;,\n &quot;Last year&quot; = &quot;-1 year&quot;,\n &quot;Last 5 years&quot; = &quot;-5 years&quot;,\n &quot;Last 10 years&quot; = &quot;-10 years&quot;)\n start.date &lt;- seq(as.Date(Sys.Date()), length = 2, by = period)[2]\n}\n</pre>\n<pre class='debug-source'>&gt;end.date &lt;- get0(&quot;formEndDate&quot;, ifnotfound = &quot;&quot;)\n</pre>\n<pre class='debug-source'>&gt;if (end.date == &quot;&quot;)\n end.date &lt;- Sys.Date()\n</pre>\n<pre class='debug-source'>&gt;\n</pre>\n<pre class='debug-source'>&gt;data &lt;- new.env()\n</pre>\n<pre class='debug-source'>&gt;tryCatch({suppressWarnings(getSymbols(symbols, env = data, from = start.date, to = end.date, auto.assign = TRUE))}, \n error=function(e) {\n if (grepl(&quot;download failed&quot;, e$message, fixed = TRUE)) stop(&quot;Unrecognized stock symbol(s).&quot;)\n if (grepl(&quot;unambiguous format&quot;, e$message, fixed = TRUE)) stop(&quot;Unrecognized start and/or end date.&quot;) \n stop(e)})\n</pre>\n<pre class='debug-message'>&#39;getSymbols&#39; currently uses auto.assign=TRUE by default, but will\nuse auto.assign=FALSE in 0.5-0. You will still be able to use\n&#39;loadSymbols&#39; to automatically load data. getOption(&quot;getSymbols.env&quot;)\nand getOption(&quot;getSymbols.auto.assign&quot;) will still be checked for\nalternate defaults.\n\nThis message is shown once per session and may be disabled by setting \noptions(&quot;getSymbols.warning4.0&quot;=FALSE). See ?getSymbols for details.\n</pre>\n<pre class='debug-message'>\nWARNING: There have been significant changes to Yahoo Finance data.\nPlease see the Warning section of &#39;?getSymbols.yahoo&#39; for details.\n\nThis message is shown once per session and may be disabled by setting\noptions(&quot;getSymbols.yahoo.warning&quot;=FALSE).\n</pre>\n<pre class='debug-out'>[1] &quot;MSFT&quot; &quot;GBPUSD=X&quot;\n</pre>\n<pre class='debug-source'>&gt;\n</pre>\n<pre class='debug-source'>&gt;permitted.fields &lt;- c(&quot;Open&quot;, &quot;High&quot;, &quot;Low&quot;, &quot;Close&quot;)\n</pre>\n<pre class='debug-source'>&gt;if (formFields == &quot;&quot;) {\n fields &lt;- 4\n} else {\n fields &lt;- ConvertCommaSeparatedStringToVector(formFields)\n fields &lt;- match(fields , permitted.fields)\n if (any(is.na(fields)))\n stop(&quot;Unrecognized data fields.&quot;)\n}\n</pre>\n<pre class='debug-source'>&gt;\n</pre>\n<pre class='debug-source'>&gt;all.data &lt;- data[[ls(data)[1]]][, fields]\n</pre>\n<pre class='debug-source'>&gt;if (length(symbols) &gt; 1) {\n for (symbol in ls(data)[2:length(symbols)]) {\n all.data &lt;- merge(all.data, data[[symbol]][, fields])\n }\n}\n</pre>\n<pre class='debug-source'>&gt;\n</pre>\n<pre class='debug-source'>&gt;if(formLongFormat) {\n all.data &lt;- melt(as.matrix(all.data))\n colnames(all.data) &lt;- c(&quot;Date&quot;, &quot;Symbol.field&quot;, &quot;Value&quot;)\n}\n</pre>\n<pre class='debug-source'>&gt;\n</pre>\n<pre class='debug-source'>&gt;# Create regular updating message\n</pre>\n<pre class='debug-source'>&gt;if (formUpdating) {\n options &lt;- ifelse(formSnapshot, &quot;snapshot&quot;, &quot;wakeup&quot;)\n if (formStart != &quot;&quot;) {\n if (formTimeZone == &quot;&quot;) formTimeZone &lt;- &quot;UTC&quot;\n UpdateAt(formStart, us.format = formUSDate, time.zone = formTimeZone,\n units = tolower(formUpdatePeriod), frequency = formFrequency, options = options)\n } else\n UpdateEvery(formFrequency, units = tolower(formUpdatePeriod), options = options)\n}\n</pre>\n<pre class='debug-source'>&gt;\n</pre>\n<pre class='debug-source'>&gt;stock.prices.2 &lt;- data.frame(all.data)\n</pre>\n<pre class='debug-out'> GBPUSD.X.Close MSFT.Close\n2017-11-20 1.320271 82.53\n2017-11-21 1.324503 83.72\n2017-11-22 1.324556 83.11\n2017-11-23 1.331682 NA\n2017-11-24 1.330672 83.26\n2017-11-27 1.334205 NA\n</pre>\r\n<div class=\"debug-summarystatistics\">\r\n<table>\r\n<tr><th>Total time:</th><td>1.80s</td></tr>\r\n<tr><th>Time on R server:</th><td title=\"rApacheServe 1.74s (pre 0.00s, post 0.00s) httpget_code() setup for eval 0.00s session$eval 1.71s (pre 0.00s, post 0.03s) unexplained 0.03s apparmor forking (pre 0.00s, post 0.00s)\">1.74s</td></tr>\r\n<tr><th>Time evaluating code:</th><td>1.61s</td></tr>\r\n<tr><th>Bytes sent:</th><td>3,046</td></tr>\r\n<tr><th>Bytes received:</th><td>11,399</td></tr>\r\n</table>\r\n</div>","message":"Loading required package: xts\n\r\nLoading required package: zoo\n\r\n\nAttaching package: 'zoo'\n\n\r\nThe following objects are masked from 'package:base':\n\n as.Date, as.Date.numeric\n\n\r\nLoading required package: TTR\n\r\nVersion 0.4-0 included new data defaults. See ?getSymbols.\n\r\n'getSymbols' currently uses auto.assign=TRUE by default, but will\nuse auto.assign=FALSE in 0.5-0. You will still be able to use\n'loadSymbols' to automatically load data. getOption(\"getSymbols.env\")\nand getOption(\"getSymbols.auto.assign\") will still be checked for\nalternate defaults.\n\nThis message is shown once per session and may be disabled by setting \noptions(\"getSymbols.warning4.0\"=FALSE). See ?getSymbols for details.\n\r\n\nWARNING: There have been significant changes to Yahoo Finance data.\nPlease see the Warning section of '?getSymbols.yahoo' for details.\n\nThis message is shown once per session and may be disabled by setting\noptions(\"getSymbols.yahoo.warning\"=FALSE).\n","warning":"","table":"{\"Dimensions\":[{\"IsStatistic\":true,\"Elements\":[{\"IsNumber\":true,\"IsBoolean\":false,\"IsDateTime\":false,\"IsPercent\":false,\"HasDecimalPlaces\":true,\"DecimalPlaces\":3,\"MoneySymbol\":null,\"IsCategorical\":false,\"Categories\":[],\"SeriesType\":0,\"Id\":\"StatisticsElement0\",\"Name\":\"GBPUSD.X.Close\",\"WrappedName\":[\"GBPUSD.X.Close\"],\"IsText\":false},{\"IsNumber\":true,\"IsBoolean\":false,\"IsDateTime\":false,\"IsPercent\":false,\"HasDecimalPlaces\":true,\"DecimalPlaces\":3,\"MoneySymbol\":null,\"IsCategorical\":false,\"Categories\":[],\"SeriesType\":0,\"Id\":\"StatisticsElement1\",\"Name\":\"MSFT.Close\",\"WrappedName\":[\"MSFT.Close\"],\"IsText\":false}],\"Id\":\"StatisticsDimensionID\",\"Name\":null,\"WrappedName\":null,\"Tiers\":[],\"Count\":2},{\"IsStatistic\":false,\"Elements\":[{\"Id\":\"RowDimensionElement0\",\"Name\":\"2017-11-20\",\"WrappedName\":[\"2017-11-20\"]},{\"Id\":\"RowDimensionElement1\",\"Name\":\"2017-11-21\",\"WrappedName\":[\"2017-11-21\"]},{\"Id\":\"RowDimensionElement2\",\"Name\":\"2017-11-22\",\"WrappedName\":[\"2017-11-22\"]},{\"Id\":\"RowDimensionElement3\",\"Name\":\"2017-11-23\",\"WrappedName\":[\"2017-11-23\"]},{\"Id\":\"RowDimensionElement4\",\"Name\":\"2017-11-24\",\"WrappedName\":[\"2017-11-24\"]},{\"Id\":\"RowDimensionElement5\",\"Name\":\"2017-11-27\",\"WrappedName\":[\"2017-11-27\"]}],\"Id\":\"RowCategoricalDimension\",\"Name\":null,\"WrappedName\":null,\"Tiers\":[],\"Count\":6}],\"DataPoints\":[[{\"Value\":1.320271,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":1.324503,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":1.324556,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":1.331682,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":1.330672,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":1.334205,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null}],[{\"Value\":82.529999,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":83.720001,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":83.110001,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":null,\"WrappedText\":null,\"IsBlank\":true,\"Significance\":null,\"ExtraText\":null},{\"Value\":83.260002,\"WrappedText\":null,\"IsBlank\":null,\"Significance\":null,\"ExtraText\":null},{\"Value\":null,\"WrappedText\":null,\"IsBlank\":true,\"Significance\":null,\"ExtraText\":null}]],\"Settings\":{\"CellDimensionId\":null,\"RowDimensionsIds\":[\"RowCategoricalDimension\"],\"ColumnDimensionsIds\":[\"StatisticsDimensionID\"],\"ColumnHeadersHidden\":false,\"Title\":null,\"Footnote\":null,\"IsRowHeadersSortable\":false,\"IsColumnHeadersSortable\":true,\"HeaderSorts\":[],\"IsRowHeadersFilterable\":false,\"IsColumnHeadersFilterable\":true,\"HeaderFilters\":[],\"PaginationParameters\":null,\"TableStyleCssClass\":\"style-97ba0187-37c0-47a1-a4ad-31b0f5281e77-1-_-_\",\"LiveTableFormat\":{},\"AvailableWidth\":405,\"AvailableHeight\":209,\"TableWidth\":null}}"},"secondsTaken":1.7971073000000002,"updated":"2017-11-27T05:06:03.3805452Z","lastUpdatedMessage":null,"executedCode":"library(quantmod)\nlibrary(flipU)\nlibrary(flipTime)\nlibrary(reshape2)\n \nsymbols <- ConvertCommaSeparatedStringToVector(formSymbols)\n\nif (exists(\"formStartDate\")) {\n start.date <- formStartDate\n} else {\n period <- switch(formPeriod,\n \"Last week\" = \"-1 week\",\n \"Last month\" = \"-1 month\",\n \"Last 3 months\" = \"-3 months\",\n \"Last 6 months\" = \"-6 months\",\n \"Last year\" = \"-1 year\",\n \"Last 5 years\" = \"-5 years\",\n \"Last 10 years\" = \"-10 years\")\n start.date <- seq(as.Date(Sys.Date()), length = 2, by = period)[2]\n}\nend.date <- get0(\"formEndDate\", ifnotfound = \"\")\nif (end.date == \"\")\n end.date <- Sys.Date()\n\ndata <- new.env()\ntryCatch({suppressWarnings(getSymbols(symbols, env = data, from = start.date, to = end.date, auto.assign = TRUE))}, \n error=function(e) {\n if (grepl(\"download failed\", e$message, fixed = TRUE)) stop(\"Unrecognized stock symbol(s).\")\n if (grepl(\"unambiguous format\", e$message, fixed = TRUE)) stop(\"Unrecognized start and/or end date.\") \n stop(e)})\n\npermitted.fields <- c(\"Open\", \"High\", \"Low\", \"Close\")\nif (formFields == \"\") {\n fields <- 4\n} else {\n fields <- ConvertCommaSeparatedStringToVector(formFields)\n fields <- match(fields , permitted.fields)\n if (any(is.na(fields)))\n stop(\"Unrecognized data fields.\")\n}\n\nall.data <- data[[ls(data)[1]]][, fields]\nif (length(symbols) > 1) {\n for (symbol in ls(data)[2:length(symbols)]) {\n all.data <- merge(all.data, data[[symbol]][, fields])\n }\n}\n\nif(formLongFormat) {\n all.data <- melt(as.matrix(all.data))\n colnames(all.data) <- c(\"Date\", \"Symbol.field\", \"Value\")\n}\n\n# Create regular updating message\nif (formUpdating) {\n options <- ifelse(formSnapshot, \"snapshot\", \"wakeup\")\n if (formStart != \"\") {\n if (formTimeZone == \"\") formTimeZone <- \"UTC\"\n UpdateAt(formStart, us.format = formUSDate, time.zone = formTimeZone,\n units = tolower(formUpdatePeriod), frequency = formFrequency, options = options)\n } else\n UpdateEvery(formFrequency, units = tolower(formUpdatePeriod), options = options)\n}\n\nstock.prices.2 <- data.frame(all.data)","lastSavedCode":"library(quantmod)\nlibrary(flipU)\nlibrary(flipTime)\nlibrary(reshape2)\n \nsymbols <- ConvertCommaSeparatedStringToVector(formSymbols)\n\nif (exists(\"formStartDate\")) {\n start.date <- formStartDate\n} else {\n period <- switch(formPeriod,\n \"Last week\" = \"-1 week\",\n \"Last month\" = \"-1 month\",\n \"Last 3 months\" = \"-3 months\",\n \"Last 6 months\" = \"-6 months\",\n \"Last year\" = \"-1 year\",\n \"Last 5 years\" = \"-5 years\",\n \"Last 10 years\" = \"-10 years\")\n start.date <- seq(as.Date(Sys.Date()), length = 2, by = period)[2]\n}\nend.date <- get0(\"formEndDate\", ifnotfound = \"\")\nif (end.date == \"\")\n end.date <- Sys.Date()\n\ndata <- new.env()\ntryCatch({suppressWarnings(getSymbols(symbols, env = data, from = start.date, to = end.date, auto.assign = TRUE))}, \n error=function(e) {\n if (grepl(\"download failed\", e$message, fixed = TRUE)) stop(\"Unrecognized stock symbol(s).\")\n if (grepl(\"unambiguous format\", e$message, fixed = TRUE)) stop(\"Unrecognized start and/or end date.\") \n stop(e)})\n\npermitted.fields <- c(\"Open\", \"High\", \"Low\", \"Close\")\nif (formFields == \"\") {\n fields <- 4\n} else {\n fields <- ConvertCommaSeparatedStringToVector(formFields)\n fields <- match(fields , permitted.fields)\n if (any(is.na(fields)))\n stop(\"Unrecognized data fields.\")\n}\n\nall.data <- data[[ls(data)[1]]][, fields]\nif (length(symbols) > 1) {\n for (symbol in ls(data)[2:length(symbols)]) {\n all.data <- merge(all.data, data[[symbol]][, fields])\n }\n}\n\nif(formLongFormat) {\n all.data <- melt(as.matrix(all.data))\n colnames(all.data) <- c(\"Date\", \"Symbol.field\", \"Value\")\n}\n\n# Create regular updating message\nif (formUpdating) {\n options <- ifelse(formSnapshot, \"snapshot\", \"wakeup\")\n if (formStart != \"\") {\n if (formTimeZone == \"\") formTimeZone <- \"UTC\"\n UpdateAt(formStart, us.format = formUSDate, time.zone = formTimeZone,\n units = tolower(formUpdatePeriod), frequency = formFrequency, options = options)\n } else\n UpdateEvery(formFrequency, units = tolower(formUpdatePeriod), options = options)\n}\n\nstock.prices.2 <- data.frame(all.data)","highlightedCodeSpans":[{"start":118,"length":11,"index":4},{"start":225,"length":10,"index":4},{"start":1229,"length":10,"index":4},{"start":1324,"length":10,"index":4},{"start":1649,"length":14,"index":4},{"start":1811,"length":12,"index":4}],"tableTransformations":"<TabularTransformer>\r\n <TabularTransform type=\"Truncation\" truncationHeaderType=\"Column\" />\r\n <TabularTransform />\r\n</TabularTransformer>","tabularFilteringOptions":null,"hasGuiControls":true,"guiControls":{"Code":"form.setHeading(\"Stock Prices\");\nform.textBox({name: \"formSymbols\",\n label: \"Stock symbol(s)\", \n required: true, prompt: \"For example: MSFT\"});\nform.comboBox({name: \"formDataSource\",\n label: \"Data source\", \n alternatives: [\"yahoo\", \"google\"],\n default_value: \"yahoo\"});\nvar time = form.comboBox({name: \"formPeriod\",\n label: \"Period\", \n alternatives: [\"Last week\", \"Last month\", \"Last 3 months\", \"Last year\", \"Last 5 years\", \"Last 10 years\", \"Custom range\"],\n default_value: \"Last 5 years\"});\nif (time.getValue() == \"Custom range\") {\n form.textBox({name: \"formStartDate\", label: \"Start date (yyyy-mm-dd)\", prompt:\"For example: 2015-01-01\", required: true});\n form.textBox({name: \"formEndDate\", label: \"End date (yyyy-mm-dd)\", prompt:\"For example: 2015-12-31\", required: false});\n}\nform.textBox({name: \"formFields\", label: \"Data fields\", \n required: false, prompt: \"Default Close, or any combination of Open, Close, High, Low\"});\nform.checkBox({label:\"Long format output\", name:\"formLongFormat\", default_value:false});\n\n// Controls for regular updating\nvar updating = form.checkBox({label:\"Automatic updating\", name:\"formUpdating\", default_value:false}).getValue();\nif (updating) {\n form.group(\"UPDATING\");\n var period = form.comboBox({name: \"formUpdatePeriod\", label: \"Update period\", \n alternatives: [\"Months\", \"Weeks\", \"Days\", \"Hours\", \"Minutes\", \"Seconds\"], default_value: \"Days\"}).getValue();\n var defaultFrequency = 1;\n if (period == \"Seconds\")\n defaultFrequency = 600;\n else if (period == \"Minutes\")\n defaultFrequency = 10;\n form.numericUpDown({name: \"formFrequency\", label: \"Frequency\", default_value: defaultFrequency, increment: 1, minimum: defaultFrequency, maximum: 1000000});\n var start = form.textBox({name: \"formStart\", label: \"Start date and time\", \n required: false, prompt: \"Default now, or e.g. 31-12-2018 18:00:00\"}).getValue();\n if (start != \"\") {\n form.checkBox({label:\"US date format\", name:\"formUSDate\", default_value:false});\n form.textBox({name: \"formTimeZone\", label: \"Time zone\", \n required: false, prompt: \"Leave blank for UTC or enter e.g. America/New_York\"}); \n }\n form.checkBox({name: \"formSnapshot\", label: \"Republish\", default_value: false});\n}","JSError":null,"JSErrorDetails":null,"ControlDefinitionErrors":null,"InputValidationErrors":null,"Controls":[{"ItemGuid":"00000000-0000-0000-0000-000000000000","ControlName":null,"Page":null,"Group":null,"Type":"Heading","Label":null,"Value":null,"Allowed":null,"EmptyListMessage":null,"Multi":false,"Prompt":null,"ErrorMessage":null,"Invalid":null,"Required":false,"AllowedTypes":null,"MinInputs":0,"MaxInputs":0,"Height":0,"Duplicates":false,"Values":null,"CheckAlign":null,"Text":"Stock Prices","Increment":0.0,"Min":0.0,"Max":0.0,"Vertical":null},{"ItemGuid":"00000000-0000-0000-0000-000000000000","ControlName":"formSymbols","Page":null,"Group":null,"Type":"TextBox","Label":"Stock symbol(s)","Value":"MSFT, GBPUSD=X","Allowed":null,"EmptyListMessage":null,"Multi":false,"Prompt":"For example: MSFT","ErrorMessage":null,"Invalid":null,"Required":false,"AllowedTypes":null,"MinInputs":0,"MaxInputs":0,"Height":0,"Duplicates":false,"Values":null,"CheckAlign":null,"Text":null,"Increment":0.0,"Min":0.0,"Max":0.0,"Vertical":null},{"ItemGuid":"00000000-0000-0000-0000-000000000000","ControlName":"formDataSource","Page":null,"Group":null,"Type":"ComboBox","Label":"Data source","Value":"yahoo","Allowed":null,"EmptyListMessage":null,"Multi":false,"Prompt":null,"ErrorMessage":null,"Invalid":null,"Required":true,"AllowedTypes":null,"MinInputs":0,"MaxInputs":0,"Height":0,"Duplicates":false,"Values":["yahoo","google"],"CheckAlign":null,"Text":null,"Increment":0.0,"Min":0.0,"Max":0.0,"Vertical":null},{"ItemGuid":"00000000-0000-0000-0000-000000000000","ControlName":"formPeriod","Page":null,"Group":null,"Type":"ComboBox","Label":"Period","Value":"Last week","Allowed":null,"EmptyListMessage":null,"Multi":false,"Prompt":null,"ErrorMessage":null,"Invalid":null,"Required":true,"AllowedTypes":null,"MinInputs":0,"MaxInputs":0,"Height":0,"Duplicates":false,"Values":["Last week","Last month","Last 3 months","Last year","Last 5 years","Last 10 years","Custom range"],"CheckAlign":null,"Text":null,"Increment":0.0,"Min":0.0,"Max":0.0,"Vertical":null},{"ItemGuid":"00000000-0000-0000-0000-000000000000","ControlName":"formFields","Page":null,"Group":null,"Type":"TextBox","Label":"Data fields","Value":"","Allowed":null,"EmptyListMessage":null,"Multi":false,"Prompt":"Default Close, or any combination of Open, Close, High, Low","ErrorMessage":null,"Invalid":null,"Required":false,"AllowedTypes":null,"MinInputs":0,"MaxInputs":0,"Height":0,"Duplicates":false,"Values":null,"CheckAlign":null,"Text":null,"Increment":0.0,"Min":0.0,"Max":0.0,"Vertical":null},{"ItemGuid":"00000000-0000-0000-0000-000000000000","ControlName":"formLongFormat","Page":null,"Group":null,"Type":"CheckBox","Label":"Long format output","Value":false,"Allowed":null,"EmptyListMessage":null,"Multi":false,"Prompt":null,"ErrorMessage":null,"Invalid":null,"Required":false,"AllowedTypes":null,"MinInputs":0,"MaxInputs":0,"Height":0,"Duplicates":false,"Values":null,"CheckAlign":"left","Text":null,"Increment":0.0,"Min":0.0,"Max":0.0,"Vertical":null},{"ItemGuid":"00000000-0000-0000-0000-000000000000","ControlName":"formUpdating","Page":null,"Group":null,"Type":"CheckBox","Label":"Automatic updating","Value":false,"Allowed":null,"EmptyListMessage":null,"Multi":false,"Prompt":null,"ErrorMessage":null,"Invalid":null,"Required":false,"AllowedTypes":null,"MinInputs":0,"MaxInputs":0,"Height":0,"Duplicates":false,"Values":null,"CheckAlign":"left","Text":null,"Increment":0.0,"Min":0.0,"Max":0.0,"Vertical":null},{"ItemGuid":"00000000-0000-0000-0000-000000000000","ControlName":null,"Page":null,"Group":null,"Type":null,"Label":null,"Value":null,"Allowed":null,"EmptyListMessage":null,"Multi":false,"Prompt":null,"ErrorMessage":null,"Invalid":null,"Required":false,"AllowedTypes":null,"MinInputs":0,"MaxInputs":0,"Height":0,"Duplicates":false,"Values":null,"CheckAlign":null,"Text":null,"Increment":0.0,"Min":0.0,"Max":0.0,"Vertical":true}]},"calculating":"Idle","showDebug":false,"layout":"OutputOnly","vSplit":0.25,"hSplit":0.45,"updateWarnings":true,"updateMode":"Manual","warnSlow":false,"Options":{"debugconsole":false,"codeposition":"OutputOnly","splitH":0.45,"splitV":0.25,"update warnings":true,"updating":"Manual","warn slow":false}}