问吧! - 页 30

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)。

如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber ||MagicNumber==0))

{

如果(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 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); /修改止损和止盈

返回(0)。

}

return(0);

}

}

越来越近了,但还没有完全达到!这真的是在考验我的耐心!

戴夫

<<<

附加的文件:

然后加上这个也许更好

iscuba11:
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>

=OP_SELL &&OrderSymbol()=Symbol() &&(OrderMagicNumber() ==MagicNumber()

=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumber || MagicNumber==0))

{

if( OrderOpenPrice() - Ask >= TrailingStop * Point)

{

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))

{

如果( Bid - OrderOpenPrice() >= TrailingStop * Point)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit

}

返回(0)。

}

return(0);

}

}

越来越近了,但还没有完全达到! 这真的是在考验我的耐心!

戴夫

<<<
Maji:
请在[PHP][/PHP]代码内发布你的代码。阅读和调试格式化的代码要容易得多。

我正在把这个方案的内容整理出来。 我就快完成了。 不幸的是,没有关于这种语言的学校,而且文件也有很多不足之处。 既然如此,我不知道你在说什么。 无意冒犯!

Dave <<<

然后加上这个也许更好[/QUOTE

这是最新的回溯测试 运行。 如此接近却又如此遥远。 让我想起了我在越南的日子。 请看所附的结果的.gif。 我欠你的,因为你有一颗善良的心,帮助我度过这个磨难的时刻! 似乎仍然有一个循环,没有像卖出交易中显示的那样退出。

戴夫<<
附加的文件:
iscuba11:
我欠你的,因为你有一颗善良的心,帮助我度过这个磨难的时刻!
戴夫 <<

不客气

我仍然有一个循环 - 该死的。我要崩溃了。明天又是新的一天。这种低级别的语言是很难学的。

戴夫 <<<

/////////////////// 修改睡眠周期开始时的止损和止盈/////////////////

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)。

如果(OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() ==MagicNumber ||MagicNumber==0))

{

如果(OrderOpenPrice()-Ask>=TrailingStop*Point)

{

如果(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))

{

如果(Bid-OrderOpenPrice()>=TrailingStop*Point)

{

如果(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //修改止损和止盈。

}

返回(0)。

}

return(0);

}

}

//////////////////////////////////////////////////////////////////////////////////////

我的编码就像上面那样。其中有一个bug,导致修改循环。许多bug或添加物使它达到这个阶段。请大家帮助找到这个循环bug!

附加的文件:

或可能是我对你的目的理解有误

你希望OrderModify()函数 做什么?

是做追踪止损还是其他什么?

请再次明确说明

最初的设计是在程序即将进入睡眠模式时,收紧任何未平仓买入或卖出订单的止损和获利。

我希望每笔未平仓的交易能减少到15个点的止损,100个点的获利减少到25个点的 获利,而不是40-50个点的大止损和100个点的大获利。

然后,程序将休眠(停止),未平仓的交易将在没有任何进一步程序干预的情况下运行(休眠模式)--然后每个未平仓的交易将获得25点的利润或15点的损失并自行平仓。

我希望这有助于澄清止损和获利修改的目的。我很抱歉造成了误解。如果你愿意的话,请帮助完成这些修改!非 常感谢你到现在为止的帮助!

孩子,昨晚我确实需要睡一觉!

戴夫

<<<
[删除]
iscuba11:
我正在把这个程序拼接起来。我已经接近完成了。不幸的是,没有关于这种语言的学校,而且文档也有很多需要改进的地方。在这一点上,我不知道你在说什么。无意冒犯!
Dave <<<

当你要复制和粘贴一个代码片段时,选择编辑屏幕上方的那个小 "php "按钮。或者,你也可以先输入"[ PHP ]"

然后在代码末尾输入"[ /PHP ]",不加引号,并去掉 方括号中的空格。看看你能得到什么

Maji:
当你要复制和粘贴一个代码片段时,请选择编辑屏幕上方的那个小 "php "按钮。或者,你可以先输入"[ PHP ]",然后通过输入"[ /PHP ]"来结束你的代码,不加引号,并删除方括号内的空格。看看你得到什么

PHP按钮? 这个按钮是在论坛上还是在我复制代码的MetaEditor上? 我在MetaEditor上找不到一个PHP按钮。

Dave <<<