我如何设置小于5点的TP? - 页 3

 
我对卖出或买入订单 进行了修正,我只交易金牛座,所以符号方面没有问题。我不使用EA,所以所有的订单都是手动下的。问题是如何区分关闭我用于剥头皮的订单和长期订单。
 
extern double CloseforBuy=1.4;
extern double CloseforSell=1.3;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()


{
if(OrderType()==OP_BUY)
{
if(Bid>CloseforBuy)
{
for(int a=OrdersTotal()-1;a>=0;a--)
if(OrderSelect(a,SELECT_BY_POS, MODE_TRADES) )
//if(OrderSymbol()==Symbol())
OrderClose(OrderTicket(),OrderLots( ),OrderClosePrice(),1000,White);
//----

}}
if(OrderType()==OP_SELL)
{
if(Ask<CloseforSell)
{
for(int b=OrdersTotal()-1;b>=0;b--)
if(OrderSelect(b,SELECT_BY_POS, MODE_TRADES) )
//if(OrderSymbol()==Symbol())
OrderClose(OrderTicket(),OrderLots( ),OrderClosePrice(),1000,White);
//----
}}

return(0);
}
 

你不能这样做 . . .

if(OrderType()==OP_BUY)

. . . . 直到你的OrderSelect()之后 . . . . 阅读OrderType() 的文档,它说"注意:订单必须由 OrderSelect() 函数选择 "

试着 . . .

if(Bid>CloseforBuy)
   {
   for(int a=OrdersTotal()-1;a>=0;a--)
      if( OrderSelect(a,SELECT_BY_POS, MODE_TRADES) && 
      OrderType()==OP_BUY &&
      OrderSymbol()==Symbol() )
         if( !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 1000, White) )
            Print("OrderClose failed, error: ", GetLastError());

   }
 
deVries:

你可以设置25个点,然后以5个点的价格平仓。

是的,但如果价格 突然变化 超过5点,你将无法及时平仓。这也是风险的一部分。

致以最美好的祝愿,祝您交易愉快!!!。

 
RaptorUK:

你不能这样做 . . .

. . . . 直到你的OrderSelect()之后 . . . . 阅读OrderType() 的文档 ,它说"注意:订单必须由 OrderSelect() 函数选择 "

试着 . . .

非常感谢您的帮助,我做了更正!很好!!

你是否有任何建议来过滤和关闭其中一个买入/卖出,而不是所有的订单。这样就可以剥头皮并保留长期订单了。

谢谢你的帮助!!!。

 
ats:

非常感谢您的帮助,我已经做了修正!很好!!!。

你是否有任何建议来过滤和关闭其中一个买入/卖出而不是所有的订单。 这样就可以剥掉头皮,保留长期订单了

可能是这样,但这是由你的策略决定的。......你想关闭哪些订单,你想让哪些订单继续运行,当你确定了这一点后,就可以简单地编码了。
 

要确定你要关闭哪个订单是很容易的。这就是剥头皮的订单!就说最后一个订单吧!

 

其基本思想是1.你有未结的长期头寸,你想剥头皮

2.你设置一个挂单

3.您打开EA的开关

4.EA只关闭这个订单

5.您关闭EA

 
ats:

要确定你要关闭哪个订单是很容易的。这就是剥头皮的订单!就说最后一个订单吧!

最后下的订单应该有最大的订单位置号 . . . 你可以通过OrderOpenTime()仔细检查
 
RaptorUK:
最后下的订单应该有最大的订单位置号 . . . 你可以通过OrderOpenTime()仔细检查。

好主意!我没有想过这个问题