CU = 0。 CD=0。 如果(L0[i]>= L1[i]) CU = L0[i] - L1[i]。 否则 CD = L1[i] - L0[i]。 如果(L1[i]>= L2[i])。 CU = CU + L1[i] - L2[i]。 否则 CD = CD + L2[i] - L1[i]。 如果(L2[i]>= L3[i]) CU = CU + L2[i] - L3[i]。 否则 CD = CD + L3[i] - L2[i]。
如果(CU > CD && CU == 0) { OrderSend(Symbol(),OP_BUY,lot,Ask,0/*(Ask-StopLoss*Point)*/,0,)。 } 如果(CU < CD && CD ==0) { OrderSend(Symbol(),OP_SELL,lot,Bid,0/*(Bid+StopLoss*Point)*/,0,)。 }
如果你不再向我发送垃圾邮件,我将不胜感激。在一个主题中的一个帖子就足以让人听到。我已经删除了其他的。
请不要再发送垃圾邮件了。在一个主题中的一个帖子就足以让人听到。我已经删除了其余的部分。
//+------------------------------------------------------------------+
//|Laguerre+.mq4|
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
//---- 输入参数
外来的int TrailingStop=0。
外来的int StopLoss=0。
外来的double lots=0.1。
外部双倍gamma = 0.7。
外部int Price_Type=0;
//---- 缓冲区
双层过滤器[]。
双层L0[]。
double L1[];;
双层L2[]。
双L3[]。
//+------------------------------------------------------------------+
//|自定义指标 初始化功能
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5)。
//---- 指标
SetIndexStyle(0, DRAW_LINE);
SetIndexDrawBegin(0, 1)。
SetIndexLabel(0, "LaguerreFilter")。
SetIndexBuffer(0, Filter)。
SetIndexBuffer(1, L0)。
SetIndexBuffer(2, L1)。
SetIndexBuffer(3, L2)。
SetIndexBuffer(4, L3)。
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")"。
IndicatorShortName(short_name)。
return(0);
}
//+------------------------------------------------------------------+
//|Custor指示器去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标迭代函数|
//+------------------------------------------------------------------+
int start()
{
int限制。
int counted_bars = IndicatorCounted()。
双CU,CD。
//----,最后计数的条形图将被重新计算。
如果(counted_bars>0)
counted_bars--。
否则
counted_bars = 1。
极限=Bars - counted_bars。
//---- RSI的计算方法
for (int i=limit; i>=0; i--)
{
double Price=iMA(NULL,0,1,0,0,Price_Type,i)。
L0[i] = (1.0 - gamma)*Price + gamma*L0[i+1]。
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1] 。
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1]。
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1]。
CU = 0。
CD=0。
如果(L0[i]>= L1[i])
CU = L0[i] - L1[i]。
否则
CD = L1[i] - L0[i]。
如果(L1[i]>= L2[i])。
CU = CU + L1[i] - L2[i]。
否则
CD = CD + L2[i] - L1[i]。
如果(L2[i]>= L3[i])
CU = CU + L2[i] - L3[i]。
否则
CD = CD + L3[i] - L2[i]。
如果(CU + CD != 0)
过滤器[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0。
}
return(0);
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{
如果(OrdersTotal()>0)
{
CU = 0。
CD=0。
{
OrderSelect(SELECT_BY_POS)。
如果(OrderSymbol()==Symbol())
{
如果(OrderType()== OP_BUY)
{
如果((L0[i] >= L1[i])CU = L0[i] - L1[i], (L1[i] >= L2[i])CU = CU + L1[i] - L2[i], (L2[i] >= L3[i] )
OrderClose(OrderTicket(),OrderLots())。
否则CU++。
}
如果(OrderType()== OP_SELL)
{
如果(CD = L1[i] - L0[i],CD = CD + L2[i] - L1[i],CD = CD + L3[i] - L2[i])
OrderClose(OrderTicket(),OrderLots())
否则CD++。
}
}
}
如果(CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lot,Ask,0/*(Ask-StopLoss*Point)*/,0,)。
}
如果(CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lot,Bid,0/*(Bid+StopLoss*Point)*/,0,)。
}
//----
return(0);
}
//+------------------------------------------------------------------+
我将写一个任何复杂的顾问。最主要的是要有一个好的想法。你将如何使用它,我不关心:将出售 - 我不介意(我不会要钱)。
P.S.如果你需要一个指标,你必须告诉我你想在其中使用它的策略。
你好!需要一个MTD 4的交易机器人。我可以发送图片与交易的例子。请回答邮件。money3@inbox.ru 邮件上的所有细节都会转发。同时附上照片和描述。
你好!需要一个MTD 4的交易机器人。我可以发送带有交易实例的图片。请回复邮件。money3@inbox.ru,我将通过邮件发送所有细节。连同照片和描述。
两次首发。重读课本,解构典型的EA结构。
那么,你能不能纠正错误,让我看到这个错误?
好吧,你能不能修正这个错误,让我看到这不是一个错误?