编码帮助 - 页 423

 

mladen,

我已经做了144号的修改,我已经统一了神奇的数字,"MagicNumber "跨符号....It现在一次最多进行5次交易,但它现在在同一时间对同一符号重复交易,例如,如果收到欧元兑美元的卖出交易信号,它将把欧元兑美元的卖出订单 放置5次。请看它的实时订单的图片。

mladen:
如果你想让它在所有的符号上最多下5个订单,请到第144行(if( OrderSymbol() != Symbol() ) 继续; )并删除它。并保持所有符号上的所有实例的神奇数字相同(所以它可以计算所有符号上仅由该EA开启的订单)。
附加的文件:
 
Mastercash:
mladen,我已经做了144号的改变,我已经统一了神奇的数字,"MagicNumber "跨符号的实例....It现在一次最多进行5次交易,但它现在在同一时间对同一符号重复交易,例如,如果收到欧元兑美元的卖出交易信号,它将放置欧元兑美元的卖出订单5次。请看它所下的实时订单图片。

请阅读我以前的帖子

这个开盘与缺乏符号检查 没有任何关系--你必须有额外的检查来禁止在同一符号和同一条上开盘。如果你在相同的符号和不同的时间框架上有相同的EA,那么即使是检查也不能帮助你(因为在某些情况下,同一符号的不同时间框架的条形会不同)。

 

非常感谢mladen。

我试着把你几年前想到的代码添加到....,但似乎没有用.....,如果你记得,代码是这样的......

static datetime lastAlerted=0。

