淘宝网上有卖的,有卖的,有卖的,有卖的,有卖的,有卖的,有卖的,有卖的。 - 页 22

 
capellini писал(а)>>

我想问一个后续问题...

有一些交易对,EA没有以任何方式进行优化,甚至没有出现第一个结果。例如,USDCHF。

它可能与什么有关?

好吧,我们又来了。

再一次的第二十六次。
在价格变动方面没有完全相同的工具,有的是类似的。
我们不会试图猜测或在图表上想象在哪里和何时进入。
这就是为什么如果没有结果,或者只有差的结果,我们应该改变范围和优化时期,你也可以玩玩SL和追踪水平。对于一些符号,我把周期减少到三周甚至两周,我试图增加日元交叉盘的SL。一般来说,我试图找到最佳值,在优化过程中提供良好的结果。因此,我认为在用遗传学进行优化时,在1万次运行中能提供6-8千种盈利组合的参数是相对正确的。那么根据大数法则,盈利的概率是亏损概率的两倍,这意味着优化只是一种形式,在有大量周数的情况下,利润至少会超过亏损两倍。现实上更多。
因此,请分享你是如何测试的,以及结果是什么。这在一个星期内是不容易的。
我这周的余额是+690美元,股权....。资产净值为+750美元多一点,嗯,今天下午接近1000美元。几乎所有的职位都已关闭。

 

关于这个错误。它就在startM1()函数中。因为它在测试者和演示者的首次交易中存在差异。

