问吧! - 页 90 1...838485868788899091929394959697...182 新评论 Beno 2007.12.21 21:17 #891 请帮助处理订单的评论 需要一些帮助,我有一个EA,它有4个不同的进入标准,并希望能够在订单结束时有一个评论,让我知道在任何特定的位置满足哪个进入标准。我一直试图让这个工作,但所有我似乎能够做的是一个列表,即long1,long2,long3等。我知道我需要做一些与我目前所做的不同的事情,但我能想到它可能是什么。我附上了我用来做实验的EA版本,所以对解决这个问题的任何帮助都是巨大的。以下是我目前看到的情况。 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 开启BUY订单错误:无效的函数参数值 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long4 signal taken 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long3 signal taken. 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long2信号已发出 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:已发出多头信号 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 短4信号已发出 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 短线3信号已发出 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:已发出空头2信号 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:已发出空头信号 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:OrderSend函数 的无效手数 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long4信号已发出 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long3 signal taken. 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long2信号已发出 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:已发出多头信号 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 短4信号已发出 2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 收到空头3信号 欢呼声 贝诺 附加的文件: euroform_v_2.1-exp.mq4 24 kb Ask! My New -Al Maram Software products from Piligrimm [删除] 2007.12.24 17:01 #892 stevex33: 嗨,伙计们。 我有个问题。我想学习写自己的指标,但我真的不知道应该从哪里开始。我脑子里已经有了一个想法,也知道了它应该如何工作的基本原理,但我需要一点帮助。我想创建一个指标,显示一种货币每天从开盘起的平均高点,低点和收盘也是如此。因此,它们都是当天开盘时的距离,以点为单位。我希望用户能够指定他想在多少天内计算该平均值。因此,这将是一个类似于在当前天数栏中画线的东西,代表货币在X天内的平均高点、低点和收盘价,并且它应该保持在图表上画线。我试着用移动平均线指标作为基线来开始,但这一切看起来很混乱。谁能帮我简化一下,把它分解成我应该添加/删除的内容和位置,好吗?问候 史蒂夫 从头开始,即:学习MQL4。下载CodersGuru的电子书,如果你像我一样不擅长阅读屏幕上的东西,就把它们打印出来,然后阅读。 如果你第一次不明白,就再读一遍。 做练习。 如果你还是不明白,尽可能多地查看 EA,看看是否有与你相似的地方。在CodersGuru书中寻找每一行的解释,然后试着写自己的。 你可能需要花一些时间来写你的基本EA,但一旦你写了,对它们的磨练就是一个尝试和不断尝试的问题。 祝你好运。 [删除] 2007.12.26 05:24 #893 这些有什么问题? 嘿,伙计们 我的EA一开始是以跟踪止损为基础来获取利润的。然后我添加了一些fibo点,在达到最后一个fibo点后开始追踪。但是策略测试器在最新的发展中无法工作。请帮助我找到自己在以下程序中的错误。 谢谢你。 void CheckForTrailing(){double highest = High; double lowest = Low; double p1u = NormalizeDouble((OrderOpenPrice()-lowest)*0.618,4)。 double tpb1 = p1u*10000; double p1d = NormalizeDouble((highest-OrderOpenPrice())*0.618,4); double tps1 = p1d*10000; double p2u = NormalizeDouble((OrderOpenPrice()-lowest)*1,4); double tpb2 = p2u*10000; double p2d = NormalizeDouble((highest-OrderOpenPrice())*1,4); double tps2 = p2d*10000; double p3u = NormalizeDouble((OrderOpenPrice()-lowest)*1.618,4); double tpb3 = p3u*10000; double p3d = NormalizeDouble((highest-OrderOpenPrice())*1.618,4); double tps3 = p3d*10000; double p4u = NormalizeDouble((OrderOpenPrice()-lowest)*2.382,4); double tpb4 = p4u*10000; double p4d = NormalizeDouble((highest-OrderOpenPrice())*2.382,4); double tps4 = p4d*10000; double p5u = NormalizeDouble((OrderOpenPrice()-lowest)*3.236,4); double tpb5 = p5u*10000; double p5d = NormalizeDouble((highest-OrderOpenPrice())*3.236,4); double tps5 = p5d*10000; for(int i=0; i<OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 断。 如果(OrderMagicNumber()!=magic || OrderSymbol()!=Symbol()) 继续。 如果(OrderType()<=OP_SELL) { 如果(OrderType()==OP_BUY && Bid>OrderOpenPrice()) { 如果((Bid>=OrderOpenPrice()+Point*tpb1) && (OrderStopLoss()!=OrderOpenPrice()) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb1,0,0,CLR_NONE) 。 返回(0)。 } 如果((Bid>=OrderOpenPrice()+Point*tpb2) && (OrderStopLoss()! =OrderOpenPrice()+Point*tpb1)) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb2,0,0,CLR_NONE) 。 返回(0)。 } 如果((Bid>=OrderOpenPrice()+Point*tpb3) && (OrderStopLoss()! =OrderOpenPrice()+Point*tpb2)) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb3,0,0,CLR_NONE) 。 返回(0)。 } 如果((Bid>=OrderOpenPrice()+Point*tpb4) && (OrderStopLoss()! =OrderOpenPrice()+Point*tpb3)) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb4,0,0,CLR_NONE) 。 返回(0)。 } 如果((Bid>=OrderOpenPrice()+Point*tpb5) && (OrderStopLoss()! =OrderOpenPrice()+Point*tpb4)) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb5,0,0,CLR_NONE) 。 返回(0)。 } 如果((Bid>=OrderOpenPrice()+Point*(tpb5+ts)) && (OrderStopLoss()+Point*ts<Bid) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,0,0,CLR_NONE) 。 返回(0)。 } } 否则如果(OrderType()==OP_SELL && Ask<OrderOpenPrice()) { 如果((Ask<=OrderOpenPrice()-Point*tps1) && (OrderStopLoss()!=OrderOpenPrice()) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps1,0,0,CLR_NONE) 。 返回(0)。 } 如果((Ask<=OrderOpenPrice()-Point*tps2) && (OrderStopLoss()! =OrderOpenPrice()-Point*tps1)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps2,0,0,CLR_NONE) 。 返回(0)。 } 如果((Ask<=OrderOpenPrice()-Point*tps3) && (OrderStopLoss()! =OrderOpenPrice()-Point*tps2)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps3,0,0,CLR_NONE) 。 返回(0)。 } 如果((Ask<=OrderOpenPrice()-Point*tps4) && (OrderStopLoss()! =OrderOpenPrice()-Point*tps3)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps4,0,0,CLR_NONE) 。 返回(0)。 } 如果((Ask<=OrderOpenPrice()-Point*tps5) && (OrderStopLoss()! =OrderOpenPrice()-Point*tps4)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps5,0,0,CLR_NONE) 。 返回(0)。 } 如果((AskAsk)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,0,0,CLR_NONE)。 return(0); } } } } } Dave137 2007.12.29 02:43 #894 你如何阻止这种情况的发生???? 4小时图上的MACDI显示为正数,但如果我把它作为指标使用,我就会得到一个卖点,因为1分钟图上的MACDI可能会在短时间内变成负数,但在4小时图上却没有反映。 我如何编写代码,使我的程序接收每小时的平均值,而不是1分钟的结果。 戴夫 Putz 2008.01.06 12:55 #895 [删除] 2008.01.06 17:54 #896 哪个低电平? 我想你忘了你用哪个低点作为currentlow。你看,我无法想象你是否指的是当前酒吧的低点。如果你的意思是我想的那样,试着使用iLowest[]。在Metaeditor的字典中可以看到。 [删除] 2008.01.06 17:57 #897 遗漏的一点 对不起,我没有看到你把currentlow = 1000;。但建议仍然存在。你看,currentlow = 1000;1000是什么? 像英镑/美元中的1.0000?1000点,从哪里来?所以,还是那句话,用iLowest[]来表示currentlow。我认为这样做会很好。 Putz 2008.01.06 19:33 #898 iLowest 你好,Sendra。 谢谢你的及时回复。 我想实现的不是基于任何时间框架的高点或低点,而是Ret1(75点)回撤之前的最低点。我把重点放在欧元/美元上。 CurrentLow应该是追踪回调前的最低点。 下面是我想实现的一个例子。 a) 假设我们打开EA,价格是1.4000,在1.4030和1.3970之间,然后到1.4045。我希望CurrentLow是1.3970(最低点),并在1.4045(Entry1)放置第一个卖单,SL为1.4195(SL1=150点),Take Profit(TPA=75点)为1.3970。 b) 如果价格继续上涨到1.4120(Entry2),我希望放置第二个卖单,获利(TPB =76点)为1.4044,SL为1.4195(与第一个订单相同)。 我的EA似乎对第一个订单有效,但它似乎无法进入第二个订单。我已经能够让它下第二笔订单,但价格与第一笔订单相同,SL也被搞砸了。 我的长期目标是让它根据长期趋势指标来决定是买入还是卖出,当然也要像这个卖出设置一样有一个买入设置,如这里所示。我不知道它是否会盈利,但我正在努力学习,在完成之前肯定会做无数次修改。我得出的结论是,要想知道任何策略是否有效,就必须实现自动化,将决策中的人为错误剔除。显然,需要研究基本面,但这将在以后...也许。 非常感谢Sendra或其他任何人的帮助。 谢谢 普茨 Putz 2008.01.06 19:37 #899 i Lowest和CurrentLow 你好,Sendra。 为了回答你关于CurrentLow的问题,我给了它一个1000的值,因为它总是比任何E/U价格大。这是为了确保它在开盘时采用第一个欧盟价格。如果我将其设置为0,价格将永远不会更低,因此不会有交易发生。 我从未见过iLowest,但我将研究 它,看看它是否对我有用。 谢谢 普茨 khari123 2008.01.08 21:26 #900 代码 - 每天交易一次 谁能帮我提供一个脚本或EA,让我每天只做一次交易? 谢谢 1...838485868788899091929394959697...182 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请帮助处理订单的评论
需要一些帮助,我有一个EA,它有4个不同的进入标准,并希望能够在订单结束时有一个评论,让我知道在任何特定的位置满足哪个进入标准。我一直试图让这个工作,但所有我似乎能够做的是一个列表,即long1,long2,long3等。我知道我需要做一些与我目前所做的不同的事情,但我能想到它可能是什么。我附上了我用来做实验的EA版本,所以对解决这个问题的任何帮助都是巨大的。以下是我目前看到的情况。
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 开启BUY订单错误:无效的函数参数值
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long4 signal taken
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long3 signal taken.
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long2信号已发出
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:已发出多头信号
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 短4信号已发出
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 短线3信号已发出
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:已发出空头2信号
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:已发出空头信号
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:OrderSend函数 的无效手数
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long4信号已发出
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long3 signal taken.
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long2信号已发出
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1:已发出多头信号
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 短4信号已发出
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: 收到空头3信号
欢呼声
贝诺
嗨,伙计们。
我有个问题。
我想学习写自己的指标,但我真的不知道应该从哪里开始。
我脑子里已经有了一个想法,也知道了它应该如何工作的基本原理,但我需要一点帮助。
我想创建一个指标,显示一种货币每天从开盘起的平均高点,低点和收盘也是如此。
因此,它们都是当天开盘时的距离,以点为单位。
我希望用户能够指定他想在多少天内计算该平均值。
因此,这将是一个类似于在当前天数栏中画线的东西,代表货币在X天内的平均高点、低点和收盘价,并且它应该保持在图表上画线。
我试着用移动平均线指标作为基线来开始,但这一切看起来很混乱。谁能帮我简化一下,把它分解成我应该添加/删除的内容和位置,好吗?
问候
史蒂夫从头开始,即:学习MQL4。下载CodersGuru的电子书,如果你像我一样不擅长阅读屏幕上的东西,就把它们打印出来,然后阅读。
如果你第一次不明白,就再读一遍。
做练习。
如果你还是不明白,尽可能多地查看 EA,看看是否有与你相似的地方。在CodersGuru书中寻找每一行的解释,然后试着写自己的。
你可能需要花一些时间来写你的基本EA,但一旦你写了,对它们的磨练就是一个尝试和不断尝试的问题。
祝你好运。
这些有什么问题?
嘿,伙计们
我的EA一开始是以跟踪止损为基础来获取利润的。然后我添加了一些fibo点,在达到最后一个fibo点后开始追踪。但是策略测试器在最新的发展中无法工作。请帮助我找到自己在以下程序中的错误。
谢谢你。
{
double highest = High;
double lowest = Low;
double p1u = NormalizeDouble((OrderOpenPrice()-lowest)*0.618,4)。
double tpb1 = p1u*10000;
double p1d = NormalizeDouble((highest-OrderOpenPrice())*0.618,4);
double tps1 = p1d*10000;
double p2u = NormalizeDouble((OrderOpenPrice()-lowest)*1,4);
double tpb2 = p2u*10000;
double p2d = NormalizeDouble((highest-OrderOpenPrice())*1,4);
double tps2 = p2d*10000;
double p3u = NormalizeDouble((OrderOpenPrice()-lowest)*1.618,4);
double tpb3 = p3u*10000;
double p3d = NormalizeDouble((highest-OrderOpenPrice())*1.618,4);
double tps3 = p3d*10000;
double p4u = NormalizeDouble((OrderOpenPrice()-lowest)*2.382,4);
double tpb4 = p4u*10000;
double p4d = NormalizeDouble((highest-OrderOpenPrice())*2.382,4);
double tps4 = p4d*10000;
double p5u = NormalizeDouble((OrderOpenPrice()-lowest)*3.236,4);
double tpb5 = p5u*10000;
double p5d = NormalizeDouble((highest-OrderOpenPrice())*3.236,4);
double tps5 = p5d*10000;
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
断。
如果(OrderMagicNumber()!=magic || OrderSymbol()!=Symbol())
继续。
如果(OrderType()<=OP_SELL)
{
如果(OrderType()==OP_BUY && Bid>OrderOpenPrice())
{
如果((Bid>=OrderOpenPrice()+Point*tpb1) && (OrderStopLoss()!=OrderOpenPrice())
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb1,0,0,CLR_NONE) 。
返回(0)。
}
如果((Bid>=OrderOpenPrice()+Point*tpb2) && (OrderStopLoss()! =OrderOpenPrice()+Point*tpb1))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb2,0,0,CLR_NONE) 。
返回(0)。
}
如果((Bid>=OrderOpenPrice()+Point*tpb3) && (OrderStopLoss()! =OrderOpenPrice()+Point*tpb2))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb3,0,0,CLR_NONE) 。
返回(0)。
}
如果((Bid>=OrderOpenPrice()+Point*tpb4) && (OrderStopLoss()! =OrderOpenPrice()+Point*tpb3))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb4,0,0,CLR_NONE) 。
返回(0)。
}
如果((Bid>=OrderOpenPrice()+Point*tpb5) && (OrderStopLoss()! =OrderOpenPrice()+Point*tpb4))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb5,0,0,CLR_NONE) 。
返回(0)。
}
如果((Bid>=OrderOpenPrice()+Point*(tpb5+ts)) && (OrderStopLoss()+Point*ts<Bid)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,0,0,CLR_NONE) 。
返回(0)。
}
}
否则如果(OrderType()==OP_SELL && Ask<OrderOpenPrice())
{
如果((Ask<=OrderOpenPrice()-Point*tps1) && (OrderStopLoss()!=OrderOpenPrice())
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps1,0,0,CLR_NONE) 。
返回(0)。
}
如果((Ask<=OrderOpenPrice()-Point*tps2) && (OrderStopLoss()! =OrderOpenPrice()-Point*tps1))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps2,0,0,CLR_NONE) 。
返回(0)。
}
如果((Ask<=OrderOpenPrice()-Point*tps3) && (OrderStopLoss()! =OrderOpenPrice()-Point*tps2))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps3,0,0,CLR_NONE) 。
返回(0)。
}
如果((Ask<=OrderOpenPrice()-Point*tps4) && (OrderStopLoss()! =OrderOpenPrice()-Point*tps3))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps4,0,0,CLR_NONE) 。
返回(0)。
}
如果((Ask<=OrderOpenPrice()-Point*tps5) && (OrderStopLoss()! =OrderOpenPrice()-Point*tps4))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps5,0,0,CLR_NONE) 。
返回(0)。
}
如果((AskAsk))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,0,0,CLR_NONE)。
return(0);
}
}
}
}
}你如何阻止这种情况的发生????
4小时图上的MACDI显示为正数,但如果我把它作为指标使用,我就会得到一个卖点,因为1分钟图上的MACDI可能会在短时间内变成负数,但在4小时图上却没有反映。 我如何编写代码,使我的程序接收每小时的平均值,而不是1分钟的结果。
戴夫
哪个低电平?
我想你忘了你用哪个低点作为currentlow。你看,我无法想象你是否指的是当前酒吧的低点。如果你的意思是我想的那样,试着使用iLowest[]。在Metaeditor的字典中可以看到。
遗漏的一点
对不起,我没有看到你把currentlow = 1000;。但建议仍然存在。你看,currentlow = 1000;1000是什么? 像英镑/美元中的1.0000?1000点,从哪里来?所以,还是那句话,用iLowest[]来表示currentlow。我认为这样做会很好。
iLowest
你好,Sendra。
谢谢你的及时回复。
我想实现的不是基于任何时间框架的高点或低点,而是Ret1(75点)回撤之前的最低点。我把重点放在欧元/美元上。
CurrentLow应该是追踪回调前的最低点。
下面是我想实现的一个例子。
a) 假设我们打开EA,价格是1.4000,在1.4030和1.3970之间,然后到1.4045。我希望CurrentLow是1.3970(最低点),并在1.4045(Entry1)放置第一个卖单,SL为1.4195(SL1=150点),Take Profit(TPA=75点)为1.3970。
b) 如果价格继续上涨到1.4120(Entry2),我希望放置第二个卖单,获利(TPB =76点)为1.4044,SL为1.4195(与第一个订单相同)。
我的EA似乎对第一个订单有效,但它似乎无法进入第二个订单。我已经能够让它下第二笔订单,但价格与第一笔订单相同,SL也被搞砸了。
我的长期目标是让它根据长期趋势指标来决定是买入还是卖出,当然也要像这个卖出设置一样有一个买入设置,如这里所示。我不知道它是否会盈利,但我正在努力学习,在完成之前肯定会做无数次修改。我得出的结论是,要想知道任何策略是否有效,就必须实现自动化,将决策中的人为错误剔除。显然,需要研究基本面,但这将在以后...也许。
非常感谢Sendra或其他任何人的帮助。
谢谢
普茨
i Lowest和CurrentLow
你好,Sendra。
为了回答你关于CurrentLow的问题,我给了它一个1000的值,因为它总是比任何E/U价格大。这是为了确保它在开盘时采用第一个欧盟价格。如果我将其设置为0,价格将永远不会更低,因此不会有交易发生。
我从未见过iLowest,但我将研究 它,看看它是否对我有用。
谢谢
普茨
代码 - 每天交易一次
谁能帮我提供一个脚本或EA,让我每天只做一次交易?
谢谢