如何编码? - 页 184 1...177178179180181182183184185186187188189190191...347 新评论 johnray 2009.06.12 06:07 #1831 有助于为EA制定指标 我发现了一个很好的策略,有很多点在等着我 大家好,我发现了一个关于所有货币的策略,我需要你们为我制作EA,看看这个。 1 MA_Period=2 MA_shift=-5 MA_Method=3 (YELLOW) 2 MA设置 MA_Period= 4 MA_shift= -5 MA_Method= 3 (Red) 3个MA设置 MA_Period=200 MA_shift=0 MA_Method=0 (COLOUR TEAL) 简要信号:当黄色和红色跨越青色时,无论是向上还是向下。 让我们做一些EA来使其工作,让EA自己修改,当价格移动到10点时,没有止损 将移动到2点,等待最好的程序员....。 Roger09 2009.06.12 13:43 #1832 tendyhk 2009.06.12 15:00 #1833 需要帮助编程监控价格 大家好,我有一个关于在MT4上编程的问题,我如何能够让EA监控价格?例如,如果价格上升到一定水平,那么它将初始化另一组订单?我在这里附上了我的EA代码 ,非常感谢您的帮助。 //+------------------------------------------------------------------+ //| Auto Pipforia.mq4 | //| Copyright? //| 2009年,MetaQuotes软件公司版权所有。| //|外汇交易软件。外汇交易平台MetaTrader 4 //+------------------------------------------------------------------+ 外部双AnchorSpace = 0.0017; extern double GridSpace = 0.0017; extern double AnchorLot = 0.03; extern double Level1 = 0.06; extern double Level2 = 0.11; 外部双倍 Level3 = 0.11; 外置双倍Level4Up = 0.11; 外置 int MagicNumber = 1001; 外置双倍利润目标=0。 双重SendCount=0。 开始() { int divider=(Ask-Bid)/2; double MidPrice=Ask-divider; double Buy=MidPrice+AnchorSpace; SendOrders(Buy); MonitorProfit()。 返回(0)。 } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ void SendOrders(double Buy) { 如果(SendCount<3){ OrderSend(Symbol(),OP_BUYSTOP,AnchorLot,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green)。 Buy=Buy+GridSpace; OrderSend(Symbol(),OP_BUYSTOP,Level1,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green)。 Buy=Buy+GridSpace; OrderSend(Symbol(),OP_BUYSTOP,Level2,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green)。 SendCount=3。 } 否则如果(SendCount==3) { 返回()。 } } //+------------------------------------------------------------------+ 空白 监控利润() { // double Percent=Profit_Percentage/100; int total = OrdersTotal(); double MyCurrentProfit=0。 for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。 如果(OrderMagicNumber() == MagicNumber) MyCurrentProfit += OrderProfit()。 } 如果(MyCurrentProfit>= Profit_Target){ for(int i=total-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS)。 如果(OrderMagicNumber() == MagicNumber) { OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),()), 5, Red ) 。 OrderDelete( OrderTicket() )。 } } } 否则() { 返回()。 } } //这里是需要编程的部分。 //+------------------------------------------------------------------+ 空白 监控价格() { 如果(Buy-Ask<=20 Point || Bid-Sell<=20 Point) { How to code? [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 问吧! BigBe 2009.06.13 17:03 #1834 致 tendyhk- 你的问题不完全清楚,但'20点'应该是'20*点'。 大的是 BigBe 2009.06.13 17:20 #1835 致基米托2 我相信这是可以做到的,我相信我可以做到。 大部分的任务我已经在我自己冗长的EA中完成了。 这不会很便宜,因为我珍惜我的时间。 大贝 natsirte 2009.06.14 06:38 #1836 如何用一个周期进行交易? 你好 我有一个EA,我想让它在一个周期内工作。 我有5个变量 double ma1 = iMA(NULL, 0, 1, 0, MODE_EMA, PRICE_CLOSE, Current + 0); double sar = iSAR(NULL, 0, 0.02, 0.2, Current + 0); double Macd=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,Current + 0)。 double Signal=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,Current + 0)。 string var_trading="ok"; 一个交易的条件是: ****************************** 如果(Period()==1) { double ma_buy = ma1>sar && Macd>Signal && var_trading=="ok" ; } ****************************** 这就是我想要的。 1/交易开始 2/var_trading的值变成 "no" --> var_trading="no" 3/交易结束(获利或止损)。 4/新的交易可以开始,因为var_trading=="no" 5/ 重要的是:当ma1 var_trading=="ok" 6/ 当ma1再次>sar,并且如果Macd>Signal ====> 新的交易开始! 7/ 而var_trading的值变成 "no" --> var_trading="no" 8/ 等.... ******************************* 我可以怎么做? 由于很多原因,我不希望这样(请看我的代码)。 double ma_buy = ma1p1sar && Macd>Signal && var_trading=="ok" ; 最好的问候 附加的文件: thl.mq4 22 kb How to code? how to make a Why does this trade faoni572 2009.06.15 07:34 #1837 程序员们请帮帮我吧 我正试图将一个指标转换为EA。指标使用 "int counted_bars = IndicatorCounted() "来计算条数,在EA中我认为我不能使用这个,因为它与指标有关。 我怎样才能解决这个问题。 感谢你的帮助 谢谢 luxinterior 2009.06.15 20:49 #1838 如果你想在EA中使用一个指标,最好/最简单的方法是使用iCustom函数。请在帮助文件中查看它的使用。 好运 拉克斯 faoni572 2009.06.16 05:20 #1839 @luxinterior,感谢您的回复 johnray 2009.06.16 05:25 #1840 我得到了这个错误,这是什么意思? 2009.06.16 08:23:11 TestGenerator: unmatched data error (volume limit 66 at 2009.06.15 20:45 exceeded) 1...177178179180181182183184185186187188189190191...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
有助于为EA制定指标
我发现了一个很好的策略,有很多点在等着我
大家好,我发现了一个关于所有货币的策略,我需要你们为我制作EA,看看这个。
1 MA_Period=2 MA_shift=-5 MA_Method=3 (YELLOW)
2 MA设置 MA_Period= 4 MA_shift= -5 MA_Method= 3 (Red)
3个MA设置 MA_Period=200 MA_shift=0 MA_Method=0 (COLOUR TEAL)
简要信号:当黄色和红色跨越青色时,无论是向上还是向下。
让我们做一些EA来使其工作,让EA自己修改,当价格移动到10点时,没有止损 将移动到2点,等待最好的程序员....。
需要帮助编程监控价格
大家好,我有一个关于在MT4上编程的问题,我如何能够让EA监控价格?例如,如果价格上升到一定水平,那么它将初始化另一组订单?我在这里附上了我的EA代码 ,非常感谢您的帮助。
//+------------------------------------------------------------------+
//| Auto Pipforia.mq4 | //| Copyright?
//| 2009年,MetaQuotes软件公司版权所有。|
//|外汇交易软件。外汇交易平台MetaTrader 4
//+------------------------------------------------------------------+
外部双AnchorSpace = 0.0017;
extern double GridSpace = 0.0017;
extern double AnchorLot = 0.03;
extern double Level1 = 0.06;
extern double Level2 = 0.11;
外部双倍 Level3 = 0.11;
外置双倍Level4Up = 0.11;
外置 int MagicNumber = 1001;
外置双倍利润目标=0。
双重SendCount=0。
开始()
{
int divider=(Ask-Bid)/2;
double MidPrice=Ask-divider;
double Buy=MidPrice+AnchorSpace;
SendOrders(Buy);
MonitorProfit()。
返回(0)。
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void SendOrders(double Buy)
{
如果(SendCount<3){
OrderSend(Symbol(),OP_BUYSTOP,AnchorLot,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green)。
Buy=Buy+GridSpace;
OrderSend(Symbol(),OP_BUYSTOP,Level1,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green)。
Buy=Buy+GridSpace;
OrderSend(Symbol(),OP_BUYSTOP,Level2,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green)。
SendCount=3。
}
否则如果(SendCount==3)
{
返回()。
}
}
//+------------------------------------------------------------------+
空白 监控利润()
{
// double Percent=Profit_Percentage/100;
int total = OrdersTotal();
double MyCurrentProfit=0。
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。
如果(OrderMagicNumber() == MagicNumber)
MyCurrentProfit += OrderProfit()。
}
如果(MyCurrentProfit>= Profit_Target){
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS)。
如果(OrderMagicNumber() == MagicNumber)
{
OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),()), 5, Red ) 。
OrderDelete( OrderTicket() )。
}
}
}
否则()
{
返回()。
}
}
//这里是需要编程的部分。
//+------------------------------------------------------------------+
空白 监控价格()
{
如果(Buy-Ask<=20 Point || Bid-Sell<=20 Point)
{
致 tendyhk-
你的问题不完全清楚,但'20点'应该是'20*点'。
大的是
致基米托2
我相信这是可以做到的,我相信我可以做到。 大部分的任务我已经在我自己冗长的EA中完成了。 这不会很便宜,因为我珍惜我的时间。
大贝
如何用一个周期进行交易?
你好
我有一个EA,我想让它在一个周期内工作。
我有5个变量
double ma1 = iMA(NULL, 0, 1, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double sar = iSAR(NULL, 0, 0.02, 0.2, Current + 0);
double Macd=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,Current + 0)。
double Signal=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,Current + 0)。
string var_trading="ok";
一个交易的条件是:
******************************
如果(Period()==1)
{
double ma_buy = ma1>sar && Macd>Signal && var_trading=="ok" ;
}
******************************
这就是我想要的。
1/交易开始
2/var_trading的值变成 "no" --> var_trading="no"
3/交易结束(获利或止损)。
4/新的交易可以开始,因为var_trading=="no"
5/ 重要的是:当ma1 var_trading=="ok"
6/ 当ma1再次>sar,并且如果Macd>Signal ====> 新的交易开始!
7/ 而var_trading的值变成 "no" --> var_trading="no"
8/ 等....
*******************************
我可以怎么做?
由于很多原因,我不希望这样(请看我的代码)。
double ma_buy = ma1p1sar && Macd>Signal && var_trading=="ok" ;
最好的问候
程序员们请帮帮我吧
我正试图将一个指标转换为EA。指标使用 "int counted_bars = IndicatorCounted() "来计算条数,在EA中我认为我不能使用这个,因为它与指标有关。
我怎样才能解决这个问题。
感谢你的帮助
谢谢
如果你想在EA中使用一个指标,最好/最简单的方法是使用iCustom函数。请在帮助文件中查看它的使用。
好运
拉克斯
@luxinterior,感谢您的回复
我得到了这个错误,这是什么意思?
2009.06.16 08:23:11 TestGenerator: unmatched data error (volume limit 66 at 2009.06.15 20:45 exceeded)