[存档!]我将免费写一份顾问报告 - 页 13 1...67891011121314151617181920...23 新评论 Игорь 2010.10.08 06:52 #121 你好! 有谁能知道如何在代码中正确地开出以下的处方。 有一个指标MACD Histogramm WIS。直方图在其代码和彩条中计算,根据线的方向和过滤器macd的不同颜色。 int start() { int limit,i; int counted_bars = IndicatorCounted(); if(counted_bars > 0) counted_bars--; limit = iBars(NULL,0) - counted_bars; BufferResize(Filter) 。 BufferResize(Histogram); for(i = 0; i <= limit; i++) MACD[i] = iMA(NULL, 0, FastMA, 0, MAMethod, MAAppliedPrice, i) - iMA(NULL, 0, SlowMA, 0, MAMethod, MAAppliedPrice, i) 。 for(i = 0; i <= limit; i++) Signal[i] = iMAOnArray(MACD, iBars(NULL,0), SignalMA, 0, MAMethod, i); for(i = 0; i <= limit; i++) Histogram[i] = MACD[i] - Signal[i] 。 CalcFilter(Line, limit); for(i = limit; i >= 0; i--) { if(Histogram[i] > Histogram[i+1] && Filter[i] > Filter[i+1] ) { HistogramWaitClose[i] = 0.0; HistogramSell[i] = 0.0; HistogramBuy[i] = Histogram[i]; } if(Histogram[i] < Histogram[i+1] && Filter[i] < Filter[i+1]) { HistogramWaitClose[i] = 0.0; HistogramSell[i] = Histogram[i]; HistogramBuy[i] = 0.0; } if((Histogram[i] >= Histogram[i+1] && Filter[i] <= Filter[i+1]) || (Histogram[i] <= Histogram[i+1] && Filter[i] >= Filter[i+1]) { HistogramWaitClose[i] = Histogram[i]; HistogramSell[i] = 0.0; HistogramBuy[i] = 0.0; } } return(0); } 我试图在专家顾问中规定其中一个条件,即在以下情况下向上开仓。 if(Histogram[i] > Histogram[i+1] && Filter[i] > Filter[i+1]) { HistogramWaitClose[i] = 0.0; HistogramSell[i] = 0.0; HistogramBuy[i] = Histogram[i] 。 但我只需要比较2个关闭的条形图,即第一个和第二个(零点不接触),而不是所有的(i-bar),即需要比较第一个和第二个条形图,如果第一个条形图大于第二个,并且符合过滤器和EA的其他条件,就买入,反之就卖出....,如何正确规定,请指教,业余茶人) 谢谢你 [Archive!] I'll write an Best way to add HELP WITH AN INDICATOR Владимир 2010.10.12 18:44 #122 kvg31: 我将写一个任何复杂的顾问。最主要的是要有一个好的想法。你将如何使用它,我不关心:将出售 - 我不介意(我不会要钱)。 P.S.如果你需要一个指标,你必须告诉我你想在哪个策略中使用它。 我对编程一无所知,我是一个初学者。 也许这个顾问已经有了,总的来说,是这样。 根据 "滚动 "的原则,两个EMAs的交叉点关闭前一个,打开一个新的,EMAs应该是可变的。 我认为在H1上,H4是相当相关的。 Alexander Sevastyanov 2010.10.12 19:30 #123 riabusha: 也许这样的EA已经存在,下面是它的工作原理。根据 "滚动 "的原则,两个EMAs的交叉点关闭前一个,打开一个新的,EMAs应该是可变的。我认为在H1上,H4是相当相关的。 是的,它是MT4软件包中包含的标准移动平均线。但它不是EMA,而是SMA(简单移动平均线),这并不能改变问题。当然,我们可以在我们的EA中改变MA的类型,甚至把它移到外部参数,但它不会成为圣杯。 Дмитрий 2010.10.17 11:45 #124 你好。 请做一个简单的专家顾问,为一定数量的点打开一个订单,如果价格超过他们并在+方关闭,订单关闭并在+方打开。如果它处于负数位置,它就会反转到负数位置。 要设置的参数 - 批量的大小和要传递的点的数量。 事先非常感谢。 恭喜你,迪米特里。 KRAB 2010.10.18 07:36 #125 kvg31:我将写一个任何复杂的顾问。最主要的是要有一个好的想法。你将如何使用它,我不关心:将出售 - 我不介意(我不会要钱)。P.S.如果你需要一个指标,你必须告诉我你想在其中使用它的策略。 亲爱的开发者们,你们好。请帮助我在SSL_fast_sBar_mtf指标基础上创建一个指标。 我想让它画出两把 "尺子",一把尺子的数值 "Lb "更大,另一把尺子的数值更小(或者说TIME FREAM更大和更小)。如果在酒吧里的颜色 如果两个 "标尺 "相同(而前一个标尺则不同),那么在下一栏的开始,你应该发出开仓信号(放置箭头)。 箭头应该使用指示器缓冲区 来绘制,而不是图形对象。在外部参数窗口中需要两个 "标尺 "的数据。 (用于进一步选择其参数)。 KRAB 2010.10.18 07:55 #126 http://savepic.ru/1965498.gif 我不知道如何发送一个指标的链接。它在MQL4.com库中。 rambo 2010.10.20 07:39 #127 下午好! 非常多,我要求做一个专家(好在我不是一个程序员):()。 技术参数。 1)我们在4小时蜡烛图上通过穿越两条线移动 Average:一条(红色)周期为18,方法为指数 式,到收盘价,分别为(黄色)周期为8,方法也为指数式,到收盘价。 2) 交易量为1手 3)我们从交叉线到交叉线工作。只要黄线 在向上的方向(北方)与红线(红色)交叉,买入订单,第二次交叉线,黄线相应地从上面向下与红线交叉--固定开仓订单,同时开出新的卖出订单,以此类推。 4) 所有的交易都设置了35点的止损。 4小时图可以让你避免不必要的运动,不像小时图,工作起来是肯定的。 如果只是看货币对,这个想法是有道理的(没有亏损的交易,最差也是零左右),当然,应该考虑到趋势,在回看的时候使用专家顾问。以欧元/美元为例,如果9月1日我们在穿越+115点之前买入+139点,那么在10月12日穿越+1184点之前我们再次买入。就拿8月份同一张图片+368点销售来说,然后在同一水平上买入销售,没有任何损失,+181点下跌就卖出盈利。进一步说,例如黄金GOLD(佣金是70点,但每手的点数是2.5美元),于是从8月31日买入+1789点,一下子卖出+547点,买入+4557点,卖出0,+4328买入,卖出0,直到本周末又买入3636点。 问候,Yuriy [存档!]我将免费撰写任何专家或指标。 [存档!]免费撰写顾问文章 [关闭窗口!]免费将您的想法落实到EA中![关闭窗口]。 [删除] 2010.10.21 20:27 #128 你好!伙计们,我搞不懂mql4((我想写一个基于两个EMA(移动平均线)的小EA,它在穿越后会发出提示音?你能告诉我关于这个项目的一些情况吗?提前感谢 !!! Alexander Sevastyanov 2010.10.22 07:31 #129 silmin85:你好!伙计们,我搞不懂mql4((我想写一个基于两个EMA(移动平均线)的小EA,它在穿越后会发出提示音?你能告诉我这个项目的一些情况吗?提前感谢 !!! 以软件包中包含的标准移动平均线 为基础,进行实验。你可以用EMA代替MA。 [删除] 2010.10.22 15:18 #130 goldtrader: 以提供的标准移动平均线为基础,进行实验。你可以用EMA代替MA。 问题是,我想要一个简单的EA,每当它越过两个EMA时,就会发出哔哔声!MetaTradere有一个移动平均线.mq4的专家。 以下是完整的描述。 //+------------------------------------------------------------------+ //| 移动平均线.mq4 | //| Copyright © 2005, MetaQuotes Software Corp. //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #define MAGICMA 20050610 外置双Lots = 0.1。 外置双倍最大风险 = 0.02。 外置双倍的DecreaseFactor = 3; 外来的双倍MovingPeriod = 12; 外置双数MovingShift = 6; //+------------------------------------------------------------------+ //|计算未结头寸| //+------------------------------------------------------------------+ int CalculateCurrentOrders(string symbol) { int buys=0,sells=0。 //---- for(int i=0;i<OrdersTotal();i++) { 如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; 如果(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA) { 如果(OrderType()==OP_BUY) buys++; 如果(OrderType()==OP_SELL) sells++; } } //---- 退货订单量 if(buys>0) return(buys)。 否则返回(-sells)。 } //+------------------------------------------------------------------+ //|计算最佳手数| //+------------------------------------------------------------------+ double LotsOptimized() { double lot=Lots。 int orders=HistoryTotal(); // 历史订单总数 int losses=0; // 亏损订单的数量,没有休息时间 //---- 选择地段大小 lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1)。 //----,计算无休止的损失订单的数量 如果(DecreaseFactor>0) { for(int i=orders-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("历史中的错误!"); break; } 如果(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) 继续。 //---- 如果(OrderProfit()>0),则休息。 if(OrderProfit()<0) losses++; } 如果(损失>1)lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1)。 } //----,返回地段大小 如果(lot<0.1)lot=0.1。 return(lot)。 } //+------------------------------------------------------------------+ //| 检查未结订单的情况 | //+------------------------------------------------------------------+ 空白的CheckForOpen()。 { 双马。 int res; //----,只为新酒吧的第一笔交易而去。 如果(Volume[0]>1)返回。 //---- 得到移动平均线 ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0)。 //---- 卖出条件 如果(Open[1]>ma && Close[1]<ma) { res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,",MAGICMA,0,Red)。 返回。 } //---- 购买条件 如果(Open[1]<ma && Close[1]>ma) { res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,",MAGICMA,0,Blue) 。 返回。 } //---- } //+------------------------------------------------------------------+ //| 检查平仓的条件| //+------------------------------------------------------------------+ 空白的CheckForClose() { 双马。 //----,只为新酒吧的第一笔交易而去。 如果(Volume[0]>1)返回。 //---- 得到移动平均线 ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0)。 //---- for(int i=0;i<OrdersTotal();i++) { 如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; 如果(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) 继续。 //---- 检查订单类型 如果(OrderType()==OP_BUY) { 如果(Open[1]>ma && Close[1]<ma) OrderClose(OrderTicket(),OrderLots(),Bid,3,White) 。 突破。 } 如果(OrderType()==OP_SELL) { 如果(Open[1]<ma && Close[1]>ma) OrderClose(OrderTicket(),OrderLots(),Ask,3,White)。 突破。 } } //---- } //+------------------------------------------------------------------+ //| 启动功能| //+------------------------------------------------------------------+ 空白启动()。 { //---- 检查历史和交易情况 如果(Bars<100 || IsTradeAllowed()==false) 返回。 //---- 按当前符号计算未结订单 如果(CalculateCurrentOrders(Symbol())==0) CheckForOpen(); 否则CheckForClose()。 //---- } //+------------------------------------------------------------------+ 我如何在这里改变它,让它为我工作,我不明白!我不知道。我只想要50EMA和100EMA,并在每个路口发出提示音!!。 初学者的问题 MQL4 MT4 MetaTrader 哪位高人可以把这个EA的每一句代表什么意思做个翻译!你会有意想不到的收获! 如何编码? 1...67891011121314151617181920...23 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好!
有谁能知道如何在代码中正确地开出以下的处方。
有一个指标MACD Histogramm WIS。直方图在其代码和彩条中计算,根据线的方向和过滤器macd的不同颜色。
int start()
{
int limit,i;
int counted_bars = IndicatorCounted();
if(counted_bars > 0) counted_bars--;
limit = iBars(NULL,0) - counted_bars;
BufferResize(Filter) 。
BufferResize(Histogram);
for(i = 0; i <= limit; i++)
MACD[i] = iMA(NULL, 0, FastMA, 0, MAMethod, MAAppliedPrice, i) - iMA(NULL, 0, SlowMA, 0, MAMethod, MAAppliedPrice, i) 。
for(i = 0; i <= limit; i++)
Signal[i] = iMAOnArray(MACD, iBars(NULL,0), SignalMA, 0, MAMethod, i);
for(i = 0; i <= limit; i++)
Histogram[i] = MACD[i] - Signal[i] 。
CalcFilter(Line, limit);
for(i = limit; i >= 0; i--)
{
if(Histogram[i] > Histogram[i+1] && Filter[i] > Filter[i+1] )
{
HistogramWaitClose[i] = 0.0;
HistogramSell[i] = 0.0;
HistogramBuy[i] = Histogram[i];
}
if(Histogram[i] < Histogram[i+1] && Filter[i] < Filter[i+1])
{
HistogramWaitClose[i] = 0.0;
HistogramSell[i] = Histogram[i];
HistogramBuy[i] = 0.0;
}
if((Histogram[i] >= Histogram[i+1] && Filter[i] <= Filter[i+1]) || (Histogram[i] <= Histogram[i+1] && Filter[i] >= Filter[i+1])
{
HistogramWaitClose[i] = Histogram[i];
HistogramSell[i] = 0.0;
HistogramBuy[i] = 0.0;
}
}
return(0);
}
我试图在专家顾问中规定其中一个条件,即在以下情况下向上开仓。
if(Histogram[i] > Histogram[i+1] && Filter[i] > Filter[i+1])
{
HistogramWaitClose[i] = 0.0;
HistogramSell[i] = 0.0;
HistogramBuy[i] = Histogram[i] 。
但我只需要比较2个关闭的条形图,即第一个和第二个(零点不接触),而不是所有的(i-bar),即需要比较第一个和第二个条形图,如果第一个条形图大于第二个,并且符合过滤器和EA的其他条件,就买入,反之就卖出....,如何正确规定,请指教,业余茶人)
谢谢你
我将写一个任何复杂的顾问。最主要的是要有一个好的想法。你将如何使用它,我不关心:将出售 - 我不介意(我不会要钱)。
P.S.如果你需要一个指标,你必须告诉我你想在哪个策略中使用它。
我对编程一无所知,我是一个初学者。
也许这个顾问已经有了,总的来说,是这样。
根据 "滚动 "的原则,两个EMAs的交叉点关闭前一个,打开一个新的,EMAs应该是可变的。
我认为在H1上,H4是相当相关的。
也许这样的EA已经存在,下面是它的工作原理。
根据 "滚动 "的原则,两个EMAs的交叉点关闭前一个,打开一个新的,EMAs应该是可变的。
我认为在H1上,H4是相当相关的。
你好。
请做一个简单的专家顾问,为一定数量的点打开一个订单,如果价格超过他们并在+方关闭,订单关闭并在+方打开。如果它处于负数位置,它就会反转到负数位置。
要设置的参数 - 批量的大小和要传递的点的数量。
事先非常感谢。
恭喜你,迪米特里。
我将写一个任何复杂的顾问。最主要的是要有一个好的想法。你将如何使用它,我不关心:将出售 - 我不介意(我不会要钱)。
P.S.如果你需要一个指标,你必须告诉我你想在其中使用它的策略。
亲爱的开发者们,你们好。请帮助我在SSL_fast_sBar_mtf指标基础上创建一个指标。
我想让它画出两把 "尺子",一把尺子的数值 "Lb "更大,另一把尺子的数值更小(或者说TIME FREAM更大和更小)。如果在酒吧里的颜色
如果两个 "标尺 "相同(而前一个标尺则不同),那么在下一栏的开始,你应该发出开仓信号(放置箭头)。
箭头应该使用指示器缓冲区 来绘制,而不是图形对象。在外部参数窗口中需要两个 "标尺 "的数据。
(用于进一步选择其参数)。
http://savepic.ru/1965498.gif
我不知道如何发送一个指标的链接。它在MQL4.com库中。
下午好!
非常多,我要求做一个专家(好在我不是一个程序员):()。
技术参数。
1)我们在4小时蜡烛图上通过穿越两条线移动 Average:一条(红色)周期为18,方法为指数 式,到收盘价,分别为(黄色)周期为8,方法也为指数式,到收盘价。
2) 交易量为1手
3)我们从交叉线到交叉线工作。只要黄线 在向上的方向(北方)与红线(红色)交叉,买入订单,第二次交叉线,黄线相应地从上面向下与红线交叉--固定开仓订单,同时开出新的卖出订单,以此类推。
4) 所有的交易都设置了35点的止损。
4小时图可以让你避免不必要的运动,不像小时图,工作起来是肯定的。
如果只是看货币对,这个想法是有道理的(没有亏损的交易,最差也是零左右),当然,应该考虑到趋势,在回看的时候使用专家顾问。以欧元/美元为例,如果9月1日我们在穿越+115点之前买入+139点,那么在10月12日穿越+1184点之前我们再次买入。就拿8月份同一张图片+368点销售来说,然后在同一水平上买入销售,没有任何损失,+181点下跌就卖出盈利。进一步说,例如黄金GOLD(佣金是70点,但每手的点数是2.5美元),于是从8月31日买入+1789点,一下子卖出+547点,买入+4557点,卖出0,+4328买入,卖出0,直到本周末又买入3636点。
问候,Yuriy
以提供的标准移动平均线为基础,进行实验。你可以用EMA代替MA。
以下是完整的描述。
//+------------------------------------------------------------------+
//| 移动平均线.mq4 |//| Copyright © 2005, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#define MAGICMA 20050610
外置双Lots = 0.1。
外置双倍最大风险 = 0.02。
外置双倍的DecreaseFactor = 3;
外来的双倍MovingPeriod = 12;
外置双数MovingShift = 6;
//+------------------------------------------------------------------+
//|计算未结头寸|
//+------------------------------------------------------------------+
int CalculateCurrentOrders(string symbol)
{
int buys=0,sells=0。
//----
for(int i=0;i<OrdersTotal();i++)
{
如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
如果(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
如果(OrderType()==OP_BUY) buys++;
如果(OrderType()==OP_SELL) sells++;
}
}
//---- 退货订单量
if(buys>0) return(buys)。
否则返回(-sells)。
}
//+------------------------------------------------------------------+
//|计算最佳手数|
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lot=Lots。
int orders=HistoryTotal(); // 历史订单总数
int losses=0; // 亏损订单的数量,没有休息时间
//---- 选择地段大小
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1)。
//----,计算无休止的损失订单的数量
如果(DecreaseFactor>0)
{
for(int i=orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("历史中的错误!"); break; }
如果(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) 继续。
//----
如果(OrderProfit()>0),则休息。
if(OrderProfit()<0) losses++;
}
如果(损失>1)lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1)。
}
//----,返回地段大小
如果(lot<0.1)lot=0.1。
return(lot)。
}
//+------------------------------------------------------------------+
//| 检查未结订单的情况 |
//+------------------------------------------------------------------+
空白的CheckForOpen()。
{
双马。
int res;
//----,只为新酒吧的第一笔交易而去。
如果(Volume[0]>1)返回。
//---- 得到移动平均线
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0)。
//---- 卖出条件
如果(Open[1]>ma && Close[1]<ma)
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,",MAGICMA,0,Red)。
返回。
}
//---- 购买条件
如果(Open[1]<ma && Close[1]>ma)
{
res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,",MAGICMA,0,Blue) 。
返回。
}
//----
}
//+------------------------------------------------------------------+
//| 检查平仓的条件|
//+------------------------------------------------------------------+
空白的CheckForClose()
{
双马。
//----,只为新酒吧的第一笔交易而去。
如果(Volume[0]>1)返回。
//---- 得到移动平均线
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0)。
//----
for(int i=0;i<OrdersTotal();i++)
{
如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
如果(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) 继续。
//---- 检查订单类型
如果(OrderType()==OP_BUY)
{
如果(Open[1]>ma && Close[1]<ma) OrderClose(OrderTicket(),OrderLots(),Bid,3,White) 。
突破。
}
如果(OrderType()==OP_SELL)
{
如果(Open[1]<ma && Close[1]>ma) OrderClose(OrderTicket(),OrderLots(),Ask,3,White)。
突破。
}
}
//----
}
//+------------------------------------------------------------------+
//| 启动功能|
//+------------------------------------------------------------------+
空白启动()。
{
//---- 检查历史和交易情况
如果(Bars<100 || IsTradeAllowed()==false) 返回。
//---- 按当前符号计算未结订单
如果(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
否则CheckForClose()。
//----
}
//+------------------------------------------------------------------+
我如何在这里改变它,让它为我工作,我不明白!我不知道。我只想要50EMA和100EMA,并在每个路口发出提示音!!。