如何编码? - 页 188 1...181182183184185186187188189190191192193194195...347 新评论 SPACECHIMP 2009.07.02 15:24 #1871 int start() { int total,ord,i; 字符串。 total = OrdersTotal(); for(i=0;i<total;i++) { OrderSelect(i,SELECT_BY_POS)。 if(OrderSymbol() = Symbol())ord++; } if(ord>0) return (0); //Abort!这个货币对的头寸已经打开了 //我的其余程序代码 } 我发现在现实中,由于经纪商没有立即开仓,我不得不在代码中使用几秒钟的暂停。 SPACECHIMP 2009.07.02 15:27 #1872 想在一个方向上开1个仓位,但即使仓位达到TP,也不能再开。 检查 开仓显然是行不通的。 例如 如果我有一个买入的仓位,并且击中了TP,我不希望再执行一个 "买入"。我想让它等到MA线向下交叉,然后用TP开一个卖出,再重复整个过程。 也许有一种简单的方法可以做到这一点,我的大脑被烧坏了,或者其他什么东西。 谢谢你 [删除] 2009.07.02 16:40 #1873 谢谢你的信息... SPACECHIMP: int start() {int total,ord,i;字符串。total = OrdersTotal();for(i=0;i<total;i++){OrderSelect(i,SELECT_BY_POS)。if(OrderSymbol() = Symbol())ord++;}if(ord>0) return (0); //Abort!这个货币对的头寸已经打开了//我的其余程序代码} 我发现在现实中,由于经纪人没有立即开仓,我不得不在代码中使用几秒钟的停顿。 谢谢你花时间给我看这段代码!我认为我的屏幕截图不足以解释我所要实现的逻辑。这里的解释是明智的......只是作为一个例子,我使用的是 "买入 "情况。最终我希望它能同时进行 "买 "和 "卖"。 情景1:如果你的买入交易与你同行......--交易1,T/P为70点 --交易2,在交易1的基础上增加30点,T/P为70点 --交易3,离交易2有30点距离,T/P为70点 ** 总共210点 情况2:如果你的买入交易对你不利......在三个交易中每隔60点进行一次交易,并等待市场向你的方向回调--交易1不好......在交易1的价格上以-60点进入新的应急买入交易。 --交易2不好...在交易2的价格的-60点处进入新的应急买入交易。 --交易3不好...不再进行交易 --等待反转迹象......抛物线 点=底部......如果看起来是在向我们的方向发展,那么进入第四笔买入交易 --再等30个正数点,然后进入第5次买入交易......继续进入买入交易(6、7、8次交易),直到达到第3次应急交易的水平....,然后等待最初的第1次,并遵循方案1的步骤。 有可能得到这个逻辑的代码吗?我将非常感激!! luxinterior 2009.07.02 22:52 #1874 SPACECHIMP: 想在一个方向上建立1个仓位,但即使仓位达到TP,也不能再多了。 检查开放的位置显然不起作用。例如如果我有一个买入的仓位,并且击中了TP,我不希望再执行一个 "买入"。我想让它等到MA交叉点向下,然后用TP开一个卖出,再重复整个过程。也许有一种简单的方法可以做到这一点,但我的大脑被烧坏了。 谢谢你 你需要检查 你的订单历史,看看是否有订单在当前条形图上关闭以获取利润。 希望这有帮助。 拉克斯 drhouse7 2009.07.03 11:09 #1875 RSI过滤器pete 大家好... 我试图为这个Indy(RSI过滤器Pete)创建一个简单的EA,但在编译后,当我启动回测时,什么都没有发生 我只想 1-在绿色或浅绿色时买入 2、在红色或浅红色时卖出 所以我请求一些好心人帮助我解决这个问题。 谢谢 附加的文件: ea_rsi_filter_pete.mq4 10 kb rsi_filter_pete.png 27 kb rsifilter_pete.mq4 4 kb [删除] 2009.07.04 17:36 #1876 请为EA提供MM 我想在我的EA中添加这个条件 如果前一天的损失可以采取任何操作 有谁能帮忙吗? 这是我的EA //+------------------------------------------------------------------+ /* EA Dengan sinyal dari signal ma */ extern double Lots = 0.01; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { double a1, //ma 10 tf 4h a2, //ma 10 tf 1h a3, //ma 10 tf 15m a4, //ma 10 tf 5m j, //yesterday low price k, //yesterday high price b1, //ma 30 tf 4h b2, //ma 30 tf 1h b3, //ma 30 tf 15m b4; //ma 30 tf 5m int cnt, ticket, total; if(Bars<100) { Print("bars less than 100"); return(0); } // to simplify the coding and speed up access // data are put into internal variables a1 = iMA(NULL,240,10,0,MODE_EMA,PRICE_CLOSE,0); a2 = iMA(NULL,60,10,0,MODE_EMA,PRICE_CLOSE,0); a3 = iMA(NULL,15,10,0,MODE_EMA,PRICE_CLOSE,0); a4 = iMA(NULL,5,10,0,MODE_EMA,PRICE_CLOSE,0); b1 = iMA(NULL,240,30,0,MODE_EMA,PRICE_CLOSE,0); b2 = iMA(NULL,60,30,0,MODE_EMA,PRICE_CLOSE,0); b3 = iMA(NULL,15,30,0,MODE_EMA,PRICE_CLOSE,0); b4 = iMA(NULL,5,30,0,MODE_EMA,PRICE_CLOSE,0); j = iLow(NULL,60,2); k = iHigh(NULL,60,2); total=OrdersTotal(); if(total<1) { // no opened orders identified if(AccountFreeMargin()<(1000*Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } // check for long position (BUY) possibility if(a1>b1&& a2>b2&& a3>b3&& a4>b4+10*Point) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"macd sample",16384,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } // check for short position (SELL) possibility if(a1<b1&& a2<b2&& a3<b3&& a4<b4-10*Point) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"macd sample",16384,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()); return(0); } return(0); } // it is important to enter the market correctly, // but it is more important to exit it correctly... for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // check for opened position OrderSymbol()==Symbol()) // check for symbol { if(OrderType()==OP_BUY) // long position is opened { // should it be closed? if(Bid>OrderOpenPrice()+100*Point)//if profit > 100 { OrderModify(OrderTicket(),OrderOpenPrice(),j,0,0,Green); return(0); } if(Bid<OrderOpenPrice()-150*Point)//stop loss { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position return(0); // exit } } else // go to short position { // should it be closed? if(Ask 100 { OrderModify(OrderTicket(),OrderOpenPrice(),k,0,0,Green); return(0); } if(Ask>OrderOpenPrice()+150*Point)//stop loss { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position return(0); // exit } } } } return(0); } // the end. How to code? 新手的问题 布林线交易总出问题 Ms_Mel 2009.07.04 20:26 #1877 你好。 几周前我在另一个论坛上提出了类似的要求。一种CLOSEALL,如果余额=+x金额或-x金额。我不是程序员,但这似乎是不可能的(?),因为我真的只得到了几个不清楚的答案。 看起来并不复杂,但话说回来,我不是一个程序员。 祝你好运。 Dax 2009.07.05 22:56 #1878 是否可以通过EA打开一个交易弹出窗口? 你好。 我想通过EA打开一个交易弹出窗口。 这可能吗? 如果可以通过EA打开,是否可以打开一个交易弹出窗口,上面的交易量(手数)被设置为一个由EA命令的数字? InTrance 2009.07.06 09:24 #1879 Dax: 你好。我想通过EA打开一个交易弹出窗口。 这可能吗? 如果可以通过EA打开,是否可以打开一个交易弹出窗口,将交易量的数字(手数)设置为EA命令的数字? 你必须用dll来做这件事。 InTrance 2009.07.06 09:26 #1880 Ms_Mel: 你好。几周前我在另一个论坛上提出了类似的要求。一种CLOSEALL,如果余额=+x金额或-x金额。我不是程序员,但这似乎不可能(?),因为我真的只得到几个不清楚的答案。 似乎没有那么复杂,但话说回来,我不是一个程序员。 祝您好运。 在论坛上搜索一下closeall EAs。这里有几个 1...181182183184185186187188189190191192193194195...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
int start()
{
int total,ord,i;
字符串。
total = OrdersTotal();
for(i=0;i<total;i++)
{
OrderSelect(i,SELECT_BY_POS)。
if(OrderSymbol() = Symbol())ord++;
}
if(ord>0) return (0); //Abort!这个货币对的头寸已经打开了
//我的其余程序代码
}
我发现在现实中,由于经纪商没有立即开仓,我不得不在代码中使用几秒钟的暂停。
想在一个方向上开1个仓位,但即使仓位达到TP,也不能再开。
检查 开仓显然是行不通的。
例如
如果我有一个买入的仓位,并且击中了TP,我不希望再执行一个 "买入"。我想让它等到MA线向下交叉,然后用TP开一个卖出,再重复整个过程。
也许有一种简单的方法可以做到这一点,我的大脑被烧坏了,或者其他什么东西。
谢谢你
谢谢你的信息...
int start()
{
int total,ord,i;
字符串。
total = OrdersTotal();
for(i=0;i<total;i++)
{
OrderSelect(i,SELECT_BY_POS)。
if(OrderSymbol() = Symbol())ord++;
}
if(ord>0) return (0); //Abort!这个货币对的头寸已经打开了
//我的其余程序代码
}
我发现在现实中,由于经纪人没有立即开仓,我不得不在代码中使用几秒钟的停顿。谢谢你花时间给我看这段代码!我认为我的屏幕截图不足以解释我所要实现的逻辑。这里的解释是明智的......只是作为一个例子,我使用的是 "买入 "情况。最终我希望它能同时进行 "买 "和 "卖"。
情景1:如果你的买入交易与你同行......--交易1,T/P为70点
--交易2,在交易1的基础上增加30点,T/P为70点
--交易3,离交易2有30点距离,T/P为70点
** 总共210点
情况2:如果你的买入交易对你不利......在三个交易中每隔60点进行一次交易,并等待市场向你的方向回调--交易1不好......在交易1的价格上以-60点进入新的应急买入交易。
--交易2不好...在交易2的价格的-60点处进入新的应急买入交易。
--交易3不好...不再进行交易
--等待反转迹象......抛物线 点=底部......如果看起来是在向我们的方向发展,那么进入第四笔买入交易
--再等30个正数点,然后进入第5次买入交易......继续进入买入交易(6、7、8次交易),直到达到第3次应急交易的水平....,然后等待最初的第1次,并遵循方案1的步骤。
有可能得到这个逻辑的代码吗?我将非常感激!!
想在一个方向上建立1个仓位,但即使仓位达到TP,也不能再多了。
检查开放的位置显然不起作用。
例如
如果我有一个买入的仓位,并且击中了TP,我不希望再执行一个 "买入"。我想让它等到MA交叉点向下,然后用TP开一个卖出,再重复整个过程。
也许有一种简单的方法可以做到这一点,但我的大脑被烧坏了。
谢谢你你需要检查 你的订单历史,看看是否有订单在当前条形图上关闭以获取利润。
希望这有帮助。
拉克斯
RSI过滤器pete
大家好...
我试图为这个Indy(RSI过滤器Pete)创建一个简单的EA,但在编译后,当我启动回测时,什么都没有发生
我只想
1-在绿色或浅绿色时买入
2、在红色或浅红色时卖出
所以我请求一些好心人帮助我解决这个问题。
谢谢
请为EA提供MM
我想在我的EA中添加这个条件
如果前一天的损失可以采取任何操作
有谁能帮忙吗?
这是我的EA
//+------------------------------------------------------------------+
/*
EA Dengan sinyal dari signal ma
*/
extern double Lots = 0.01;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double a1, //ma 10 tf 4h
a2, //ma 10 tf 1h
a3, //ma 10 tf 15m
a4, //ma 10 tf 5m
j, //yesterday low price
k, //yesterday high price
b1, //ma 30 tf 4h
b2, //ma 30 tf 1h
b3, //ma 30 tf 15m
b4; //ma 30 tf 5m
int cnt, ticket, total;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
// to simplify the coding and speed up access
// data are put into internal variables
a1 = iMA(NULL,240,10,0,MODE_EMA,PRICE_CLOSE,0);
a2 = iMA(NULL,60,10,0,MODE_EMA,PRICE_CLOSE,0);
a3 = iMA(NULL,15,10,0,MODE_EMA,PRICE_CLOSE,0);
a4 = iMA(NULL,5,10,0,MODE_EMA,PRICE_CLOSE,0);
b1 = iMA(NULL,240,30,0,MODE_EMA,PRICE_CLOSE,0);
b2 = iMA(NULL,60,30,0,MODE_EMA,PRICE_CLOSE,0);
b3 = iMA(NULL,15,30,0,MODE_EMA,PRICE_CLOSE,0);
b4 = iMA(NULL,5,30,0,MODE_EMA,PRICE_CLOSE,0);
j = iLow(NULL,60,2);
k = iHigh(NULL,60,2);
total=OrdersTotal();
if(total<1)
{
// no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
// check for long position (BUY) possibility
if(a1>b1&&
a2>b2&&
a3>b3&&
a4>b4+10*Point)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"macd sample",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
// check for short position (SELL) possibility
if(a1<b1&&
a2<b2&&
a3<b3&&
a4<b4-10*Point)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"macd sample",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
if(Bid>OrderOpenPrice()+100*Point)//if profit > 100
{
OrderModify(OrderTicket(),OrderOpenPrice(),j,0,0,Green);
return(0);
}
if(Bid<OrderOpenPrice()-150*Point)//stop loss
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
}
else // go to short position
{
// should it be closed?
if(Ask 100
{
OrderModify(OrderTicket(),OrderOpenPrice(),k,0,0,Green);
return(0);
}
if(Ask>OrderOpenPrice()+150*Point)//stop loss
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
}
}
}
return(0);
}
// the end.
你好。
几周前我在另一个论坛上提出了类似的要求。一种CLOSEALL,如果余额=+x金额或-x金额。我不是程序员,但这似乎是不可能的(?),因为我真的只得到了几个不清楚的答案。
看起来并不复杂,但话说回来,我不是一个程序员。
祝你好运。
是否可以通过EA打开一个交易弹出窗口?
你好。
我想通过EA打开一个交易弹出窗口。
这可能吗?
如果可以通过EA打开,是否可以打开一个交易弹出窗口,上面的交易量(手数)被设置为一个由EA命令的数字?
你好。
我想通过EA打开一个交易弹出窗口。
这可能吗?
如果可以通过EA打开,是否可以打开一个交易弹出窗口,将交易量的数字(手数)设置为EA命令的数字?你必须用dll来做这件事。
你好。
几周前我在另一个论坛上提出了类似的要求。一种CLOSEALL,如果余额=+x金额或-x金额。我不是程序员,但这似乎不可能(?),因为我真的只得到几个不清楚的答案。
似乎没有那么复杂,但话说回来,我不是一个程序员。
祝您好运。在论坛上搜索一下closeall EAs。这里有几个