如何编码? - 页 201

 

如何改善这些结果?

你好。

我正在写我的第一个EA,它在回测中部分显示了不错的数字。然而,我不知道如何改进不好的部分。

首先,它有一个86%的高胜率,但只有一个小的利润因素,因为亏损的交易比赢家赢的多得多

我有一个MM,每笔交易使用的资金不超过账户余额的5%,在所有活跃交易中使用的资金不超过账户余额的11%。此外,我还跟踪所有的止损。

似乎我太早关闭(OrderClose)胜利的交易,而太晚削减失败的交易(或S/L他们)。

对此有什么好的策略吗?我实施了类似 "即使有关闭买入信号也不要关闭胜利的交易 "这样的策略,但效果也不理想。

希望得到任何提示!完整的报告 可以在这里 找到。

 

为每笔手动交易添加3点TP的最简单方法?

我需要为每笔手动输入的交易添加3个点的外汇获利,有什么最简单的方法吗?

 

重置买入止损单

你好。

我写了这段代码,虽然编译了,但没有工作。(意思是它没有删除买入止损)

我想可能是 "for "语句出了问题,但我是个新手,所以我不确定。

如果有人能给我指出问题所在,我将非常感激。

谢谢

if( StopResetMinutes > 0)

{

total = OrdersTotal();

if(total>0)

for(i=0;i<total;i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

{

if((TimeCurrent() - OrderOpenTime()) /60 > StopResetMinutes ) OrderDelete(OrderTicket());

{

if(PrintComments) Print("Buy Stop Deleted.");

}

}

}

}

 
asgard2:
嗨。

我写了这段代码,虽然它可以编译,但却不能工作。(意思是它没有删除买入止损点)

我想可能是 "for "语句出了问题,但我是个新手,所以我不确定。

如果有人能给我指出问题所在,我将非常感激。

谢谢

if( StopResetMinutes > 0)

{

total = OrdersTotal();

if(total>0)

for(i=0;i<total;i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

{

if((TimeCurrent() - OrderOpenTime()) /60 > StopResetMinutes ) OrderDelete(OrderTicket());

{

if(PrintComments) Print("Buy Stop Deleted.");

}

}

}

}

[/code]

[CODE] if( StopResetMinutes > 0)

{

total = OrdersTotal();

if(total>0)

for(i=0;i<total;i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES)。

如果(OrderType()==OP_BUYSTOP&& OrderSymbol()==Symbol())

{

如果((TimeCurrent() - OrderOpenTime() )/60 > StopResetMinutes )

{

OrderDelete(OrderTicket())。

if(PrintComments) Print("买入止损被删除。")。

}

}

}

}
 
asgard2:
你好。

我写了这段代码,虽然它可以编译,但却不能工作。(意思是它没有删除买入止损点)

如果你想关闭买入或卖出订单,你必须使用OrderClose()函数。

 
okfar:

if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol())

{

if((TimeCurrent() - OrderOpenTime()) /60 > StopResetMinutes )

{

OrderDelete(OrderTicket());

if(PrintComments) Print("Buy Stop Deleted.");

}

}

}

}

你知道吗,我已经在这个问题上工作了两天,你在几秒钟内就解决了这个问题。

谢谢你,谢谢你,谢谢你。谢谢你,也谢谢你...

我希望我听起来很感激,因为我很激动!

欢呼

 

亲爱的各位。

我有一个简单的问题,我想。

我有一个指标,用弹出式(警报)通知我,我想添加一个自定义的声音(除了标准的警报.wav)。

我注意到,一旦事件发生,警报出现,无论我在指标中设置什么 "自定义 "声音,Metatrader 4将始终播放我为警报指定的声音(默认是alert.wav,见MT4菜单Tools>Options>Events)。

是否有可能以这样的方式对指标进行编程,使我既能得到视觉警报,又能得到自定义分配的声音警报...?

非常感谢。

 

实际上,你可以采取任何声音,并将其称为alert.wav,然后替换原始文件。

 

更改自定义警报

Snowski:
亲爱的各位。

我有一个简单的问题,我想。

我有一个用弹出式(警报)通知我的指标,我想添加一个自定义的声音(除了标准的警报.wav)。

我注意到,一旦事件发生,警报出现,无论我在指标中设置什么 "自定义 "声音,Metatrader 4将始终播放我为警报指定的声音(默认是alert.wav,见MT4菜单Tools>Options>Events)。

是否有可能以这样的方式对指标进行编程,使我既能得到视觉警报,又能得到自定义分配的声音警报...?

非常感谢...!

你好,Snowski。

Try............

if (alert_ON == true) // 开启或关闭声音警报

{

Alert ("Key in you custom PopUp Here",Symbol(),"-",TimeFrame)。

PlaySound("custom.wav")。

}

我不太擅长编码,但你可以试试这个,因为它应该是有效的。自定义.wav,你可以在("??????.wav")中输入你自己的文件名。

如果你想设置警报的开启和关闭,你还需要添加

extern bool alert_ON = True; // 或 false 在你的指标代码的开头。

 

历史功能

你好。

我有下面这段代码。我试图在我的买入止损单之间实现延迟,以防止它们被删除。我以前从未使用过历史函数。

我无法编译它,因为有一个不平衡的括号错误,谁能告诉我为什么这些括号是不平衡的?

另外,有谁能告诉我,我的方向是否正确,或者我是否应该寻找其他方法来做这件事?

if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order

int hstTotal=OrdersHistoryTotal();

for(i=0;i<hstTotal;i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

Print("Access to history failed (",GetLastError(),")"); break;

{

if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

谢谢

原因: