int Prognoz=0;//Сюда запишем прогнозint Target_100[];//Фактическая целеваяint Target_P[];//Тип сделки - покупка/продажаdouble Target_100_Buy[];//Финансовый результат от покупкиdouble Target_100_Sell[];//Финансовый результат от продажиdouble Fin_Rez[];//Финансовый результатint Strok_Total=0;//Всего строкint Index_Fin_Rez=1;//Считаем число классифицированных 1 и -1 - это размер массива баланса и индекс массива Fin_RezArrayResize(Target_100,Strok_Total);
ArrayResize(Target_P,Strok_Total);
ArrayResize(Target_100_Buy,Strok_Total);
ArrayResize(Target_100_Sell,Strok_Total);
ArrayResize(Fin_Rez,Strok_Total);
ArrayInitialize(Fin_Rez,0);
/*
Прочли данные файла в массивы - не знаю как реализовано у Вас
*/for(int i=0; i<Strok_Total; i++)
{
/*
Сделали прогноз
*/
if(Prognoz==-1 && Target_P[i]==-1)
{
Fin_Rez[Index_Fin_Rez]=Fin_Rez[Index_Fin_Rez-1]+Target_100_Sell[i];
Index_Fin_Rez++;
}
if(Prognoz==1 && Target_P[i]==1)
{
Fin_Rez[Index_Fin_Rez]=Fin_Rez[Index_Fin_Rez-1]+Target_100_Buy[i];
Index_Fin_Rez++;
}
}
ArrayResize(Fin_Rez,Index_Fin_Rez);
我们需要一个准确的财务结果来避免误差。 Fin. res. 如果我们选择 0(您不能将其包括在内,它将始终是 0),如果是 1,如果是 -1.即使标记为 0 类,也不要进行交易。模型会出错,有必要知道错误的代价。
决定进场方向的不是模型,因此如果方向有误,就不会进场,因此也不会亏损。
决定进场方向的不是模型,因此如果方向错误,就不会进场,也就不会有损失。
我写的是 0 级,有时会预测为 1 或 -1 级。你写的是财务结果未知。
决定进入方向的不是模式
如果不是模型决定的,那就没有必要教。
我写的是 "0 "类,有时会预测为 "1 "或"-1"。你写的是他的财务结果未知。
只是不要放弃方向。
如果类别为 0,方向为 +1,并且被归类为 1,那么就会有损失 - 取任何一列与财务结果相乘。
如果类别为零,方向为+1,但被归类为-1,则不会有进项和损失。
如果类别为零,方向为-1,且被归类为-1,则会出现亏损 - 取财务结果为模数的任意一列。
如果类别为零,方向为-1,并且被归类为 1,则不会有进项,也不会有损失。
如果不是模型决定的,就没有理由教。
这里的逻辑很简单--一些预测因子,甚至它们的值,更倾向于价格运动的某个特定方向。当我们把所有东西都按 1 类和 0 类一起讲授时,我们基本上是在选择决定任何一个方向的强烈运动的预测因子--通常这样的预测因子并不多,但如果我们给每个方向都划分出自己的类别,一些统计上的矛盾就会消失,而且模型已经可以包含一个预测因子在其值的不同端点的指标,例如 RSI 70/30 可以很容易地分开。
从理论上讲,零级是平的,因此每个方向都应该足够相似。同样,我将样本一次性分为两部分--按进入方向,这改善了学习结果--即符合盈利阈值标准的模型比例更高。
如果等级为 0,方向为 +1,而它被归类为 -1,则不会有输入,也不会有损失。
老师可以不入市。但模型会犯错,进入市场。模型从老师那里并不知道 0 和 +1,它收到的预测是 -1,因此会交易
老师可能不会进入。但模型会犯错误,进入市场。或者,您是否有一个条件运算符,禁止模型按照它的预测进行交易?恐怕我无处安放这样的运算符来建立平衡。
目前还没有运算符,但有相关数据,而且都写在 "Target_P "栏中,所以一切都能顺利进行。
下面是我草拟的建立余额的代码逻辑示例
目前还没有操作符,但有数据,而且数据已写入 "Target_P "列,因此一切都很顺利。
下面是我绘制的建立平衡的代码逻辑示例
模型只能根据预测进行交易。如果您使用教师计算结果,这就是在窥视未来。只能根据预测进行交易。在真实的未来,您不会有 Target_100_Sell。
模型不会从老师那里了解 0 和 +1,它会得到 -1 预测并进行交易。您只需要知道每个预测变量的财务结果。
模型只能根据预测进行交易。如果用老师的方法计算结果,那就是在窥视未来。交易只能根据预测进行。
模型不会从老师那里知道 0 和 +1,它会得到 -1 预测并进行交易。您只需要知道每个预测变量的财务结果。
这和偷看有什么关系。我们改变目标是为了提高学习效率,而不是改变 EA 的逻辑。我们的逻辑是,在没有模型的情况下,我们知道进入的方向,而模型应该告诉我们是否应该进入。
模型就会告诉你是否要进去。
我们已经检查过了。
我们已经查过了。
听着,我们有入市点 - 样本线,我们有由出市点定义的财务结果,即设置止损或其他信号的地方。如果您想违背策略入市,即在模型认为应该卖出的地方买入,那么您就需要定义新的出场点。问题来了,如果退出点还没有出现,但进入点已经出现,这时该怎么办?