编码帮助 - 页 96

 

你好,Mladen。

我想在我的代码中记录一些事情,其中之一是用不同的魔法数字和同一货币对的不同评论来记录未平仓交易的数量,所以我使用了这个代码,在代码的某些地方我犯了一个错误,因为CPU是100%,所以我试图改进我的功能。 以下是其中之一,请你为我的方法提出一个更好的替代方案

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}
 
MiniMe:
你好,Mladen。

我想在我的代码中记录一些事情,其中之一是用不同的魔法数字和同一货币对的不同评论来记录未平仓交易的数量,所以我使用了这个代码,在代码的某些地方我犯了一个错误,因为CPU是100%,所以我试图改进我的功能。 以下是其中之一,你能为我的方法提出一个更好的替代方案吗?

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}[/PHP]

我们的代码是这样的(添加了一些注释,以澄清什么是存储的地方)。

[PHP] string uniques[][4]; ArrayResize(uniques,0)。

//

//

// uniques[][0] -> 符号

// uniques[][1] -> 神奇数字

// uniques[][2] -> 评论

// uniques[][3] -> 出现的次数

// 需要用StrToInt()转换为int。

//

//

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

{

OrderSelect(i,SELECT_BY_POS, MODE_TRADES)。

bool found=false。

for (int k=ArrayRange(uniques,0)-1; k>=0 && !found; k--)

if (OrderSymbol() == uniques[k][0] && OrderMagicNumber() == StrToInteger(uniques[k][1]) && OrderComment() == uniques[k][2]) { uniques[k][3] = StrToInteger(uniques[k][3]) +1; found=true; }

如果(!found)

{

k = ArrayRange(uniques,0);

ArrayResize(uniques,k+1);

uniques[k][0] = OrderSymbol();

uniques[k][1] = OrderMagicNumber();

uniques[k][2] = OrderComment()。

uniques[k][3] = 1;

}

}

PS:数组本身的大小(ArrayRange(uniques,0))是唯一的符号+魔法号码+注释组合的数量,而uniques[nn][3]显示的是订单队列中该特定组合的出现次数。

 

非常感谢 Mladen ,

如果我想说,如果我有一个以上的交易,这将是如果(uniques[1][3] == 1) ,正确吗?

但这并不能编译 , 是因为uniques[1][3] 是一个字符串数组吗?

应该是

if (StrToInteger(uniques[1][3])==1) ?

 
MiniMe:
非常感谢Mladen。

如果我想说,如果我有一个以上的交易,这将是if (uniques[1][3] == 1) ,正确吗?

但是这并不能编译,这是因为uniques[1][3]是一个字符串数组吗?

它应该是

如果(StrToInteger(uniques[1][3])==1)?

是的,你必须先把它转换为整数。但是条件是:如果(StrToInteger(uniques[1][3])>1),它将是针对第二个找到的符号+神奇数字+注释的唯一组合。

 

嗨,Mladen。

我有这个Demark's sequential...但在倒计时阶段是错误的。

这是Jason Perl书中的确切解释。

tD设置与tD连续倒计时的对比

一旦TD设置完成,TD倒计时就可以开始了,从TD设置的第9条(包括)收盘时开始。

TD设置的第9条(包括),开始。这两种策略之间的区别是

这两种策略的区别是这样的。

- TD设置将当前的收盘价与相应的收盘价进行比较

四个小节之前。

- 而TD倒计时则是将当前收盘价与两栏之前的低点进行比较,以确定潜在的买点。

而TD Countdown则是将当前收盘价与两栏之前的低点进行比较,以确定是否有可能买入,并将当前收盘价与两栏之前的高点进行比较,以确定是否有可能卖出。

这种价格关系是与TD设置的重要区别。

这种价格关系是与TD设置的一个重要 区别,因为市场必须

这种价格关系是与TD设置的重要区别,因为市场必须是趋势性的,TD倒计时才能客观地确定可能的

这种价格关系是与TD设置的重要区别,因为市场必须有趋势,TD倒计时才能客观地确定趋势反转的可能耗尽点。

我们可以开始寻找TD买入倒计时的第一个柱子

当TD买入设置到位时,就可以开始寻找TD买入倒计时的第一条。

启动TD买入倒计时

在TD买入设置到位后,寻找TD买入倒计时的启动。

如果

如果TD买入设置的第九条的收盘价也小于或等于两个条的低点

早些时候

那么。

TD购买设置的第九条成为TD购买倒计时的第一条。

如果

不符合这个条件。

那么

TD买入倒计时第一条被推迟,直到它被推迟,并且TD买入倒计时

继续进行,直到出现总共13个收盘,每个收盘都小于或等于。

两条杠之前的低点。

TD卖出倒计时

一旦TD卖出设置到位,我们就可以开始寻找TD卖出倒计时的第一个

倒计时的第一条;如果TD卖出设置的第九条也可以是TD卖出倒计时的第一条。

如果它满足以下条件,也可以成为TD卖出倒计时的第一条。

对TD卖出倒计时的要求

在TD卖出设置的第9条中,必须有一个收盘价大于或等于前两条的高点。

等于之前两个小节的高点。

在我的图片中,你可以看到(对于倒计时卖出),第6条的收盘价没有大于前两条的高点....,所以它是错误的!

求你了,你能纠正这个倒计时买入和卖出的错误吗?

谢谢

附加的文件:
 

我发现了错误(该死的500版mt4不能创建ex4文件),现在可以了。我试着删除帖子,但做不到。

marley60:
你好。

我希望你能帮我解决这个问题。我想让窗口二中的点(箭头;水色和黄色)在窗口一(主图表窗口)的收盘(或买入信号的高点/卖出信号的低点)上显示为点(箭头)。我试了好几个小时,但我永远不会成为一个程序员;-)

 
marley60:
我发现了这个错误(该死的500版mt4不能创建ex4文件),现在可以了。我试着删掉这个帖子,但做不到。

不要担心之前的帖子

至少我们知道了500版中还有一个错误

 

大家好!

我已经把一个3分钟的视频放在一起,解释我的问题,试图更简洁、更有力地请求一些帮助!

视频:2013-06-13_1517 - D.Gilberto's library- 应该可以解释得很清楚!

我将非常感谢任何人的建议或帮助。我基本上想知道当所有的移动平均线交叉时,到此后的下一个条形图触及21 EMA时,条形图是什么 - 在这一点上,我希望我的订单被放置在这些条形图的高/低范围。该订单应该在第一个条形图收盘超过60 EMA时被拉出......

我希望这不是一个太大的要求,我将非常感谢一些聪明的火花向我伸出援手!

谢谢您的帮助。

 

编码员

我喜欢图片中这个基于RSI的简单策略(可能是来自TS)。

很好,很简单,但很有效 不需要更多的说明,一张图片胜过千言万语!

是否有可能为MT4编码这样的指标(RSI蜡烛和震荡器)? 或者我们已经有这样的指标了

谢谢

附加的文件:
 
marley60:
我发现了错误(该死的500版本的MT4不创建ex4文件),现在可以了。我试图删除这个帖子,但不能

马利。

见我在Metatrader已知错误下的帖子。 我和其他几个人都有同样的问题

Tzuman

原因: