//Function Last trade profit------------------------------------------------------------------------------------------------------------------------ double _OldProfit() { for(int i=OrdersHistoryTotal()-1;i>=0;i--) //lists all orders for all currencies { if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==true) //if an order is successfully selected { if (OrderSymbol(!) =Symbol())继续;//如果选择的订单 不是同一货币,继续搜索 { double Ord_Profit=OrderProfit(); break; } } return(Ord_Profit); }
大家好!
我有这样一个问题:我无法弄清楚趋势魔力指标的情况。我把它附在我的专家顾问上,但我不能从它那里得到正确的交易条件。
MA_1_1=iCustom(NULL,0, "TrendMagic",CCPeriod,ATRPeriod,0,0); // 蓝色
MA_2=iCustom(NULL,0, "TrendMagic",CCPeriod,ATRPeriod,1,0); // Red
我已经绞尽脑汁了。
订单关闭时有延迟,或打开时有延迟,但一切运作正常。我一点也不明白。也许指标的工作方式不正确。指标线颜色变化的进入-退出条件的正确写法是什么?
请告知如何做到这一点。
代码被反编译。删除的帖子
大家好!
我有这样一个问题:我无法弄清楚趋势魔力指标的情况。我把它附在我的专家顾问上,但我不能从它那里得到正确的交易条件。
我已经绞尽脑汁了。
我有一个延迟的订单关闭和一个延迟的订单打开,但一切都在正常工作。我不明白我在努力做什么。也许指标的工作方式是错误的。如何正确书写指标线颜色变化的进入/退出条件?
请告知。代码被反编译。删帖。提交了一份禁令
大家好!
我有这样一个问题:我无法弄清楚趋势魔力指标的情况。我把它附在我的专家顾问上,但我不能从它那里得到正确的交易条件。
我已经绞尽脑汁了。
我有一个延迟的订单关闭和一个延迟的订单打开,但一切都在正常工作。我不明白我在努力做什么。也许指标的工作方式是错误的。如何正确书写指标线颜色变化的进入/退出条件?
请告诉我。就所有意图和目的而言,它是一只崛起的火鸡。历史上的信号是非常美丽的。我建议你在分钟上实时关注这个指标。最有可能的是,根据当前的信号,该指标的历史曲线将被重新绘制。
我不这么认为。如果你是这个意思,它不会改变信号。我甚至不知道它取决于什么。信号要么是正确的,要么是滞后了1个柱子。
我可以比较线条的颜色而不是指标的计算结果吗?如何摆脱这种情况?有什么我可以做的事情可以让它变好吗?
我的理解是,从这个特定的停止锁定的位置,用一张特定的票,如果这个位置是停止锁定的,你需要向对面开一次。对吗?
然后记住你已经在相反方向打开的姿势的票,把票和我写的其他支票一起检查。如果对面的姿势已经从这个票的位置打开了,就不要再打开了。
确切地说,这就是我描述的这个逻辑,有票,所以有票,我不明白如何在代码中更好地实现它。除了阵列之外,我没有想到什么。感谢那些回应的人。
你好。
你能告诉我如何使EA根据之前的交易结果来改变手数吗?
例如,如果之前的交易是亏损的,那么下一笔交易将是lot-A,如果是盈利的,那么lot=lot+B,其中A和B是常数,类似这样。
也许可以用天平来做,但我自己也搞不清楚 :-(
或者也许有另一条出路.....
你好。
你能告诉我如何使EA根据之前的交易结果来改变手数吗?
例如,如果之前的交易是亏损的,那么下一笔交易将是lot-A,如果是盈利的,那么lot=lot+B,其中A和B是常数,类似这样。
也许可以用天平来做,但我自己也搞不清楚 :-(
或者也许有另一条出路.....
有一次,我写了一个程序,返回最后一笔交易的利润/损失。在这里,它是。有人已经使用了它。如果有必要,自己添加MAGIC。
//Function Last trade profit------------------------------------------------------------------------------------------------------------------------
double _OldProfit()
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--) //lists all orders for all currencies
{
if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==true) //if an order is successfully selected
{
if (OrderSymbol(!)
=Symbol())继续;//如果选择的订单 不是同一货币,继续搜索
{
double Ord_Profit=OrderProfit();
break;
}
}
return(Ord_Profit);
}
你能建议如何使EA代码不是每一个tick都被执行,而是每一个新的bar都被执行。提前感谢您!
这是《START》开头描述的标准程序。按BAR的数量执行
bool isNewBar=false。
int ExpertBars;
如果(ExpertBars !=Bars){ExpertBars=Bars; isNewBar=true; }
如果 (isNewBar)
{
你的程序代码
}
意思应该很清楚。各种各样的修改都是可能的。
这里有另一个关于TIME的实施方案
如果(Time[0] == prevtime)返回(0)。
prevtime = Time[0];