问吧! - 页 29 1...222324252627282930313233343536...182 新评论 iscuba11 2006.08.30 02:48 #281 Yannis: 戴夫。试着把你的代码改成下面的片段,让我知道这是否有效果。Yannisint i=0。for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)OrderSelect(i, SELECT_BY_POS, MODE_TRADES)。如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() &&( OrderMagicNumber() ==MagicNumber ||MagicNumber==0)){OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit返回(0)。}如果(OrderType()>=OP_BUY && OrderSymbol()==Symbol() &&( OrderMagicNumber() ==MagicNumber || MagicNumber==0)){OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit返回(0)。}return(0);}} 我有一个问题,它总是反复修改回测器中的交易。我怎样才能让它修改一次交易。因为程序将进入睡眠状态,唯一需要修改的交易是任何仍然开放的交易。 请看所附的回测结果.Gif。我就差一点就能弄明白了--请指教!!我将这种获利 和止损的修改与睡眠模式结合起来使用。请看下面的代码 int start() { 如果(UseHourTrade) { int a=0; int b=0; int c=0; if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1; if(!(Hour()>=FromHourTrade2 &&Hour()<=ToHourTrade2)) b=1; if(!(Hour()>=FromHourTrade3 &&Hour()<=ToHourTrade3)) c=1; 如果(a==1 &&b==1 &&c==1) { 评论( "\n"," * SOLAR WIND EXPERT ADVISOR *" 。 "\n", "/n", "- PROGRAM IN SLEEP CYCLE - ", "\n", "NON-TRADING HOURS!<")。 /////////////////// 修改睡眠周期开始时的止损和止盈 ///////////////// int h=0。 for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--) OrderSelect(h, SELECT_BY_POS, MODE_TRADES)。 如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber ||MagicNumber==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit 返回(0)。 } 如果(OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber || MagicNumber==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit 返回(0)。 } return(0); } } 戴夫 <<< 请看所附缩略图! 附加的文件: modifying_sl_and_tp_on_open_trades..gif 60 kb Ask! 退出策略。阶梯式止损与拖曳式止损 Can anyone figure out phoenix 2006.08.30 03:01 #282 for (intcnt1=OrdersTotal()-1;cnt1>=0;cnt1--) OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)。 使其计入相同的数字 iscuba11 2006.08.30 03:01 #283 不明白。 我怎样才能纠正这个错误? 也许我确实看到了--让我把cnt1改成h,我是否正确? 戴夫 << iscuba11 2006.08.30 03:10 #284 phoenix: 你的OrderSelect()没有在运行的循环中进行计算 int start() { 如果(UseHourTrade) { int a=0; int b=0; int c=0; if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1; if(!(Hour()>=FromHourTrade2 &&Hour()<=ToHourTrade2)) b=1; if(!(Hour()>=FromHourTrade3 &&Hour()<=ToHourTrade3)) c=1; 如果(a==1 &&b==1 &&c==1) { 评论( "\n"," * SOLAR WIND EXPERT ADVISOR *" 。 "\n", "/n", "- PROGRAM IN SLEEP CYCLE - ", "\n", "NON-TRADING HOURS!<")。 /////////////////// 修改睡眠周期开始时的止损和止盈///////////////// //int h=0。 for (int h=OrdersTotal()-1;h>=0;h--) OrderSelect(h, SELECT_BY_POS, MODE_TRADES)。 如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber ||MagicNumber==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit 返回(0)。 } 如果(OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber || MagicNumber==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit 返回(0)。 } return(0); } } /////////////////////////////////////////////////////////////////////////////////////// 做了修改,但仍然得到一个不断循环的修改,而不是一次性的修改。 请再次提供建议,谢谢! 戴夫 <<< Ask! 退出策略。阶梯式止损与拖曳式止损 Can anyone figure out [删除] 2006.08.30 03:20 #285 请在[PHP][/PHP]代码内发布你的代码。阅读和调试格式化的代码 要容易得多。 solaris 2006.08.30 03:26 #286 指标输入标签 我如何以及在哪里对一个指标进行编码,使其在连接到图表时不再显示输入标签? 谢谢。 太阳系 phoenix 2006.08.30 03:31 #287 iscuba11: int start(){ 如果(使用小时贸易)。 { int a=0; int b=0; int c=0; if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1; if(!(Hour()>=FromHourTrade2 &&Hour()<=ToHourTrade2)) b=1; if(!(Hour()>=FromHourTrade3 &&Hour()<=ToHourTrade3)) c=1; 如果(a==1 &&b==1 &&c==1) { 评论( "\n"," * SOLAR WIND EXPERT ADVISOR *" 。 "\n", "/n", "- PROGRAM IN SLEEP CYCLE - ", "\n", "NON-TRADING HOURS!<")。 /////////////////// 修改睡眠周期开始时的止损和止盈 ///////////////// //int h=0。 for (int h=OrdersTotal()-1;h>=0;h--) OrderSelect(h, SELECT_BY_POS, MODE_TRADES)。 如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber ||MagicNumber==0)) {if( OrderStopLoss() > Ask + Point * 15 || OrderStopLoss() ==0 ) OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //修改止损和止盈 返回(0)。 } 如果(OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber || MagicNumber==0)) { 如果( OrderStopLoss() < Bid - Point * 15 ) OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //修改止损和止盈 返回(0)。 } return(0); } } /////////////////////////////////////////////////////////////////////////////////////// 做了修改,但仍然得到一个不断循环的修改,而不是一次性的修改。 请再次提供建议,谢谢! 戴夫 <<< 试着添加紫色的线...可能会有帮助 phoenix 2006.08.30 03:34 #288 solaris: 我如何以及在哪里给指标编码,使其在连接到图表时不再显示输入标签? 谢谢。 太阳系 为什么不把它保存为模板呢......这样,当你在新的图表中调用所有指标时,就不需要再设置任何参数 了。 iscuba11 2006.08.30 03:47 #289 我已经按照你的建议做了! (感谢您的耐心指导) for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--) OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)。 **但我仍然像以前一样在单笔交易中得到大量的循环修改! 很明显,我的逻辑中存在一个循环中的循环!戴夫 << 请看最新的回测 结果。 请原谅logo.htm--无法摆脱它。 附加的文件: backtester_results_with_modifications.gif 55 kb phoenix 2006.08.30 03:50 #290 iscuba11: 我已经按照你的建议做了! (感谢您的耐心解答)for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--) OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)。 **但我仍然像以前一样在单笔交易中得到大量的循环修改! 显然,我的逻辑中存在一个循环中的循环!戴夫 << 请看最新的回测结果。 对不起,logo.htm - 无法摆脱它。 尝试添加上面的紫色吗? theif( OrderStopLoss() > Ask + Point * 15 || OrderStopLoss() == 0 ) andif( OrderStopLoss() < Bid - Point * 15 ) 1...222324252627282930313233343536...182 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
戴夫。
试着把你的代码改成下面的片段,让我知道这是否有效果。
Yannis
int i=0。
for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)
OrderSelect(i, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() &&( OrderMagicNumber() ==MagicNumber ||MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit
返回(0)。
}
如果(OrderType()>=OP_BUY && OrderSymbol()==Symbol() &&( OrderMagicNumber() ==MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit
返回(0)。
}
return(0);
}
}我有一个问题,它总是反复修改回测器中的交易。我怎样才能让它修改一次交易。因为程序将进入睡眠状态,唯一需要修改的交易是任何仍然开放的交易。
请看所附的回测结果.Gif。我就差一点就能弄明白了--请指教!!我将这种获利 和止损的修改与睡眠模式结合起来使用。请看下面的代码
int start()
{
如果(UseHourTrade)
{
int a=0;
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 &&Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 &&Hour()<=ToHourTrade3)) c=1;
如果(a==1 &&b==1 &&c==1)
{
评论(
"\n"," * SOLAR WIND EXPERT ADVISOR *" 。
"\n",
"/n", "- PROGRAM IN SLEEP CYCLE - ",
"\n",
"NON-TRADING HOURS!<")。
/////////////////// 修改睡眠周期开始时的止损和止盈 /////////////////
int h=0。
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber ||MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit
返回(0)。
}
如果(OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit
返回(0)。
}
return(0);
}
}
请看所附缩略图!
for (intcnt1=OrdersTotal()-1;cnt1>=0;cnt1--)
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)。
使其计入相同的数字
不明白。 我怎样才能纠正这个错误? 也许我确实看到了--让我把cnt1改成h,我是否正确?
戴夫
<<
你的OrderSelect()没有在运行的循环中进行计算
int start()
{
如果(UseHourTrade)
{
int a=0;
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 &&Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 &&Hour()<=ToHourTrade3)) c=1;
如果(a==1 &&b==1 &&c==1)
{
评论(
"\n"," * SOLAR WIND EXPERT ADVISOR *" 。
"\n",
"/n", "- PROGRAM IN SLEEP CYCLE - ",
"\n",
"NON-TRADING HOURS!<")。
/////////////////// 修改睡眠周期开始时的止损和止盈/////////////////
//int h=0。
for (int h=OrdersTotal()-1;h>=0;h--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber ||MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit
返回(0)。
}
如果(OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit
返回(0)。
}
return(0);
}
}
///////////////////////////////////////////////////////////////////////////////////////
做了修改,但仍然得到一个不断循环的修改,而不是一次性的修改。
请再次提供建议,谢谢!
戴夫
<<<
请在[PHP][/PHP]代码内发布你的代码。阅读和调试格式化的代码 要容易得多。
指标输入标签
我如何以及在哪里对一个指标进行编码,使其在连接到图表时不再显示输入标签?
谢谢。
太阳系
int start()
{
如果(使用小时贸易)。
{
int a=0;
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 &&Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 &&Hour()<=ToHourTrade3)) c=1;
如果(a==1 &&b==1 &&c==1)
{
评论(
"\n"," * SOLAR WIND EXPERT ADVISOR *" 。
"\n",
"/n", "- PROGRAM IN SLEEP CYCLE - ",
"\n",
"NON-TRADING HOURS!<")。
/////////////////// 修改睡眠周期开始时的止损和止盈 /////////////////
//int h=0。
for (int h=OrdersTotal()-1;h>=0;h--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber ||MagicNumber==0))
{if( OrderStopLoss() > Ask + Point * 15 || OrderStopLoss() ==0 )
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //修改止损和止盈
返回(0)。
}
如果(OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber || MagicNumber==0))
{
如果( OrderStopLoss() < Bid - Point * 15 )
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //修改止损和止盈
返回(0)。
}
return(0);
}
}
///////////////////////////////////////////////////////////////////////////////////////
做了修改,但仍然得到一个不断循环的修改,而不是一次性的修改。
请再次提供建议,谢谢!
戴夫
<<<试着添加紫色的线...可能会有帮助
我如何以及在哪里给指标编码,使其在连接到图表时不再显示输入标签?
谢谢。
太阳系为什么不把它保存为模板呢......这样,当你在新的图表中调用所有指标时,就不需要再设置任何参数 了。
我已经按照你的建议做了! (感谢您的耐心指导)
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)。
**但我仍然像以前一样在单笔交易中得到大量的循环修改!
戴夫
<<请看最新的回测 结果。 请原谅logo.htm--无法摆脱它。
我已经按照你的建议做了! (感谢您的耐心解答)
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)。
**但我仍然像以前一样在单笔交易中得到大量的循环修改!
戴夫
<<尝试添加上面的紫色吗?
theif( OrderStopLoss() > Ask + Point * 15 || OrderStopLoss() == 0 )
andif( OrderStopLoss() < Bid - Point * 15 )