[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 422

 
klopp:
各位程序员!请帮助我写一个基于i-Regr指标的专家顾问。
原理简单得令人发指...
当指标的上线(value2)的值高于1.43时,有一笔卖出交易,当指标的下线(value3)的值低于1.40时,卖出被关闭,有一笔
买入交易,当value2高于1.43时被关闭。1.40和1.43这两个值是我近似选择的,因为
,需要根据时间框架进行调整,所以最好能在EA的属性中改变,而不是在程序中改变,因为我对编程不是很在行。

提前感谢所有回复者。
formayl@mail.ru

看完你们的交流后,我决定称自己为白痴。既然这是一个帮助那些试图自己编程的人的分支,那么我的价格是100美元,在用WebMoney付款后三个小时,你就有了一个EA,这将是真正的工作(而不是一个演示的玩具)。请在个人区域内与我联系。

ZS.完全忘记了--讨价还价是适当的,而且是被鼓励的(当然是向上的)。

 

该指标与EA附在同一图表上,我从该指标中获取数据,然后在EA中进行处理。问题是,我需要从指标中获得数据,不仅是在图表打开的货币对上,还包括其他4到5个货币对。
如何实现这一点?如何使其在策略测试器中进行测试?

 
nuan:

该指标与EA附在同一图表上,我从该指标中获取数据,然后在EA中进行处理。问题是,我需要从该指标中获取不仅是图表打开时的货币对的数据,而且是4-5个货币对的数据。
如何实现这一点?如何使其在策略测试器中进行测试?

这里https://docs.mql4.com/ru/indicators/iCustom

作为参数指定所需的货币对和所需的时间框架 string symbol, int timeframe - 该指标不一定要附在图表上。

在测试器中没有测试多组,只在MT5(MQL5)中测试。

 
非常感谢您!
 
KONDOR:


建议是好的,谢谢,但这是缓慢的工作!!问题是开放的。

"我有一个EA,如何让它理解它之前下的订单(包括挂单)不再存在(由于各种原因--它触发了sl或TP或被手动删除),也就是说,如何让它询问订单是否活着。那些在编辑器中的命令会返回数值,但这里的数值并不明确。

 

什么是错误,为什么不工作。我想按价格DnPrice画一条从0到24小时的线。

if (!ObjectCreate("Down",OBJ_TREND,0,0:00,DnPrice,24:00)) //resign lines
{
Print("error: can't create Down! code #",GetLastError())。
return(0);
}

ObjectSet("Down",OBJPROP_COLOR,Red)。

 
Stells:

什么是错误,为什么不工作。我想在DnPrice的价格上画一条从0到24小时的线

if (!ObjectCreate("Down",OBJ_TREND,0,0:00,DnPrice,24:00)) //resign lines
{
Print("error: can't create Down! code #",GetLastError())。
return(0);
}

ObjectSet("Down",OBJPROP_COLOR,Red)。

https://docs.mql4.com/ru/basis/types/datetime

bool ObjectCreate( 字符串 name, int type, int window,datetime time1, double price1,datetime time 2=0, double price2=0, datetime time3=0, double price3=0)

 
bercut0077:

建议是好的,谢谢,但这是缓慢的工作!!问题是开放的。

"我有一个EA,如何让它理解它之前下的订单(包括挂单)不再存在(由于各种原因--它触发了sl或TP或被手动删除),也就是说,如何让它询问订单是否活着。那些存在于编辑器中的命令会返回数值,但这里的数值并不明确。


这很简单--有一个函数OrdersHistoryTotal--翻阅历史,看看所需魔术师的订单是否在历史中,这意味着它已经关闭或删除。

我们还可以在历史订单排序的循环中添加一些条件。例如,如果订单关闭的时间小于今天的开盘时间,我们将忽略这样的订单。因此,专家顾问将只筛选出今天关闭/删除的订单。

 
nuan:
ZZZEROXXX 为什么要赚取利润?

因为如果你翻转图表,图表会增长))))我认为这不仅仅是点差的问题,如果我们假设没有很多交易,那么点差在盈利方面并没有起到决定性的作用。
 

告诉我,对于一个远程订单,是否有可能知道它是否在TakeProfit时被关闭?

我可以使用

doubleOrderTakeProfit( )
返回当前所选订单的利润率(获利)达到时的收盘价。
该订单必须使用OrderSelect() 函数进行预选。
?

我们能否创建一个这样的条件

for ( i=OrdersTotal();i>0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY  );
if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()&&OrderTakeProfit( )>0 ||
   OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()&&OrderTakeProfit( )>0

如果任何订单被关闭,这个函数的返回值不会超过零,比如利润会是多少?