Ema Cross! - 页 74

 

你好,帮助援助可以做几个交叉的4 EMA

我不太懂说话,请帮助我的EA跨越这4个EMA。

5

13

21

80

在以下情况下进入交易买入。

EMA5在EMA13和EMA21之上交叉。

EMA 13和EMA 21都在EMA 80之上

当输入交易卖出时。

EMA5在EMA13和EMA21下方交叉时

EMA13和EMA21都在EMA80以下

谢谢

 

我没有看到说得很好的英文

对不起 ..............

 

哦,亲爱的

我认为,这很好,但我们必须有很大的空间。

 
ycontroller:
我没有看到说得很好,帮助我的EA跨越这4个EMA。

5

13

21

80

在以下情况下进入交易买入。

EMA5在EMA13和EMA21之上交叉。

EMA 13和EMA 21都在EMA 80之上

当输入交易卖出时。

EMA5在EMA13和EMA21下方交叉时

EMA13和EMA21都在EMA80以下

谢谢

请看这里http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/,我相信你能够构建你自己的EA。

祝您好运!

 
vincethebeast:
请看这里http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/,我相信你能够构建你自己的EA。祝你好运!

这很好,非常感谢 买入和卖出的语法是如何工作的/?

假设我选择了自定义指标,我想用一个条形指标在条形变色时买入和卖出?

我试着输入指标的名称和参数左>右,但它没有打开买入或卖出。

 
 

嗨。

请问,谁能把MM加入到这个版本的EMA交叉?

谢谢

//+------------------------------------------------------------------+

//| EMA_CROSS.mq4 ||

编码员Guru |//|

//|汇率 和利率的问题。

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//| TODO: 添加资金管理程序|

//+------------------------------------------------------------------+

#property copyright "Coders Guru" (版权)。

#property link "https://www.forex-tsd.com"

//---- 输入参数

extern double TakeProfit=110;

extern double StopLoss=100;

extern double TrailingStop=30;

extern int ShortEma = 1;

extern int LongEma = 13;

外部 bool UseStopLoss = false;

外置双数Lots=1。

//+------------------------------------------------------------------+

//| 专家初始化函数 |

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//|专家的去初始化功能|

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

bool isNewSumbol(string current_symbol)

{

//循环所有打开的订单并比较符号

int total = OrdersTotal();

for(int cnt = 0 ; cnt < total ; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。

//打印( "OrderSymbol = " + OrderSymbol() + ": Symbol = " + current_symbol)。

string selected_symbol = OrderSymbol();

如果(current_symbol == selected_symbol)

返回(False)。

}

返回(True)。

}

int Crossed (double line1 , double line2)

{

static int last_direction = 0;

static int current_direction = 0;

//在第一次加载时不工作,要等第一次交叉时才工作!

static bool first_time = true;

if(first_time == true)

{

first_time = false。

返回(0)。

}

if(line1>line2)current_direction = 1; //向上

if(line1<line2)current_direction = 2; //向下

如果(last_direction == 0) //第一次使用

{

last_direction = current_direction;

return(0);

}

if(current_direction != last_direction) //改变了

{

last_direction = current_direction;

return (last_direction);

}

否则

{

返回 (0); //没有改变

}

}

//+------------------------------------------------------------------+

//|专家启动功能|

//+------------------------------------------------------------------+

int start()

{

//----

int cnt, ticket, total;

双重SEma, LEma。

如果(Bars<100)

{

Print("小于100的条数")。

return(0);

}

如果(TakeProfit<10)

{

Print("TakeProfit小于10")。

return(0); // 检查TakeProfit

}

SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0)。

LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0)。

static int isCrossed = 0;

isCrossed = Crossed (LEma,SEma);

total = OrdersTotal();

if(total < 1 || isNewSumbol(Symbol()) )

{

如果(isCrossed == 1 )

{

如果(UseStopLoss)

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point, "EMA_CROSS",12345,0,Green) 。

否则

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point, "EMA_CROSS",12345,0,Green) 。

如果(ticket>0)

{

如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice());

}

否则 Print("打开BUY订单错误。",GetLastError())。

return(0);

}

如果(isCrossed == 2)

{

如果(UseStopLoss)

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point, "EMA_CROSS",12345,0,Red);

否则

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, "EMA_CROSS",12345,0,Red) 。

如果(ticket>0)

{

如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("Sell order opened : ",OrderOpenPrice());

}

否则 Print("打开卖出订单错误。",GetLastError())。

return(0);

}

return(0);

}

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。

//OrderPrint()。

如果(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

{

如果(OrderType()==OP_BUY) // 多头头寸被打开

{

/*

//是否应该平仓?

如果(isCrossed == 2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); //平仓

return(0); // 退出

}*/

// 检查拖曳止损

如果(TrailingStop>0)

{

如果(Bid-OrderOpenPrice()>Point*TrailingStop)

{

如果(OrderStopLoss()<Bid-Point*TrailingStop))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green) 。

返回(0)。

}

}

}

}

否则 // 转入空头头寸

{

/*

//应该平仓吗?

如果(isCrossed == 1)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); //关闭位置

return(0); // 退出

}*/

// 检查拖曳止损

如果(TrailingStop>0)

{

如果((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

如果((OrderStopLoss()>(Ask+Point*TrailingStop))|| (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red) 。

返回(0)。

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+

 
codersguru:
大家好。

谁能告诉我他对这个简单的EA有什么看法?

它在metatrader back tester中运行良好,

注意:后面的测试为最大的准确性结果进行了优化。

嗨,Codersguru。

这个论坛很好! 我想知道EMA_CROSS.mq4是最新的更新版本吗?

我们可以测试吗?

谢谢

 
 

自动机器人

各位朋友,我希望你们都能帮助我,谁能给我发送最好的自动机器人,因为我需要它,因为我已经失去了很多钱,需要恢复它,我无法找到一个很好的自动机器人进行外汇交易,如果有人能帮助我这样做,给我发送你的EA到bhavsar.y@gmail.com

原因: