问吧! - 页 90

 

请帮助处理订单的评论

需要一些帮助,我有一个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信号

欢呼声

贝诺

附加的文件:
 
stevex33:
嗨,伙计们。

我有个问题。

我想学习写自己的指标,但我真的不知道应该从哪里开始。

我脑子里已经有了一个想法,也知道了它应该如何工作的基本原理,但我需要一点帮助。

我想创建一个指标,显示一种货币每天从开盘起的平均高点,低点和收盘也是如此。

因此,它们都是当天开盘时的距离,以点为单位。

我希望用户能够指定他想在多少天内计算该平均值。

因此,这将是一个类似于在当前天数栏中画线的东西,代表货币在X天内的平均高点、低点和收盘价,并且它应该保持在图表上画线。

我试着用移动平均线指标作为基线来开始,但这一切看起来很混乱。谁能帮我简化一下,把它分解成我应该添加/删除的内容和位置,好吗?

问候

史蒂夫

从头开始,即:学习MQL4。下载CodersGuru的电子书,如果你像我一样不擅长阅读屏幕上的东西,就把它们打印出来,然后阅读。

如果你第一次不明白,就再读一遍。

做练习。

如果你还是不明白,尽可能多地查看 EA,看看是否有与你相似的地方。在CodersGuru书中寻找每一行的解释,然后试着写自己的。

你可能需要花一些时间来写你的基本EA,但一旦你写了,对它们的磨练就是一个尝试和不断尝试的问题。

祝你好运。

 

这些有什么问题?

嘿,伙计们

我的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);

}

}

}

}

}
 

你如何阻止这种情况的发生????

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,让我每天只做一次交易?

谢谢