Добрый день, коллеги. Сегодня хочется трезво посмотреть глазами инженера на так популярные сейчас искусственный интеллект и Deep learning, упорядочить, выстроить факты и выработать выигрышную стратегию – как с этим … взлететь, пролететь и не упасть кому-нибудь на голову? Потому-что, когда дело от лабораторных моделей на python/matplotlib/numpy...
你说得很对,当用动作工作时,一切都被大大简化了--没有什么需要 "编码"。此外,我们甚至不需要 "披着指标",没有指标我们也能看到运动的方向)。一切都比你想象的还要简单:)我们只需要桅杆上的风向标,甚至抬起手指就能看到风从哪里吹来。而它能持续多久,强度如何,则取决于风向)。我们可以在任何时候进入市场,我们不需要等待任何线,水平等,我们只需要 "风"。
承认市场是一个随机过程,我们不需要对控制市场的 "更高力量 "的行动做出任何假设,我们不需要试图预测什么,我们不需要寻找一些预测者,这(因为我们自己找不到),以及其他不必要的假设。即使 "更高的权力 "存在,他们的行动仍然在很大程度上对我们来说是不可预测的,也就是随机的。现在这些对我们来说都不重要了)。
你不会是受虐狂吧?为什么要对自己进行这样的嘲弄。而字面意义(我们对事物发展方向的猜测)是不可能用算法来计算的。我们通常在后果发生后才了解原因并理解它们。没有人取消一个原则 - 不要涉及多余的假设。而在所有关于控制市场的 "更高力量 "的假设中,以及试图解释他们的行动,这一原则正是被打破的。
你不是来自某个2千美元厨房 的哥萨克人,是吗?或者,也许你在错误的分支?
唯一能给 "市场一个随机过程 "的是完全放弃独立交易的动机,然后要么完全忘记市场,要么做点什么,比如说开一家经纪公司。
在这种情况下,问题不在于是否存在任何市场规律,它们就在市场的本质中,甚至不在于 "常识不可能被算法化",因为它可能是,问题是如何算法化比常识好得多,因为常识在大金融公司的机器人面前没有竞争对手。
你不会碰巧是某个2美元厨房 的哥萨克人吧?或者,也许你有错误的分支?
唯一能让人 "认识到市场是一个随机的过程 "的是完全放弃独立交易的动机,然后要么完全忘记市场,要么从事市场,比如说开自己的经纪公司。
在这种情况下,问题不在于市场是否存在任何规律性,它们就在市场的本质中,甚至不是 "常识不可能被算法化 "的问题,因为它是可能的,问题是如何算法化比常识好得多,因为常识在大型金融机构的机器人面前没有竞争对手。
加入
关于交易、自动交易系统和策略测试的论坛
MetaTrader 5策略测试仪!
Andrey Dik, 2016.11.21 16:38
任务。
#property strict
int countRuns = 0;
//+------------------------------------------------------------------+
int GetParamCount () export
{
textLen = StringLen(Code);
return (textLen);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void GetParamProperties (double &min, double &max, double &step) export
{
min = 0.0;
max = 40.0;
step = 1.0;
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
double FF (double ¶m []) export
{
countRuns++;
int sizeArray = ArraySize (param);
if(sizeArray != textLen)
return (0.0);
int ffVolue = 0;
for (int i=0; i< textLen; i++)
{
if(GetCode(param [i]) == StringSubstr(Code, i, 1))
ffVolue++;
}
return (double(ffVolue));
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int GetCountRunsFF () export
{
return (countRuns);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void PrintCodeToFile (double ¶m []) export
{
int sizeArray = ArraySize (param);
if(sizeArray != textLen)
{
Print ("Неверное количество параметров, печать в файл производится не будет!");
return;
}
string code = "";
for(int i=0; i<textLen; i++)
{
code+=GetCode (param[i]);
}
int handle = FileOpen ("decodeFF.csv", FILE_READ|FILE_WRITE|FILE_ANSI|FILE_CSV);
if(handle==INVALID_HANDLE)
{
Print ("Ошибка записи в файл востановленного текста ФФ. Ошибка: "+ (string)GetLastError());
return;
}
FileWriteString(handle, code);
FileClose (handle);
}
//+------------------------------------------------------------------+
string GetCode (double param)
{
int p = (int) MathRound (param);
if(p <0)
p = 0;
if(p > 40)
p = 40;
return (Key [p]);
}
string Key [41] = {"а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", ";", ":", ".", ",", "-", "?", "!", " "};
int textLen = 0;
string Code = "редко научная статья сочетает в себе эти два типа";
我的算法和MT的结果。
我请大师们把用他们的数学包解决这个数学问题的结果公布出来。
rm(list=ls());gc()
library(GenSA)
letters_s <- c(LETTERS, month.name, 1, 2, ' ')
strings <- letters_s[round(runif(49, 1, 41))]
predictor_number <- 49
set.seed(1)
par_v <- as.numeric(runif(predictor_number, min = 1, max = length(letters_s)))
par_low <- as.numeric(rep(1, times = predictor_number))
par_upp <- as.numeric(rep(length(letters_s), times = predictor_number))
fitness_f <- function(par){
letters_s <- letters_s
strings <- strings
return(as.numeric(-sum(strings == letters_s[round(par)])))
# print(-sum(strings == letters_s[round(par)]))
}
start <- Sys.time()
sao <- GenSA(par = par_v, fn = fitness_f, lower = par_low, upper = par_upp
, control = list(max.time = 2, smooth = FALSE, simple.function = FALSE))
trace_ff <- data.frame(sao$trace)$function.value
plot(trace_ff, type = "l")
percent(- sao$value)
final_vector <- letters_s[round(sao$par)]
Sys.time() - start
print(sum(letters_s[round(sao$par)] == strings))
在不到2秒的时间内就解决了这个问题,问题很简单。
关于交易、自动交易系统和策略测试的论坛
MetaTrader 5策略测试仪!
fxsaber, 2016.11.23 08:33
fxsaber:
去优化算法社区并制定问题是一个好主意。如果你告诉他们你有撕裂的R,他们会立即产生兴趣。而且他们会向你展示他们的成果。
总的来说,R已经撕裂了所有人
https://www.mql5.com/ru/forum/852/page68#comment_3864317
总而言之,R让大家都很纠结。
https://www.mql5.com/ru/forum/852/page68#comment_3864317
致本网站所有的自行车发明者!
有这样一个过气的工匠:在他的童年,他用乐高组装了非常有趣的东西,然后他长大了,组装了一辆自行车,有时你甚至可以骑它,虽然没有地方可去。
但他的自尊心扼杀了他,他找到梅赛德斯公司,这家制造地球上所有移动物品的公司,说:来吧,让我们竞争,否则我将把你撕成碎片。他把它撕成碎片,但只有工匠注意到。担心什么呢?它有开发、设计、生产、客户投诉...数十万名雇员。总的来说,这仍然是一个令人头疼的问题--没有时间去重新发明自行车。
PS。
男人们,忙着做R吧。毕竟,你们中的大多数人都有能力掌握一个真正的工具来创建决策模型。这很可能在几年内就能获利。
男人们,拿起R。毕竟,你们中的大多数人都有能力掌握一个真正的决策建模工具。它很可能在几年内就能盈利。
人工智能、挑战和风险--通过一个工程师的眼睛
男人们,拿起R。毕竟,你们中的大多数人都有能力掌握一个真正的决策建模工具。它很可能在几年内实现盈利。
人工智能、挑战和风险--通过一个工程师的眼睛
很多话,但实质上.....,可能没有抓住它,或者也许它不存在,因为对我来说,这个人只是抱怨了一下))