Ema Cross! - 页 17 1...101112131415161718192021222324...86 新评论 hellkkas 2006.02.24 13:51 #161 Audio: VIVA codersguru !!!!---嗨,hellkas,你在哪里,很高兴看到这些,我的朋友。 嗨,音频我的朋友... 这个EA真是太棒了...非常感谢SuperCodersGuru... 我有个简单的问题... 我一直在测试这个EA v2,我注意到一些奇怪的事情...... 我在不同的平台上有4个不同的设置,但都在同一个经纪商(NorthFinance),昨天我只开了一个头寸,我认为这很正常,但今天同样的头寸仍然开着,我觉得很奇怪。我重新启动平台,新的头寸就开始了。 为什么EA在我重启平台之前会停止交易? 谢谢 附加的文件: emacross.htm 22 kb Hendrick 2006.02.24 18:23 #162 一些评论 仍然在使用这个EA。我注意到,大多数的失败者都是逆势交易。有没有可能在这个EA中做一个选项,只做顺应趋势的交易? 继续保持良好的工作,Guru! Ahmed Soliman 2006.02.24 18:37 #163 逆转选择! Hendrick: 我还在使用这个EA。我注意到,大多数的失败者都是逆势交易。有没有可能在这个EA中做一个选项,只做顺应趋势的交易? 继续保持良好的工作,大师! 亨德利克。 这个选项已经包含了! 如果你想跟随趋势,只需将反转 选项设置为假! Hendrick 2006.02.24 19:30 #164 哎呀! codersguru: 亨德里克。这个选项已经包含了! 如果你想跟随趋势,只需将反转 选项设置为false! 哎呀。对不起,古鲁。 Audio 2006.02.25 01:13 #165 hellkas: 你好,我的朋友... 这款EA真是太棒了...非常感谢SuperCodersGuru... 我有一个简单的问题... 我一直在测试这个EA v2,我注意到一些奇怪的事情...... 我在不同的平台上有4个不同的设置,但都在同一个经纪商(NorthFinance),昨天我只开了一个头寸,我认为这很正常,但今天同样的头寸仍然开着,我觉得很奇怪。我重新启动平台,新的头寸就开始了。 为什么EA在我重启平台之前会停止交易? 谢谢 你好,很久没有见到你了,你在哪里?我想codersguru可以用更好的方式回答。 demag 2006.02.25 01:21 #166 嗨,CodersGuru。 我对您的EA有一个想法。我想通过删除TP、TS和SL来使其尽可能简单!是的,我知道,这很疯狂。是的,我知道,很疯狂! 然后简单地让它在交叉点之间交易MA值。 1,在一个向上的交叉点,等待一个条形并做多。 2,在下一个下降交叉点时,关闭该交易。 3,再等一个柱子,如果MA's仍然向下,就做空。 唯一需要设定的是手数。 在未平仓的交易中,一旦MA's交叉回到另一个方向,就立即关闭交易。 这必须用在像电缆这样的小点差的趋势性货币对上,因为如果市场开始波动,大点差的货币对会拿走利润。 这听起来可能很疯狂,但你将纯粹依靠价格行为来进行交易,完全没有外部影响。实际上,市场将自己进行交易。 玩弄时间框架和MA设置会很有趣。 到目前为止,我已经加入了关闭TP、SL和TS的选项。 //+------------------------------------------------------------------+ //| EMA_CROSS.mq4| //| Coders Guru | | //|https://www.mql5.com/en/forum。 //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| TODO: 添加资金管理程序 | | //+------------------------------------------------------------------+ #属性版权 "Coders Guru" #property link "https://www.forex-tsd.com" //---- 输入参数 extern double TakeProfit=300; extern bool UseTakeProfit = false; extern double Lots=1; extern double TrailingStop=15; extern bool UseTrailingStop = false; 外置双倍StopLoss=100。 外置 bool UseStopLoss = false; extern int ShortEma = 10; extern int LongEma = 80; //+------------------------------------------------------------------+ //|专家初始化函数 | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //|专家的去初始化功能| //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } bool isNewSymbol(string current_symbol) { //循环所有打开的订单并比较符号 int total = OrdersTotal(); for(int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 Print( "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; //向下 如果(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 || isNewSymbol(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)。 } } } } 否则 // 转入空头头寸 { //应该平仓吗? /* 移除--只关闭Trailling Stop。 如果(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); } //+----------------------------------------------------------------+ 我唯一不确定的是你现在如何关闭交易。我说你禁用了TS,对吗? 我希望你不要介意我修改你的代码。 谢谢。 如何编码? 原始想法 Ema Cross! gkozlyk 2006.02.25 06:41 #167 我认为这个想法很好,即事后开仓,并在下一个十字星时平仓(也许使用追踪止损会有助于锁定利润)。"顺势 "比 "逆势 "更有意义,尤其是当市场在主要货币对上再次开始走势时。 在平淡/横盘的市场中,反趋势交易者是有意义的,但风险更大,你可能需要等待3个月(日线图)才能使你的交易转为正数,而不是立即使用顺趋势交易者。 我很喜欢MA_Cross在+20左右的时候将止损转移到利润中的方式,所以一旦交易盈利,你就不必再有保证金风险。 格雷厄姆 demag 2006.02.25 10:05 #168 嗨,格雷厄姆。 是的,这个想法是在观察一些更有趋势的货币对时产生的。在大多数的移动中,总是会出现点子,长线或短线都无所谓。 我只是想利用这个优势。 通过简单地将这一行的状态从 "假 "改为 "真",就可以选择使用追踪止损。 "外部 bool UseTrailingStop = false;" 但是,由于我是一个绝对的编码新手(感谢CodersGuru ),我不确定程序目前是如何关闭交易的。它是在寻找一个止损点吗?我还在研究关闭订单。 它肯定要顺着趋势交易,我认为反趋势会让你很快被淘汰。 我还在考虑将其用于较小的TF,如5、15、30分钟甚至1小时,通过使MA值变小来捕捉较小的趋势。 Ahmed Soliman 2006.02.25 13:24 #169 错误! hellkas: 嗨,音频我的朋友... 这款EA真是太棒了...非常感谢SuperCodersGuru...我有一个简单的问题...我一直在测试这个EA v2,我注意到一些奇怪的事情......我在不同的平台上有4个不同的设置,但都在同一个经纪商(NorthFinance),昨天我只开了一个头寸,我认为这很正常,但今天同样的头寸仍然开着,我觉得很奇怪。我重新启动平台,新的头寸就开始了。为什么EA在我重启平台之前会停止交易? 谢谢 hellkas, 谢谢你的贡献! 我必须要检查一下 星期一。 Ahmed Soliman 2006.02.25 13:38 #170 1...101112131415161718192021222324...86 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
嗨,音频我的朋友...
这个EA真是太棒了...非常感谢SuperCodersGuru...
我有个简单的问题...
我一直在测试这个EA v2,我注意到一些奇怪的事情......
我在不同的平台上有4个不同的设置,但都在同一个经纪商(NorthFinance),昨天我只开了一个头寸,我认为这很正常,但今天同样的头寸仍然开着,我觉得很奇怪。我重新启动平台,新的头寸就开始了。
为什么EA在我重启平台之前会停止交易?
谢谢
一些评论
仍然在使用这个EA。我注意到,大多数的失败者都是逆势交易。有没有可能在这个EA中做一个选项,只做顺应趋势的交易?
继续保持良好的工作,Guru!
逆转选择!
我还在使用这个EA。我注意到,大多数的失败者都是逆势交易。有没有可能在这个EA中做一个选项,只做顺应趋势的交易? 继续保持良好的工作,大师!
亨德利克。
这个选项已经包含了!
如果你想跟随趋势,只需将反转 选项设置为假!
哎呀!
亨德里克。
这个选项已经包含了!
如果你想跟随趋势,只需将反转 选项设置为false!哎呀。对不起,古鲁。
你好,我的朋友...
这款EA真是太棒了...非常感谢SuperCodersGuru...
我有一个简单的问题...
我一直在测试这个EA v2,我注意到一些奇怪的事情......
我在不同的平台上有4个不同的设置,但都在同一个经纪商(NorthFinance),昨天我只开了一个头寸,我认为这很正常,但今天同样的头寸仍然开着,我觉得很奇怪。我重新启动平台,新的头寸就开始了。
为什么EA在我重启平台之前会停止交易?
谢谢你好,很久没有见到你了,你在哪里?我想codersguru可以用更好的方式回答。
嗨,CodersGuru。
我对您的EA有一个想法。我想通过删除TP、TS和SL来使其尽可能简单!是的,我知道,这很疯狂。是的,我知道,很疯狂!
然后简单地让它在交叉点之间交易MA值。
1,在一个向上的交叉点,等待一个条形并做多。
2,在下一个下降交叉点时,关闭该交易。
3,再等一个柱子,如果MA's仍然向下,就做空。
唯一需要设定的是手数。
在未平仓的交易中,一旦MA's交叉回到另一个方向,就立即关闭交易。
这必须用在像电缆这样的小点差的趋势性货币对上,因为如果市场开始波动,大点差的货币对会拿走利润。
这听起来可能很疯狂,但你将纯粹依靠价格行为来进行交易,完全没有外部影响。实际上,市场将自己进行交易。
玩弄时间框架和MA设置会很有趣。
到目前为止,我已经加入了关闭TP、SL和TS的选项。
//+------------------------------------------------------------------+
//| EMA_CROSS.mq4|
//| Coders Guru | |
//|https://www.mql5.com/en/forum。
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| TODO: 添加资金管理程序 | |
//+------------------------------------------------------------------+
#属性版权 "Coders Guru"
#property link "https://www.forex-tsd.com"
//---- 输入参数
extern double TakeProfit=300;
extern bool UseTakeProfit = false;
extern double Lots=1;
extern double TrailingStop=15;
extern bool UseTrailingStop = false;
外置双倍StopLoss=100。
外置 bool UseStopLoss = false;
extern int ShortEma = 10;
extern int LongEma = 80;
//+------------------------------------------------------------------+
//|专家初始化函数 |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家的去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
bool isNewSymbol(string current_symbol)
{
//循环所有打开的订单并比较符号
int total = OrdersTotal();
for(int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
Print( "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; //向下
如果(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 || isNewSymbol(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)。
}
}
}
}
否则 // 转入空头头寸
{
//应该平仓吗?
/* 移除--只关闭Trailling Stop。
如果(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);
}
//+----------------------------------------------------------------+
我唯一不确定的是你现在如何关闭交易。我说你禁用了TS,对吗?
我希望你不要介意我修改你的代码。
谢谢。
我认为这个想法很好,即事后开仓,并在下一个十字星时平仓(也许使用追踪止损会有助于锁定利润)。"顺势 "比 "逆势 "更有意义,尤其是当市场在主要货币对上再次开始走势时。 在平淡/横盘的市场中,反趋势交易者是有意义的,但风险更大,你可能需要等待3个月(日线图)才能使你的交易转为正数,而不是立即使用顺趋势交易者。
我很喜欢MA_Cross在+20左右的时候将止损转移到利润中的方式,所以一旦交易盈利,你就不必再有保证金风险。
格雷厄姆
嗨,格雷厄姆。
是的,这个想法是在观察一些更有趋势的货币对时产生的。在大多数的移动中,总是会出现点子,长线或短线都无所谓。
我只是想利用这个优势。
通过简单地将这一行的状态从 "假 "改为 "真",就可以选择使用追踪止损。
"外部 bool UseTrailingStop = false;"
但是,由于我是一个绝对的编码新手(感谢CodersGuru
),我不确定程序目前是如何关闭交易的。它是在寻找一个止损点吗?我还在研究关闭订单。 
它肯定要顺着趋势交易,我认为反趋势会让你很快被淘汰。
我还在考虑将其用于较小的TF,如5、15、30分钟甚至1小时,通过使MA值变小来捕捉较小的趋势。
错误!
嗨,音频我的朋友...
这款EA真是太棒了...非常感谢SuperCodersGuru...
我有一个简单的问题...
我一直在测试这个EA v2,我注意到一些奇怪的事情......
我在不同的平台上有4个不同的设置,但都在同一个经纪商(NorthFinance),昨天我只开了一个头寸,我认为这很正常,但今天同样的头寸仍然开着,我觉得很奇怪。我重新启动平台,新的头寸就开始了。
为什么EA在我重启平台之前会停止交易?
谢谢hellkas,
谢谢你的贡献!
我必须要检查一下
星期一。