if(lastalerted!=Time[0];

open().......

请帮助我在适当的地方添加正确的代码!

mladen:
你必须在代码的其余部分添加一个检查,不要在同一个酒吧和同一个符号上开单。
 
Mastercash:
非常感谢mladen。

我试图添加一个你几年前认为我的代码....,但它似乎不工作.....,如果你记得代码是这样的......

static datetime lastAlerted=0;

if(lastalerted!=Time[0];

open().......

请帮助我在适当的地方添加正确的代码!

现金管理

正如我在之前的帖子中所说的:如果你将该EA连接到相同的符号和不同的时间框架上,你就没有办法阻止较低时间框架的EA在较高时间框架的当前条上开单(该条已经开单)。

你必须扫描所有时间段的当前条形图,翻译成最高时间段的当前条形图--但即使如此,你也不知道是哪个时间段的条形图打开的。

你可以使用订单的评论字段来标记,但评论字段可以被经纪人改变,所以没有可靠的方法来做到这一点。

 

好的,先生。

但我从来没有让我的EA多时间框架。无论如何,我已经附上了下面的代码。请帮助我调整对同一货币的重复交易停止:如果我需要做出任何额外的承诺来完成,你可以通过邮箱告诉我。

mladen:
掌握现金

正如我在之前的帖子中所说:如果您将该EA连接到相同的符号和不同的时间框架,您就没有办法阻止较低时间框架的EA在较高时间框架的当前条上开出订单(已经开出的订单)。

你必须扫描所有时间段的当前条形图,翻译成最高时间段的当前条形图--但即使如此,你也不知道是哪个时间段的条形图打开的。

你可以使用订单的评论栏来标记,但评论栏可以被经纪人改变,所以没有可靠的方法来做到这一点。
附加的文件:
 
Mastercash:
好的,先生......但我从来没有使我的EA成为多时间框架的。无论如何,我附上了下面的代码,请帮助我调整对同一货币的重复交易停止:如果我需要做出任何额外的承诺来完成它,你可以通过收件箱告诉我。

事实上,该EA是一个多时间框架的EA(它在5分钟的数据上使用指标),但不要紧:在这里你有一个版本,不允许每条线开一个以上的订单nicetrader_1.021.mq4

附加的文件:
 

大家好。

谁能帮我编写一个基于xcode指标的简单EA,因为我在编码方面是个新手。

我只需要在信号条关闭后的买入和卖出订单,指标的信号周期变化选项,交易时间和交易日变化选项。

买入和卖出的入口很简单,就像截图中描述的那样。任何时间框架,任何货币对,获利 选项,追踪止损选项。

我知道这不是圣杯,而且离它很远(因为圣杯不存在 ),但我们可以尝试从中获得一些东西。

另外,如果有可能增加手数增加的选项(手动改变)。例如:0.01,0.01,0.02,0.02,0.04,0.04,0.08,0.08等等。

附加的文件:
xcode.jpg  346 kb
xcode.mq4  11 kb
 
mladen:
TFI

试试这样的方法:

extern double maxshorttrades = 2;

extern double maxlongtrades = 2;

//-----------------------------------------------------

//

//-----------------------------------------------------

int clongs = 0;

int cshorts = 0;

for (i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check Long Traded Positions.

if(OrderType()==OP_SELL) cshorts++; // Check Short Traded Positions.

}

if(trendc!=trendp)

{

if(clongs < maxlongtrades && trendc== 1 && (CCIFilter<80)) OpenBuy();

if(cshorts 80)) OpenSell();

// Check the CCI condition

// it is not symetrical to buy condition

}

嗨,Mladen。

非常感谢您的帮助!我已经按照建议执行了你的代码。

现在它正在工作

我可以再问您一个简短的问题吗?

您对CCI过滤器有什么看法,在这种情况下,这是否是过滤横盘的正确方法?

我是否应该给它一个范围,比如(CCIFilter>80 && CCIFilter<100)

也许你可以提供建议?

if(openedOrders<=0)

{

double CCIFilter=iCCI(NULL,0,CCIPeriod,CCIMethod,0);

double trendc = iCustom(Symbol(),0,"Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,1); //buffer, signal candle, up

double trendp = iCustom(Symbol(),0,"Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,2); //buffer, signal candle, down

int clongs = 0;

int cshorts = 0;

for(i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check Long Traded Positions.

if(OrderType()==OP_SELL) cshorts++; // Check Short Traded Positions.

}

if(trendc!=trendp)

{

if(clongs 80)) OpenBuy(); // (CCIFilter>80 && CCIFilter<100) maybe better?

if(cshorts < maxshorttrades && trendc==-1 && (CCIFilter<-80)) OpenSell(); //(CCIFilter-100)

// Check the CCI condition

// it is not symetrical to buy condition

}

}

P.S,我希望你没有受到Alpari破产的影响,有一些动荡。

预先感谢您,祝您周末愉快!

谨此致意。

TFI

附加的文件:
backtest2.jpg  160 kb
 
tfi_markets:
嗨,Mladen。

非常感谢您的帮助!我已经按照建议执行了你的代码。

现在它正在工作

我可以再问你一个简短的问题吗?

你对CCI过滤器有什么看法,在这种情况下,这是否是过滤横盘的正确方法?

我是否应该给它一个范围,比如(CCIFilter>80 && CCIFilter<100)

也许你可以提供建议?

if(openedOrders<=0)

{

double CCIFilter=iCCI(NULL,0,CCIPeriod,CCIMethod,0);

double trendc = iCustom(Symbol(),0,"Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,1); //buffer, signal candle, up

double trendp = iCustom(Symbol(),0,"Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,2); //buffer, signal candle, down

int clongs = 0;

int cshorts = 0;

for(i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check Long Traded Positions.

if(OrderType()==OP_SELL) cshorts++; // Check Short Traded Positions.

}

if(trendc!=trendp)

{

if(clongs 80)) OpenBuy(); // (CCIFilter>80 && CCIFilter<100) maybe better?

if(cshorts < maxshorttrades && trendc==-1 && (CCIFilter<-80)) OpenSell(); //(CCIFilter-100)

// Check the CCI condition

// it is not symetrical to buy condition

}

}

P.S,我希望你没有受到Alpari破产的影响,有一些动荡。

预先感谢您,祝您周末愉快!

谨此致意。

TFI

TFI

关于Alpari:我已经是他们的客户很久了。但我时常关闭我的账户(当我认为达到临界质量时),这次我在一个月前关闭了我在他们那里的账户,并没有开立新的账户(在另一个经纪人那里也有一个仍然开立的账户)。坦率地说,尽管我很幸运,我没有受到任何影响,但我必须说,我为他们的遭遇感到悲哀:我从来没有与他们有过任何问题(甚至是最小的问题),在某些事情需要澄清或纠正的情况下,他们总是及时地做。

_______________________

CCI过滤器:通常-100和+100之间的值被认为是CCI的 "正常区域"(这将意味着区间),但很多交易者完全在默认(14)长度参数设置 的零交叉上交易CCI。这增加了被鞭打的可能性,但那些使用零交叉的人通常在短时间内使用它。为了避免这种使用时间,请将周期设置为较长的周期(例如尝试50),这对很多符号和时间框架上的零交叉信号来说是相当好的设置。

 
mladen:
TFI

关于Alpari:我是他们的客户,已经有很长一段时间了。但我时常关闭我的账户(当我认为达到临界质量时),这次我在一个月前关闭了我的账户,没有开立新的账户(在另一个经纪商那里也有一个仍然开立的账户)。坦率地说,尽管我很幸运,我没有受到任何影响,但我必须说,我为他们的遭遇感到悲哀:我从来没有与他们有过任何问题(甚至是最小的问题),在某些事情需要澄清或纠正的情况下,他们总是及时地做。

_______________________

CCI过滤器:通常-100和+100之间的值被认为是CCI的 "正常区域"(这将意味着范围),但很多交易者完全在默认(14)长度参数设置的零交叉上交易CCI。这增加了被鞭打的可能性,但那些使用零交叉的人通常在短时间框架内使用它。为了避免这种使用时间,将周期设置为较长的周期(例如尝试50),这对很多符号和时间框架上的零交叉信号来说是一个相当好的设置。

你好,姆拉登。

我想再次感谢你的帮助。你是非常博学的。我真的很感激,现在帮助和分享知识的人是相当少的。我也将实施和测试你关于CCI的建议。

幸好我没有受到Alpari事件的影响,因为我还在开发我的EA(它应该在我在办公室的时候进行交易,为我和我的家人创造一些额外的收入)。我使用Alpari作为测试平台,因为他们让模拟账户 无限期开放。几天前我在IG市场开了一个账户,但我还没有转过钱。我需要先让EA可靠地运行,没有错误。

祝你一切顺利,继续保持你的伟大工作!

致以诚挚的问候。

TFI