原始想法 - 页 9 12345678910111213141516...115 新评论 ShadowWz 2006.03.15 05:48 #81 一些指标--经过修改 你好。 a_ZZ和a_ZZInd - "High_Low v2 (ZigZag)" 和其他(我现在不记得了)。 aDin - "ang_PR (Din)-v2"。 你怎么看? 干杯。 MFX 2006.03.16 09:49 #82 MACD 交叉 大家好。 我有一个使用MACD 13,32,48和PSAR步骤0.005 Max.0.05或0.006和0.06 H1 TF的EA想法。 当MACD交叉(收盘条)时进入,然后退出PSAR或可选的追踪止损。 详见 MFX 附加的文件: mc.gif 16 kb DooMGuarD 2006.03.16 13:25 #83 ttt123 2006.03.16 13:59 #84 最好的日常策略... 大家好。 我很高兴再次来到你们中间。我已经离开了好几天了。我想问问你们,你们发现了哪些最好的日线和4小时策略,也许用过... 谢谢你 回复 ttt123 2006.03.16 15:03 #85 附加的文件: 1.bmp 1318 kb giraia_br 2006.03.17 03:30 #86 codersguru: 你能把EMA换成三倍指数 移动平均线吗? 在EMACROSS EA中。 它比EMA最好。 谢谢。 kumawat 2006.03.18 16:49 #87 交叉对的最佳系统 你好 我发现了一个非常好的系统,对交易交叉货币对非常有利。 它非常简单,基于SMA和EMA,但非常有效。如果有人能为此开发一个EA,我们可以进行测试。 将使用前一栏的2种类型的移动 平均线 6 ema,12 sma 如果6EMA<12MA,趋势就会下降 如果6ema>12ma,则趋势上升。 买入或卖出信号 卖出:如果是趋势向下,并且卖出(买入)H 或 买入:如果趋势向上并且买入(卖出)L[Lowest(6,0)] 。 出场。 如果趋势下跌,做空,L[Lowest(6,0)] 出场 如果趋势向上,做多,H 逆转。 趋势上升,做空,L[Lowest(6,0)]。 趋势下跌,多头,H ------------------------------------------ 如果任何程序员能够为这个系统制作指标或EA,我们都可以看到它的潜力。 [删除] 2006.03.18 22:04 #88 我很抱歉,但我没有理解这些规则。能否请你详细说明一下,或者可能用一些数值来解释。 谢谢。 马吉 [删除] 2006.03.19 16:54 #89 突破性EA 专家们好。 我想提请您注意以下主题,特别是fxengines的讨论。以下是链接:http://www.strategybuilderfx.com/forums/showthread.php?t=11530&page=4&pp 例子1:进入信号是60分钟突破上期高点15,极限退出30。报告中英镑60分钟15的触发概率为85.7%。这个测试的收益率为84%,并且赚了钱。 "这个引擎的净业绩为1298点,成功率为84%。如果所有的交易都在高点退出,该引擎将价值2521点。然而,从高点到你退出的地方,每笔交易平均有1.97个点被 "退回"。这个引擎的最大跌幅为454点,在最差的连败期间有3次亏损交易,在最好的连胜期间有46次赢家。" 例子2:进入信号是60分钟突破上期高点25,极限退出30。报告中英镑60分钟25的触发概率为95.2%。这个测试的收益率为84%,并且赚了钱。 "这个引擎的净表现为941点,成功率为84%。如果所有的交易都在高点退出,该引擎将价值1832点。然而,从高点到你退出的地方,每笔交易平均有2.02个点被 "退回"。这个引擎的最大跌幅是452点,在最差的连败期间有3次亏损交易,在最好的连胜期间有25次赢家。" 有没有人写过一个EA来回测和验证这个说法?我试过,但无法复制他们的结果,甚至无法接近,但我不是专家。我希望这里的某个大师能做到这一点。 谢谢。 马吉 hoosain 2006.03.20 12:29 #90 需要帮助编码的EA 你好,我下载了以下的EA,它似乎工作得很好。但是,它没有应用跟踪止损、止盈和止损。如果有任何帮助,我将不胜感激。 //+------------------------------------------------------------------+ SMC Autotrader Momentum.mq4 | //| SMC Autotrader Momentum.mq4 //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ 外部双数 Lots = 1; 外部双数 InitialStop = 30; extern double TrailingStop = 20; 外部 bool TakeProfitMode = True; 外置 int TakeProfit = 10; 外置 bool StopLossMode = True; 外置 int StopLoss = 25; datetime BarTime; //################################################## ################### int init() { //---- //---- return(0); } //################################################## ################### int start() { int cnt,total,ticket,MinDist,tmp; double Spread; //################################################## ########################## 如果(Bars<100){ Print("小于100的条数")。 return(0); } //如果没有新的条形图就退出 if(BarTime == Time[0]) {return(0);}如果没有新条形图,则退出。 //新条形,更新bartime BarTime = Time[0]; //################################################## ####################################### //~~~~~~~~~~~~~~~~ 杂项设置东西~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL); Spread=(Ask-Bid); //################################################## ####################################### 双重SMAP1,SMAP2,MMAP1,MMAP2,LMAP1,LMAP2。 SMAP1=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,1)。 SMAP2=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,2)。 MMAP1=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1)。 MMAP2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2)。 LMAP1=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,1)。 LMAP2=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,2)。 //################################################## ###################################### //################## 订单关闭 ################################################## # // 如果订单有效,那么根据技术面LONG和SHORT检查是否关闭 //关闭长线订单 total=OrdersTotal(); if(total>0) { for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderType()==OP_BUY && OrderSymbol()==Symbol() { 如果(SMAP2 > MMAP2 && SMAP1 < MMAP2) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // 关闭LONG位置 }} //关闭空头条目。 OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderType()==OP_SELL && OrderSymbol()==Symbol())// 检查符号 { 如果(SMAP2 MMAP2) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; //关闭空头头寸 }} }// 循环返回 }//关闭第一种情况 //################################################## ############################ //################## OR TRAILING STOP Adjustment ####################### //拖动停止。长线 if(0==1) //这是用来打开和关闭追踪止损的。 { total=OrdersTotal(); 如果(total>0) { for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderType()==OP_BUY && OrderSymbol()==Symbol() && Bid-OrderOpenPrice()>(Point*TrailingStop) && OrderStopLoss()<Bid-(Point*TrailingStop) ) {OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop, OrderTakeProfit(),1,White); 返回(0);} }} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //拖曳止损。空头 total=OrdersTotal()。 如果(total>0) { for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderOpenPrice()-Ask > (Point*TrailingStop) && OrderStopLoss() > Ask+(Point*TrailingStop) ) {OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(P oint*TrailingStop), OrderTakeProfit(),0,Yellow); 返回(0);} }} }// 开启/关闭开关的末端括号 //################################################## ######################################## //~~~~~~~~~~~ 订单结束 闭合例程和止损变化 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ //################################################## ######################################## //~~~~~~~~~~~~START of NEW ORDERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //######################### 新仓位 ?###################################### //可能添加定时器,以阻止周期内的多次进入。 //检查 可用的保证金 // 每个符号只能有一个定单 // 围绕订单进行循环,检查符号是否出现过一次。 // 检查从最后一次进场开始的时间,以阻止在同一个柱子上的多次进场。 如果(0==1)//切换到打开/关闭历史检查。 { total=HistoryTotal(); if(total>0) { for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY); //需要是次日,而不是如下所示 如果(OrderSymbol()==Symbol()&&CurTime()- OrderCloseTime() < (Period() * 60 ) ) { 返回(0)。 }}}} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ total=OrdersTotal()。 如果(total>0) { for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 if(OrderSymbol()==Symbol()) return(0); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 如果(AccountFreeMargin()<(1000*Lots)) {打印("我们没有钱。Free Margin = ", AccountFreeMargin())。 return(0);} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //################################################## ####################################### //TRY RULES:长线 如果(SMAP2 MMAP2) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0, "M axMin Long",16384,0,Orange); //Bid-(Point*(MinDist+2)) 如果(ticket>0) { 如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))Print("BUY订单打开:",OrderOpenPrice())。 } 否则 Print("打开BUY订单错误。",GetLastError())。 return(0); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //TRY RULES:SHORT //################################ 如果(SMAP2 > MMAP2 && SMAP1 < MMAP2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0," MaxMin Short",16384,0,Red) 。 如果(ticket>0) { 如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))Print("SELL订单打开 : ",OrderOpenPrice()); } 否则 Print("打开卖出订单错误。",GetLastError())。 return(0); } //################################################## ################################## //############ 程序结束 ######################### return(0); } Raw Ideas 如何编码? [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 12345678910111213141516...115 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一些指标--经过修改
你好。
a_ZZ和a_ZZInd - "High_Low v2 (ZigZag)" 和其他(我现在不记得了)。
aDin - "ang_PR (Din)-v2"。
你怎么看?
干杯。
MACD 交叉
大家好。
我有一个使用MACD 13,32,48和PSAR步骤0.005 Max.0.05或0.006和0.06 H1 TF的EA想法。
当MACD交叉(收盘条)时进入,然后退出PSAR或可选的追踪止损。
详见
MFX
最好的日常策略...
大家好。
我很高兴再次来到你们中间。我已经离开了好几天了。我想问问你们,你们发现了哪些最好的日线和4小时策略,也许用过...
谢谢你
回复
codersguru: 你能把EMA换成三倍指数 移动平均线吗?
在EMACROSS EA中。
它比EMA最好。
谢谢。
交叉对的最佳系统
你好
我发现了一个非常好的系统,对交易交叉货币对非常有利。
它非常简单,基于SMA和EMA,但非常有效。如果有人能为此开发一个EA,我们可以进行测试。
将使用前一栏的2种类型的移动 平均线
6 ema,12 sma
如果6EMA<12MA,趋势就会下降
如果6ema>12ma,则趋势上升。
买入或卖出信号
卖出:如果是趋势向下,并且卖出(买入)H
或
买入:如果趋势向上并且买入(卖出)L[Lowest(6,0)] 。
出场。
如果趋势下跌,做空,L[Lowest(6,0)] 出场
如果趋势向上,做多,H
逆转。
趋势上升,做空,L[Lowest(6,0)]。
趋势下跌,多头,H
------------------------------------------
如果任何程序员能够为这个系统制作指标或EA,我们都可以看到它的潜力。
我很抱歉,但我没有理解这些规则。能否请你详细说明一下,或者可能用一些数值来解释。
谢谢。
马吉
突破性EA
专家们好。
我想提请您注意以下主题,特别是fxengines的讨论。以下是链接:http://www.strategybuilderfx.com/forums/showthread.php?t=11530&page=4&pp
例子1:进入信号是60分钟突破上期高点15,极限退出30。报告中英镑60分钟15的触发概率为85.7%。这个测试的收益率为84%,并且赚了钱。
"这个引擎的净业绩为1298点,成功率为84%。如果所有的交易都在高点退出,该引擎将价值2521点。然而,从高点到你退出的地方,每笔交易平均有1.97个点被 "退回"。这个引擎的最大跌幅为454点,在最差的连败期间有3次亏损交易,在最好的连胜期间有46次赢家。"
例子2:进入信号是60分钟突破上期高点25,极限退出30。报告中英镑60分钟25的触发概率为95.2%。这个测试的收益率为84%,并且赚了钱。
"这个引擎的净表现为941点,成功率为84%。如果所有的交易都在高点退出,该引擎将价值1832点。然而,从高点到你退出的地方,每笔交易平均有2.02个点被 "退回"。这个引擎的最大跌幅是452点,在最差的连败期间有3次亏损交易,在最好的连胜期间有25次赢家。"
有没有人写过一个EA来回测和验证这个说法?我试过,但无法复制他们的结果,甚至无法接近,但我不是专家。我希望这里的某个大师能做到这一点。
谢谢。
马吉
需要帮助编码的EA
你好,我下载了以下的EA,它似乎工作得很好。但是,它没有应用跟踪止损、止盈和止损。如果有任何帮助,我将不胜感激。
//+------------------------------------------------------------------+
SMC Autotrader Momentum.mq4 | //| SMC Autotrader Momentum.mq4
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
外部双数 Lots = 1;
外部双数 InitialStop = 30;
extern double TrailingStop = 20;
外部 bool TakeProfitMode = True;
外置 int TakeProfit = 10;
外置 bool StopLossMode = True;
外置 int StopLoss = 25;
datetime BarTime;
//################################################## ###################
int init()
{
//----
//----
return(0);
}
//################################################## ###################
int start()
{
int cnt,total,ticket,MinDist,tmp;
double Spread;
//################################################## ##########################
如果(Bars<100){
Print("小于100的条数")。
return(0);
}
//如果没有新的条形图就退出
if(BarTime == Time[0]) {return(0);}如果没有新条形图,则退出。
//新条形,更新bartime
BarTime = Time[0];
//################################################## #######################################
//~~~~~~~~~~~~~~~~ 杂项设置东西~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL);
Spread=(Ask-Bid);
//################################################## #######################################
双重SMAP1,SMAP2,MMAP1,MMAP2,LMAP1,LMAP2。
SMAP1=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,1)。
SMAP2=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,2)。
MMAP1=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1)。
MMAP2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2)。
LMAP1=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,1)。
LMAP2=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,2)。
//################################################## ######################################
//################## 订单关闭 ################################################## #
// 如果订单有效,那么根据技术面LONG和SHORT检查是否关闭
//关闭长线订单
total=OrdersTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()==OP_BUY && OrderSymbol()==Symbol()
{
如果(SMAP2 > MMAP2 && SMAP1 < MMAP2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // 关闭LONG位置
}}
//关闭空头条目。
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()==OP_SELL && OrderSymbol()==Symbol())// 检查符号
{
如果(SMAP2 MMAP2)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; //关闭空头头寸
}}
}// 循环返回
}//关闭第一种情况
//################################################## ############################
//################## OR TRAILING STOP Adjustment #######################
//拖动停止。长线
if(0==1) //这是用来打开和关闭追踪止损的。
{
total=OrdersTotal();
如果(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()==OP_BUY && OrderSymbol()==Symbol()
&&
Bid-OrderOpenPrice()>(Point*TrailingStop)
&&
OrderStopLoss()<Bid-(Point*TrailingStop)
)
{OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop, OrderTakeProfit(),1,White);
返回(0);}
}}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//拖曳止损。空头
total=OrdersTotal()。
如果(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()==OP_SELL && OrderSymbol()==Symbol()
&&
OrderOpenPrice()-Ask > (Point*TrailingStop)
&&
OrderStopLoss() > Ask+(Point*TrailingStop)
)
{OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(P oint*TrailingStop), OrderTakeProfit(),0,Yellow);
返回(0);}
}}
}// 开启/关闭开关的末端括号
//################################################## ########################################
//~~~~~~~~~~~ 订单结束 闭合例程和止损变化 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//################################################## ########################################
//~~~~~~~~~~~~START of NEW ORDERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//######################### 新仓位 ?######################################
//可能添加定时器,以阻止周期内的多次进入。
//检查 可用的保证金
// 每个符号只能有一个定单
// 围绕订单进行循环,检查符号是否出现过一次。
// 检查从最后一次进场开始的时间,以阻止在同一个柱子上的多次进场。
如果(0==1)//切换到打开/关闭历史检查。
{
total=HistoryTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY); //需要是次日,而不是如下所示
如果(OrderSymbol()==Symbol()&&CurTime()- OrderCloseTime() < (Period() * 60 )
)
{
返回(0)。
}}}}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
total=OrdersTotal()。
如果(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
if(OrderSymbol()==Symbol()) return(0);
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果(AccountFreeMargin()<(1000*Lots))
{打印("我们没有钱。Free Margin = ", AccountFreeMargin())。
return(0);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//################################################## #######################################
//TRY RULES:长线
如果(SMAP2 MMAP2)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0, "M axMin Long",16384,0,Orange); //Bid-(Point*(MinDist+2))
如果(ticket>0)
{
如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))Print("BUY订单打开:",OrderOpenPrice())。
}
否则 Print("打开BUY订单错误。",GetLastError())。
return(0);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//TRY RULES:SHORT //################################
如果(SMAP2 > MMAP2 && SMAP1 < MMAP2)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0," MaxMin Short",16384,0,Red) 。
如果(ticket>0)
{
如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))Print("SELL订单打开 : ",OrderOpenPrice());
}
否则 Print("打开卖出订单错误。",GetLastError())。
return(0);
}
//################################################## ##################################
//############ 程序结束 #########################
return(0);
}