原始想法 - 页 9

 

一些指标--经过修改

你好。

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

附加的文件:
mc.gif  16 kb
 
 

最好的日常策略...

大家好。

我很高兴再次来到你们中间。我已经离开了好几天了。我想问问你们,你们发现了哪些最好的日线和4小时策略,也许用过...

谢谢你

回复

 
附加的文件:
1.bmp  1318 kb
 

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

}