如何编码? - 页 125 1...118119120121122123124125126127128129130131132...347 新评论 IN10TION 2008.08.29 10:45 #1241 它有什么问题?只针对欧元兑美元?它看起来和其他的一样吗? LazyForex: 哈...你能用你的键盘上的相同的键来使这个也能工作吗? 干杯! LazyForex 2008.08.29 10:48 #1242 IN10TION:它有什么问题?只针对欧元兑美元?它看起来和其他的一样吗? 它有同样的问题。在回测 中工作,但在正向测试中不工作。没有交易被执行...你能帮忙吗? LazyForex 2008.08.29 10:58 #1243 IN10TION:它也被设置为只在欧元兑美元上工作,我已经把它换成了另一个限制...是的...同一个键... 顺便说一下,我必须改变另一个...。我看到我可以做的其他事情...是的...同样的钥匙...分享一下结果好吗?(或给我发邮件)我想知道IN10TION 你的键盘要出售吗? 谢谢你。将随时向您报告。 IN10TION 2008.08.29 11:00 #1244 在这个问题上使用了更多的键......但你也可以将其用于其他货币,只设置了欧元兑美元......不知道为什么,你会知道的,我希望 附加的文件: opensrc-nn-ea_modv2_in10tion.mq4 6 kb IN10TION 2008.08.29 11:01 #1245 它也被设置为只在欧元兑美元上工作,我已经把它关掉了,还有其他的限制......是的......同样的键......。 btw 我必须改变另一个...。我看到我可以做的其他事情...是的...相同的键... 分享一下结果好吗?(或给我发邮件)我想知道 解释 LazyForex: 这是同样的问题。在回测中工作,但在正向测试中不工作。没有交易被执行...你能帮忙吗? 附加的文件: forex_nn_expert_v1.0_mod_in10tion.mq4 7 kb mellda 2008.08.29 11:51 #1246 非常感谢你的建议。我发现在大多数情况下(也许在所有情况下),在最新的条形图开始时有一个刻度,所以我可以用开盘价 交易。这并不理想,但(正如上面所说的)收盘价和开盘价之间的差异很小。 mellda 2008.08.29 13:02 #1247 函数 iTime的返回值是什么?它是一个条形图的起始日期吗?手册中只写了 "返回指定符号的条形的时间值,包括时间框架和移位"。 谢谢你的回答。 IN10TION 2008.08.29 13:26 #1248 :: 是的,条形图的开始 mellda: 函数iTime返回的是什么值?是条形图的起始日期吗?手册中只写了 "返回指定符号的条形的时间值,包括时间框架和移位。"谢谢您的回答。 LazyForex 2008.08.30 10:55 #1249 IN10TION:在这个问题上确实用了一些更多的键......但你也可以用在其他货币上,只设置了欧元兑美元......不知道为什么,你会知道的,我希望 嗨,IN10TION。 给你发了一个PM... matrixebiz 2008.08.30 12:01 #1250 需要EA在达到利润时关闭所有订单 你好,我想知道你们中的某位伟大的程序员是否能在代码中加入一旦g_MinProfit和f_MinProfit被击中就关闭所有订单的内容。我发现,当利润被击中时,会有剩余的买入/卖出止损/限价订单 滞留,我希望一旦触发最小利润,就将它们全部删除。 谢谢你 extern bool g_CLOSE_ALL=false; extern bool g_RESTART=true; extern int g_Step=120; extern double g_FirstLot=0.1; extern double g_IncLot=0; extern double g_MinProfit=450; extern int g_Magic = 2008; extern string g_comment="Win"; extern bool f_CLOSE_ALL=false; extern bool f_RESTART=true; extern int f_Step=120; extern double f_FirstLot=0.1; extern double f_IncLot=0; extern double f_MinProfit=450; extern int f_Magic = 2009; extern string f_comment="REV"; int GOrder_Buy=0; int GOrder_Sell=0; double GLotSell=0; double GLotBuy=0; double gLotSell=0; double gLotBuy=0; double gLSP,gLBP; double gCurrentProfit; int FOrder_Buy=0; int FOrder_Sell=0; double FLotSell=0; double FLotBuy=0; double fLotSell=0; double fLotBuy=0; double fLSP,fLBP; double fCurrentProfit; double max_dd; //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int init() { Comment("Waddah Attar Win TradeBalancer 1"); if(!GlobalVariableCheck("max_DD")) GlobalVariableSet("max_DD",0); return(0); } int deinit() { Comment(""); return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int start() { gCurrentProfit=GetOrdersProfit(g_Magic); if (gCurrentProfit>=g_MinProfit || g_CLOSE_ALL) { DeletePendingOrders(g_Magic); CloseOrders(g_Magic); } if (MyOrdersTotal(g_Magic)==0 && g_RESTART) { OrderSend(Symbol(),OP_BUYLIMIT,g_FirstLot,Ask-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue); OrderSend(Symbol(),OP_SELLLIMIT,g_FirstLot,Bid+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red); } gLSP=GetLastSellPrice(g_Magic); gLBP=GetLastBuyPrice(g_Magic); if((gLSP-Bid)<=5*Point) { OrderSend(Symbol(),OP_SELLLIMIT,gLotSell+g_IncLot,gLSP+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red); } if((Ask-gLBP)<=5*Point) { OrderSend(Symbol(),OP_BUYLIMIT,gLotBuy+g_IncLot,gLBP-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue); } //-------------------------------------------------------------------------------------------- fCurrentProfit=GetOrdersProfit(f_Magic); if (fCurrentProfit>=f_MinProfit || f_CLOSE_ALL) { DeletePendingOrders(f_Magic); CloseOrders(f_Magic); } if (MyOrdersTotal(f_Magic)==0 && f_RESTART) { OrderSend(Symbol(),OP_BUYSTOP,f_FirstLot,Ask+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue); OrderSend(Symbol(),OP_SELLSTOP,f_FirstLot,Bid-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red); } fLSP=GetLastSellPrice(f_Magic); fLBP=GetLastBuyPrice(f_Magic); if((Bid-fLSP)<=5*Point) { OrderSend(Symbol(),OP_SELLSTOP,fLotSell+f_IncLot,fLSP-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red); } if((fLBP-Ask)<=5*Point) { OrderSend(Symbol(),OP_BUYSTOP,fLotBuy+f_IncLot,fLBP+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue); } //-------------------------------------------------------------------------------------------- //max_dd= //-------------------------------------------------------------------------------------------- Comment("Waddah Attar Win TradeBalancer 1", "\n\n\n\n", " CurrentProfit = ", DoubleToStr(gCurrentProfit,2), "\n\n", " Buy Lots = ", DoubleToStr(GLotBuy,2) + " / " + GOrder_Buy, "\n\n", " Sell Lots = ", DoubleToStr(GLotSell,2) + " / " + GOrder_Sell, "\n\n\n\n", " CurrentProfit = ", DoubleToStr(fCurrentProfit,2), "\n\n", " Buy Lots = ", DoubleToStr(FLotBuy,2) + " / " + FOrder_Buy, "\n\n", " Sell Lots = ", DoubleToStr(FLotSell,2) + " / " + FOrder_Sell); return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int DeletePendingOrders(int Magic) { int total = OrdersTotal(); for (int cnt = total-1 ; cnt >= 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY && OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); } } return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int CloseOrders(int Magic) { int total = OrdersTotal(); for (int cnt = total-1 ; cnt >= 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue); } if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Red); } } } return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- int MyOrdersTotal(int Magic) { int c=0; int total = OrdersTotal(); if(Magic==g_Magic) { GLotBuy=0; GLotSell=0; GOrder_Buy=0; GOrder_Sell=0; } if(Magic==f_Magic) { FLotBuy=0; FLotSell=0; FOrder_Buy=0; FOrder_Sell=0; } for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if(Magic==g_Magic) { if(OrderType()==OP_BUY) { GLotBuy=GLotBuy+OrderLots(); GOrder_Buy++; } if(OrderType()==OP_SELL) { GLotSell=GLotSell+OrderLots(); GOrder_Sell++; } } if(Magic==f_Magic) { if(OrderType()==OP_BUY) { FLotBuy=FLotBuy+OrderLots(); FOrder_Buy++; } if(OrderType()==OP_SELL) { FLotSell=FLotSell+OrderLots(); FOrder_Sell++; } } c++; } } return(c); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- double GetLastBuyPrice(int Magic) { int total=OrdersTotal()-1; for (int cnt = total ; cnt >=0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUY)) { if(Magic==g_Magic) gLotBuy=OrderLots(); if(Magic==f_Magic) fLotBuy=OrderLots(); return(OrderOpenPrice()); } } return(0); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- double GetLastSellPrice(int Magic) { int total=OrdersTotal()-1; for (int cnt = total ; cnt >=0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELL)) { if(Magic==g_Magic) gLotSell=OrderLots(); if(Magic==f_Magic) fLotSell=OrderLots(); return(OrderOpenPrice()); } } return(100000); } //-------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------- double GetOrdersProfit(int Magic) { double eProfit=0; int total=OrdersTotal()-1; for (int cnt = total ; cnt >=0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL)) { eProfit=eProfit+OrderProfit(); } } return(eProfit); } //-------------------------------------------------------------------------------------------- How to code? EA: Lucky [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 1...118119120121122123124125126127128129130131132...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
哈...你能用你的键盘上的相同的键来使这个也能工作吗? 干杯!
它有同样的问题。在回测 中工作,但在正向测试中不工作。没有交易被执行...你能帮忙吗?
你的键盘要出售吗?
谢谢你。将随时向您报告。
这是同样的问题。在回测中工作,但在正向测试中不工作。没有交易被执行...你能帮忙吗?
非常感谢你的建议。我发现在大多数情况下(也许在所有情况下),在最新的条形图开始时有一个刻度,所以我可以用开盘价 交易。这并不理想,但(正如上面所说的)收盘价和开盘价之间的差异很小。
函数 iTime的返回值是什么?它是一个条形图的起始日期吗?手册中只写了 "返回指定符号的条形的时间值,包括时间框架和移位"。
谢谢你的回答。
函数iTime返回的是什么值?是条形图的起始日期吗?手册中只写了 "返回指定符号的条形的时间值,包括时间框架和移位。"谢谢您的回答。
嗨,IN10TION。
给你发了一个PM...
需要EA在达到利润时关闭所有订单
你好,我想知道你们中的某位伟大的程序员是否能在代码中加入一旦g_MinProfit和f_MinProfit被击中就关闭所有订单的内容。我发现,当利润被击中时,会有剩余的买入/卖出止损/限价订单 滞留,我希望一旦触发最小利润,就将它们全部删除。
谢谢你
extern bool g_CLOSE_ALL=false;
extern bool g_RESTART=true;
extern int g_Step=120;
extern double g_FirstLot=0.1;
extern double g_IncLot=0;
extern double g_MinProfit=450;
extern int g_Magic = 2008;
extern string g_comment="Win";
extern bool f_CLOSE_ALL=false;
extern bool f_RESTART=true;
extern int f_Step=120;
extern double f_FirstLot=0.1;
extern double f_IncLot=0;
extern double f_MinProfit=450;
extern int f_Magic = 2009;
extern string f_comment="REV";
int GOrder_Buy=0;
int GOrder_Sell=0;
double GLotSell=0;
double GLotBuy=0;
double gLotSell=0;
double gLotBuy=0;
double gLSP,gLBP;
double gCurrentProfit;
int FOrder_Buy=0;
int FOrder_Sell=0;
double FLotSell=0;
double FLotBuy=0;
double fLotSell=0;
double fLotBuy=0;
double fLSP,fLBP;
double fCurrentProfit;
double max_dd;
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int init()
{
Comment("Waddah Attar Win TradeBalancer 1");
if(!GlobalVariableCheck("max_DD")) GlobalVariableSet("max_DD",0);
return(0);
}
int deinit()
{
Comment("");
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int start()
{
gCurrentProfit=GetOrdersProfit(g_Magic);
if (gCurrentProfit>=g_MinProfit || g_CLOSE_ALL)
{
DeletePendingOrders(g_Magic);
CloseOrders(g_Magic);
}
if (MyOrdersTotal(g_Magic)==0 && g_RESTART)
{
OrderSend(Symbol(),OP_BUYLIMIT,g_FirstLot,Ask-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue);
OrderSend(Symbol(),OP_SELLLIMIT,g_FirstLot,Bid+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red);
}
gLSP=GetLastSellPrice(g_Magic);
gLBP=GetLastBuyPrice(g_Magic);
if((gLSP-Bid)<=5*Point)
{
OrderSend(Symbol(),OP_SELLLIMIT,gLotSell+g_IncLot,gLSP+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red);
}
if((Ask-gLBP)<=5*Point)
{
OrderSend(Symbol(),OP_BUYLIMIT,gLotBuy+g_IncLot,gLBP-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue);
}
//--------------------------------------------------------------------------------------------
fCurrentProfit=GetOrdersProfit(f_Magic);
if (fCurrentProfit>=f_MinProfit || f_CLOSE_ALL)
{
DeletePendingOrders(f_Magic);
CloseOrders(f_Magic);
}
if (MyOrdersTotal(f_Magic)==0 && f_RESTART)
{
OrderSend(Symbol(),OP_BUYSTOP,f_FirstLot,Ask+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue);
OrderSend(Symbol(),OP_SELLSTOP,f_FirstLot,Bid-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red);
}
fLSP=GetLastSellPrice(f_Magic);
fLBP=GetLastBuyPrice(f_Magic);
if((Bid-fLSP)<=5*Point)
{
OrderSend(Symbol(),OP_SELLSTOP,fLotSell+f_IncLot,fLSP-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red);
}
if((fLBP-Ask)<=5*Point)
{
OrderSend(Symbol(),OP_BUYSTOP,fLotBuy+f_IncLot,fLBP+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue);
}
//--------------------------------------------------------------------------------------------
//max_dd=
//--------------------------------------------------------------------------------------------
Comment("Waddah Attar Win TradeBalancer 1",
"\n\n\n\n", " CurrentProfit = ", DoubleToStr(gCurrentProfit,2),
"\n\n", " Buy Lots = ", DoubleToStr(GLotBuy,2) + " / " + GOrder_Buy,
"\n\n", " Sell Lots = ", DoubleToStr(GLotSell,2) + " / " + GOrder_Sell,
"\n\n\n\n", " CurrentProfit = ", DoubleToStr(fCurrentProfit,2),
"\n\n", " Buy Lots = ", DoubleToStr(FLotBuy,2) + " / " + FOrder_Buy,
"\n\n", " Sell Lots = ", DoubleToStr(FLotSell,2) + " / " + FOrder_Sell);
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY && OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int CloseOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
}
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
if(Magic==g_Magic) { GLotBuy=0; GLotSell=0; GOrder_Buy=0; GOrder_Sell=0; }
if(Magic==f_Magic) { FLotBuy=0; FLotSell=0; FOrder_Buy=0; FOrder_Sell=0; }
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if(Magic==g_Magic)
{
if(OrderType()==OP_BUY) { GLotBuy=GLotBuy+OrderLots(); GOrder_Buy++; }
if(OrderType()==OP_SELL) { GLotSell=GLotSell+OrderLots(); GOrder_Sell++; }
}
if(Magic==f_Magic)
{
if(OrderType()==OP_BUY) { FLotBuy=FLotBuy+OrderLots(); FOrder_Buy++; }
if(OrderType()==OP_SELL) { FLotSell=FLotSell+OrderLots(); FOrder_Sell++; }
}
c++;
}
}
return(c);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetLastBuyPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUY))
{
if(Magic==g_Magic) gLotBuy=OrderLots();
if(Magic==f_Magic) fLotBuy=OrderLots();
return(OrderOpenPrice());
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetLastSellPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELL))
{
if(Magic==g_Magic) gLotSell=OrderLots();
if(Magic==f_Magic) fLotSell=OrderLots();
return(OrderOpenPrice());
}
}
return(100000);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetOrdersProfit(int Magic)
{
double eProfit=0;
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
eProfit=eProfit+OrderProfit();
}
}
return(eProfit);
}
//--------------------------------------------------------------------------------------------