Ema Cross! - 页 12

 

@codersguru:

谢谢你的努力...

附上您的EA(https://www.mql5.com/en/forum/173468/page7) 后,在4个货币对eur/usd、gbp/usd、usd/chf、gbp/jpy....,三个货币对立即开始交易(gbp/usd、usd/chf、gbp/jpy),所有这些都有好的结果....

我对编程一窍不通......但根据这个建议。

gkozlyk:
对于箭头反转的问题,只需在代码中调换两个箭头数字,问题就解决了。 之后再进行编译,就可以在指标应用的所有图表上生效了,格雷厄姆

我在EA中做了一些小改动。

if(line1>line2)current_direction = 1; //up

如果(line1<line2)current_direction = 2; //向下

if(line1>line2)current_direction = 2; //向上

如果(line1<line2)current_direction = 1; //down

昨天,我在neuimex演示账户TF30上安装了这个EA,有四个交易对....,所有这些交易都有很好的结果....。

我将继续对这些EA进行2/3周的测试,....。

 

在下一次修改中,我可能会加入另一个开关,这样如果用户想在交叉点上做反向交易,他们可以(比如如果快速EMA高于慢速,你就做卖出)。 在我的视觉回测中,这似乎比立即进行交叉交易,然后随着交易时间的推移寻找反向交易的利润要低。

我的另一个想法是,也许可以在交叉后等待一个小节来进行交易(这可能会防止货币戳穿然后走向另一个方向)。

我发现这个网站上的另一个EMA交叉程序有一些好主意。

https://www.mql5.com/en/forum/173445

 

Codersguru,

关于交易的MM部分。

从10,000美元的账户开始。

(账户资产*风险%)/最大损失=交易手数

(10,000*10%)/50=2手

这是假设SL是50点。

所以账户必须用这个公式调整每笔交易。

我希望这有帮助。

但在你采用这个公式之前,请告诉我什么是

赢/输比率和风险/回报比率,你对这个系统的期望。

一旦我们知道这一点,我们就可以建立。

因此,我们可以将风险%调整为10%或15%。

另外,你典型的最大损失将等于你的SL,因为这将是你在任何一次交易中的最大损失。风险%也必须考虑到最大的跌幅或最大的连续损失,这样我们就可以渡过跌幅。

希望这有帮助。如果有人不同意这个MM的观点,请指出来,以便我们改进。

我们在回溯测试中得到的结果通常只是对每笔交易进行标准的1手交易。因此,如果我们加入了MM,股票的增长就会乘以几倍。这就是MM的神奇之处。

大多数人专注于寻找最好的系统,但真正的圣杯是MM。你可以通过MM本身将一个普通系统变成一个超级系统。

正如我在之前的文章中指出的那样,下面的例子会让你明白。

赢 - 74%

没有资金管理

初始权益 - 20,000美元

最终权益 - 251,813美元

有MM

初始权益 - 30,000美元

最终权益 - 582,930,624 $$$$$$$$$$$$$$$

这就对了!那是582万美元

这些价值是理论性的,但是信息是非常清楚的。

 
dedywind:
@codersguru:

谢谢你的努力...

在附上您的EA(https://www.mql5.com/en/forum/173468/page7) 在4个货币对eur/usd, gbp/usd, usd/chf, gbp/jpy....,三个货币对立即开始交易(gbp/usd, usd/chf, gbp/jpy),所有这些都有好结果....。

我对编程一窍不通......但根据这个建议。

我在EA中做了一些小改动。

if(line1>line2)current_direction = 1; //up

如果(line1<line2)current_direction = 2; //向下

if(line1>line2)current_direction = 2; //向上

如果(line1<line2)current_direction = 1; //down

昨天,我在neuimex演示账户TF30上安装了这个EA,在四个对....,都有很好的效果,....。

我将继续对这些EA进行2/3周的前向测试....。

你颠倒了交叉的方向,EMA CROSS在两个方向上都能工作,但它最初是基于采取市场的反向方向。

 

新版本

大家好。

首先,我想感谢大家的分享和有用的评论

其次,我已将EMA CROSS专家顾问更新到第2版。

我希望你觉得它有用
附加的文件:
 

我试图做1和2 codersguru ea,测试在欧元/美元,D1它打开.5手。我不知道我点击了什么,我失去了结果,在前进的演示账户上测试 了1个星期,它上升了$# 1025 #。

附加的文件:
2_1.gif  9 kb
 

一个问题

嗨,编码大师和所有成员

我有个问题,我是外汇新手。

我们可以在离线状态下使用EA吗?还是必须在线才能使用EA?

 

编码员 Guru

我迅速看了一下你的新版本的代码,对代码有几个问题。

第一个问题与下面的代码块有关。

static int TimeFrame;

...

...

...

int init()

{

TimeFrame=Period();

return(0);

}

...

...

...

int Crossed (double line1 , double line2)

{

static int last_direction = 0;

static int current_direction = 0;

if(TimeFrame!=Period())

{

TimeFrame=Period();

return (0);

}

if(line1>line2)current_direction = 1; //up

if(line1<line2)current_direction = 2; //down

...

...

...

[/CODE]

What is the purpose of the TimeFrame Parameter in this content?

The second code block that is giving me some questions is the purpose of the function isNewSymbol?

[CODE]

bool isNewSumbol(string current_symbol)

{

//loop through all the opened order and compare the symbols

int total = OrdersTotal();

for(int cnt = 0 ; cnt < total ; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

string selected_symbol = OrderSymbol();

if (current_symbol == selected_symbol)

return (False);

}

return (True);

}

...

...

...

total = OrdersTotal();

if(total < 1 || isNewSumbol(Symbol()))

{

if(isCrossed == 1)

...

...

...

我知道你很忙,但你能不能解释一下这些代码的目的以及为什么需要它们。

谢谢你的时间。

冰冷的牛仔

 

块状的代码!

cockeyedcowboy:
编译员 Guru

我迅速看了一下你的新版本的代码,对代码有几个问题。

第一个问题是关于下面这个代码块的。

static int TimeFrame;

...

...

...

int init()

{

TimeFrame=Period();

return(0);

}

...

...

...

int Crossed (double line1 , double line2)

{

static int last_direction = 0;

static int current_direction = 0;

if(TimeFrame!=Period())

{

TimeFrame=Period();

return (0);

}

if(line1>line2)current_direction = 1; //up

if(line1<line2)current_direction = 2; //down

...

...

...

[/code]

What is the purpose of the TimeFrame Parameter in this content?

The second code block that is giving me some questions is the purpose of the function isNewSymbol?

[code]

bool isNewSumbol(string current_symbol)

{

//loop through all the opened order and compare the symbols

int total = OrdersTotal();

for(int cnt = 0 ; cnt < total ; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

string selected_symbol = OrderSymbol();

if (current_symbol == selected_symbol)

return (False);

}

return (True);

}

...

...

...

total = OrdersTotal();

if(total < 1 || isNewSumbol(Symbol()))

{

if(isCrossed == 1)

...

...

...

我知道你很忙,但你能不能解释一下这些代码的目的以及为什么需要它们。

谢谢你的时间。

牛郎织女

CockeyedCowboy。

我使用第一个代码块是为了确保图表周期 的改变不会影响程序。

例如:如果您将专家顾问连接到M30图表,并且在M30图表中短EMA线在长EMA线之上,然后您点击D1按钮并将时间框架改为每日时间框架,您很不走运,D1图表中的短EMA线在此图表中的长EMA线之下。专家顾问会认为这是一个交叉点,并打开交易。但通过上述代码,我给它一个机会,让它记住上一个时间框架,并等待另一个刻度。

我使用第二个代码块来检查当前打开的交易,并防止专家顾问在同一货币对中交易两次。

 

谢谢!

Audio:
我试着对1号和2号codersguru ea进行回调,在eur/usd上测试,D1开了.5手。我不知道我点击了什么,我失去了结果,在前向模拟账户上测试了1个星期,它上升了$# 1025 # ...只在eur/usa上。

音频。

非常感谢 ,我希望很快就能看到你在真实账户 中赚取1025 x Million。