//+------------------------------------------------------------------+
void startM1() {ticket = -1;RefreshRates();
if (total < HM_ALL) { BuSll (0,1,772012000); cmmnt();
if( !(DayOfWeek( ) == 1 && Hour( ) <2) && !(DayOfWeek( ) == 5 && Hour( ) >=18))
{if (Trd_Up_X && VSR() > 0 && bu<HM_Up_X&&Flq) {
如果(MOS( 0, lots, sl, tp, WindowExpertName(), mn)==1) {Flq=false;}//用>=代替

如果(Trd_Dn_Y && VSR() < 0 && sll<HM_Dn_Y&&Flq){
if (MOS( 1, lots, sl, tp, WindowExpertName(), mn)==1) {Flq=false;}//用>=
}}替换
。}
//+------------------------------------------------------------------+

这个错误并不关键,因为它的存在,禁止在一个酒吧再开一个交易的规定没有发挥作用。

我将在新的版本中纠正它,但现在你可以手动进行。

 

SHooter777ру: Советник понравился. После сегодняшнего слива демки оптимизацию делаю под 200$ (MiniForex). В принципе почти не отличается от 2000$. в оптимизационных сетах стоплоссы ставлю 50 с шагом 10, но все равно лучшие профиты со стоплоссами от 500 получаются. Уже в конечных сетах подбираю приемлемые в пределах 50-200 вручную. Влияет ли шаг и стоп в сетах на торговлю? (По наблюдениям не заметил). Еще вопрос: Можно ли оптимизировать под MicroForex (мин. лот 0,01)? Торгую на Pro Finance Group Inc платформа PFG FX Trader 4 (поддерживает MQL4). К сожалению на МикроФорексе нет демки.

有人在现实生活中尝试过EA吗?它与演示有很大不同吗?


图片显示的是本周用 SHooter777r 套装在演示中的交易 有了+800的交易余额,我决定在3个货币对上使用另一个EA,并且...贪婪害死人--可用资金降到了100以下,当然也没有开出反仓,所以我的账户几乎破产了。


祝大家交易顺利!

附加的文件:
 

我下载了EA,并再次确信,要快速阅读别人的年,你需要对mql语言有更专业的了解,要写自己的代码,知识和经验是最基本的。作者,如果你发布了代码,就在其中写上评论,并将整个代码分成若干块。

这可能是一个有趣的专家顾问,我可能根据自己的经验推荐了一些东西,但我不想深入研究原始代码。时间是宝贵的。

 
.
附加的文件:
 

关于最新版本的东西不工作了。

优化器在第一阶段甚至没有开出一笔交易。

为前一个EA优化了参数的测试器也是这样工作的。

 

我很抱歉!我花了半个小时来写说明,但这个有故障的论坛不仅掩盖了字母,还丢失了所有的文字。

我准备用wordpress写,然后粘贴在这里。稍微等一下。

 

L9 的新版本包含一些次要的,但我认为必要的补充和改变。

首先:增加了FLG()函数--它负责两件事

//+------------------------------------------------------------------+

bool FLG (int cs )

{ int AE = AccountEquity( ) ;

switch(cs)

{case 0: if((DayOfWeek( ) ==5 && Hour( ) >=22) || (TrBlnc && (AE > UBlnc))

返回(true);否则返回(false)。

case 1: string dttm = StringConcatenate (Year(),".",Month(),".",Day() )。

数据时间smtm=StrToTime(dttm)。

bool Gp;

int shft = iBarShift(NULL,0,smtm);

double iOpn = iOpen (NULL,0,shft); double iCls = iClose (NULL,0,shft+1) 。

double dOC = MathAbs ((iOpn - iCls)/(Point*10));

如果(dOC>20) Gp = true; 打印(Gp)。

string var1=TimeToStr(smtm,TIME_DATE|TIME_SECONDS)。

如果((TrBlnc && ((AE > UBlnc)|(AE < DBlnc)) || (! Flq)

|| ((DayOfWeek( ) == 1 && Hour( ) <2) || (DayOfWeek( ) == 5 && Hour( ) >=18))

|| ((DayOfWeek( ) ==1 && Hour( ) <14) && Gp))

返回(false);否则返回(true)。

}

}

//+------------------------------------------------------------------+

a)FLG( 0 ) - 在指定条件下强制平仓

b)FLG( 1 ) - 在特定条件下禁止开仓。

在这里你可以插入任何附加条件 ,并且不要 "重载 "void startM1()函数和其他地方。

我选择了周末进行强制平仓,如果((DayOfWeek( )==5 &&Hour( )>=22),并将Equity增加到一定规模。

并禁止在gep超过一定值时打开 if(dOC>20)Gp=true ; and if Equity increases to if((TrBlnc&& ((AE>UBlnc)

或减少到||(AE<DBlnc))

 

因此,如果你正在测试或优化,确保股权在参数中设定的范围内

bool TrBlnc = true; int StrtBlnc = 3000; int DBlnc = 1500; int UBlnc = 4000。

添加 int init() if (IsOptimization( ) )TrBlnc = false;//if ( IsTesting() ) TrBlnc = false。

 

以下不是改变,而是增加了更多内容,指的是Delta_G12 现在不是deltaAO ,而是函数G12()。

其中,根据其参数 extern int Indctr; 如果 Indctr = 1,则使用前一个AO

或如果 Indctr = 2 任何其他函数或指标(我使用我自己的, TSM 附), 如果int Indctr = 0 ,那么信号将从两个指标中求和&。

//+ffffffffffffffffffffffffffffffffffff+

double G12() {switch(Indctr)

{case 0:

iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2) 。

iCusTSM_1 = iCusTSM(24,1);iCusTSM_2 = iCusTSM(24,2)。

Dlt_AO12 = iCusAO_1 -iCusAO_2; Dlt_TSM12 = iCusTSM_1-iCusTSM_2。

如果 ( Dlt_AO12>=0 && Dlt_TSM12 <=0) 返回 (0)。

如果 ( Dlt_AO12<=0 && Dlt_TSM12 >=0) 返回 (0)。

返回(Dlt_AO12)。

案例1:

iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2) 。

Dlt_AO12 = iCusAO_1 -iCusAO_2; return(Dlt_AO12);

案例2:

iCusTSM_1 = iCusTSM(24,1);iCusTSM_2 = iCusTSM(24,2)。

Dlt_AO12 = iCusTSM_1-iCusTSM_2; return(Dlt_AO12);}}

//+--------------------------------------------------------------------------------------+

double iCusTSM (int pr, int shft)

{ 返回(iCustom(NULL, 240, "iCus_N7S_TSM_forExp", pr,1,shft)); }

//+--------------------------------------------------------------------------------------+