[MT4指标]一个胜率90%的公式,请高手写成MT4的指标大家分享
日图
4小时图
周图
使用很简单,用一段时间体会后相信会帮你赚钱的。
此公式我一直在其他软件上用,感觉很好。MT4我不懂,请高手把它编成
MT4的指标,供大家分享。公式翻译成中文如下:
数据1:X1=21个周期内的开盘价的最高价;
数据2:X2=7个周期内的开盘价的最低价;
数据3:X3=(X1+X2)/ 2 ;
数据4:Y=X3 - 收盘价(在盘中指最新价);
当Y>0.00001 时,画阴线。
当Y<0.00001时, 画阳线。
要求最好在主图中画出k线图,不是在指标区域。
当阴线变阳线或阳线变阴线时,声音报警。
[ 本帖最后由 fycfw 于 2008-9-28 23:26 编辑 ]5.jpg4.jpg3.jpg
发表于:2008-10-05 06:02只看该作者
3楼
看着不错,希望有好心人帮改下,顶了
韬客社区www.talkfx.co
发表于:2008-10-05 12:58只看该作者
4楼
帮顶,顶上去
5楼
本系统可以用于自动交易,或者手动开仓后用于自动跟踪止盈。免去盯盘之苦和过早平仓。
韬客社区www.talkfx.co
6楼
以下是USDJPA的15分钟图,时间是10月3日到今天11点45分,大家评论一下。
6.jpg
韬客社区www.talkfx.co
7楼
现在是12:15,系统显示持有。我今天10:07开空,到现在已有100点了
韬客社区www.talkfx.co
发表于:2008-10-06 07:45只看该作者
8楼
我试着编了一下,EA测试对于正负过渡时期开仓太灵敏,亏损大于收益。因为用电脑计算的值非常精确的,在结束K线图的时候会产生很多信号,同时对于临界状态无法处理,手动的话会好不少。一会再看看利用上一周期的数据测试结果如何,晚上上结果
韬客社区www.talkfx.co
9楼
谢谢,fantasize!期待中。
韬客社区www.talkfx.co
10楼
15:15,出现信号。平仓。
8.jpg
发表于:2008-10-06 12:27只看该作者
11楼
没有添加任何其他附加要求的代码,测试结果感觉在调整期还是不太理想,所以还需要增加移动止损及开仓限制,不然赚的不够亏得,先把最基本的发上来供楼主改进。//+------------------------------------------------------------------+
//| Mid721.mq4 |
//| fantasize
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "fantasize"
extern int Period_1 = 21;
extern double TakeProfit = 200;
extern double Lots = 0.1;
double MA7[3000];
double MA21[3000];
double MA3[3000];
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
int counted_bars=IndicatorCounted();
//----
double High1;
int cnt, ticket, total;
int i,k;
double sum;
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external
// variables (Lots, StopLoss, TakeProfit,
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars
if(Period_1 <= 1 )
return(0);
if(Bars <= Period_1 )
return(0);
//calculate 7 days Min Open .
i = Bars - Period_1 + 1;
if(counted_bars > Period_1 - 1)
i = Bars - counted_bars - 1;
while(i >= 0)
{
k = i + 7 - 1;
sum=Open[k];
while(k >= i)
{
sum= MathMin(sum,Open[k]);
k--;
}
MA7=sum;
i--;
}
//calculate 21 days Max Open .
i = Bars - Period_1 + 1;
if(counted_bars > Period_1 - 1)
i = Bars - counted_bars - 1;
while(i >= 0)
{
k = i + 21 - 1;
sum=Open[k];
while(k >= i)
{
sum = MathMax(sum,Open[k]);
k--;
}
MA21=sum;
i--;
}
//MA3
i = Bars - Period_1 + 1;
if(counted_bars > Period_1 - 1)
i = Bars - counted_bars - 1;
//--EMA(VAR1,13)
while(i >= 0)
{
MA3 = 0.5*(MA7+MA21)-Close ;
i--;
}
//buy and sell judge
High1=MA3[1];
//Alert(MA7[0],MA21[0],MA3[0],Close[0]);
total=OrdersTotal();
if(total<1)
{ //1
// no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{ //2
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}//2
if(High1<0.00001)
{ //2
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Red);
if(ticket>0)
{//3
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}//3
else Print("Error opening BUY order : ",GetLastError());
return(0);
}//2
// check for short position (SELL) possibility
if(High1>0.00001)
{//2
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Green);
if(ticket>0)
{//3
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}//3
else Print("Error opening SELL order : ",GetLastError());
return(0);
}//2
}//1
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
for(cnt=0;cnt0.00001 )
{//4
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}//4
}//3
else // go to short position
{//3
// should it be closed?
if(High1<0.00001)
{//4
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}//4
}//end else 3
}//2
//
}//1
return(0);
}
发表于:2008-10-06 12:38只看该作者
12楼
伪信号和多次开单需要过滤,但是我也不知道多种时间周期如何限制单只K线的操作次数。尝试过提取小时数,但是换周期就不知道怎么做了,摸索中
韬客社区www.talkfx.co
发表于:2008-10-06 13:10只看该作者
13楼
热心人很多,再顶,希望能出好的公式
韬客社区www.talkfx.co
15楼
fantasize,你好。谢谢你!公式我导入后怎么没反应。你教教我怎么导入,怎么调出图形来,好吗。
韬客社区www.talkfx.co
16楼
我用的文华,要收费的。并且做外汇没mt4的好。
韬客社区www.talkfx.co
发表于:2008-10-06 14:54只看该作者
18楼
按照交易思想编了个指标,对照分析亏损单原因。
测试.JPG
韬客社区www.talkfx.co
发表于:2008-10-06 15:00只看该作者
19楼
刚找到上传附件方法,这个是代码的Mq4格式fantasize.rar
韬客社区www.talkfx.co
发表于:2008-10-06 15:20只看该作者
20楼
添加止损后最新测试结果,灵界状态的亏损吞噬了盈利
测试结果.JPG
韬客社区www.talkfx.co