如何编码? - 页 175

 

你的系统听起来有点疯狂......

extern double Lots=0.1;

extern int TP=50;

extern int SL=50;

extern int timeframe=1;

extern bool close=false;

extern int Slippage=2;

extern int Magic=46151;

int init()

{

return(0);

}

int deinit()

{

return(0);

}

datetime LastTradeTime = 0;

int start()

{

int time=60*timeframe;

if(LocalTime()-LastTradeTime > time) {

if(close==true) {

if(OrdersTotal()!=0) {

for(int i = 0;i < OrdersTotal();i++){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_SELL && OrderMagicNumber()==Magic) { OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Green ); }

if(OrderType()==OP_BUY && OrderMagicNumber()==Magic) { OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage, Red ); }

} } }

OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Ask - SL * Point, Ask + TP * Point, NULL, Magic, 0, Green);

OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, Bid + SL * Point, Bid - TP * Point, NULL, Magic, 0, Red);

LastTradeTime = LocalTime(); }

return(0);

}

如果 "close "为真,它将在时间框架结束时(在这种情况下为1分钟)关闭未结订单。SL/TP=100意味着在一个5位数的经纪商那里是10个点。

顺便说一下,我不确定它是否会立即打开两个订单。

是否可以同时关闭和打开(或打开两个头寸)?

当然,这在回测中运行良好,但我不知道它在模拟/真实账户 中是否有效。

 

我从来没有在任何经纪商那里得到过这样的效果......。

我已经添加了延迟和确认代码,以检查 订单是否被关闭和打开,如果没有再试。

即使这样,仍然无法正常工作。

 

这似乎是许多战略的一个问题。有没有人找到解决这个问题的办法?

 

追踪止损问题

我有一些日元对,当我试图使用我的追踪止损时,我的价格在获利后移动到了 "零"。谁能告诉我为什么会出现这种情况以及如何解决? 追踪订单在5位数 货币上工作正常。

空白 TrailOrder(int type)

{

如果(TrailingStop>0)

{

如果(OrderMagicNumber() == MagicNumber)

{

如果(type==OP_BUY)

{

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

{

如果(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*TrailingStop), OrderTakeProfit(),0,Green)。

}

}

}

如果(type==OP_SELL)

{

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

{

如果((OrderStopLoss()>(Ask+Point*TrailingStop))|| (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(Point*TrailingStop), OrderTakeProfit(),0,Red)。

}

}

}

}

}

}

 
ajk:
我有一些日元对,当我试图使用我的追踪止损时,我的价格在获利后移动到了 "零"。谁能告诉我为什么会出现这种情况以及如何解决? 跟踪订单在5位数的货币上运行良好。

我认为(这只是我的看法)这是因为你有一个函数,而这个函数对OrderOpenPrice(), OrderStopLoss()等不了解。你最好把这段代码放在循环内。

 
ajk:
我有一些日元对,当我试图使用我的追踪止损时,我的价格在获利后移动到了 "零"。谁能告诉我为什么会出现这种情况以及如何解决? 跟踪订单在5位数的货币上运行良好。

勤奋地使用NormalizeDouble(...)可能会有所作为?

 

如何用不同的尺度对两个指标进行编码交叉?

如何用不同的尺度来编码两个指标的交叉?

我希望得到帮助

 

我将给任何东西一个机会。这很奇怪,因为coder guru编码了EA,而我进行了修改。我翻阅了大量的EA,但没有找到任何东西。

 

有什么建议吗?"后的代码怎么写?

空白 TrailOrder(int type)

调用函数 后,有什么建议吗?

也许完全去掉函数,使用外部的e尾随ea...argh>!

 
ajk:
有什么建议吗?

空白 TrailOrder(int type)

调用函数?

也许完全去掉函数,使用外部e尾随EA...argh>!

如果你想,我可以修复你的EA。请在PM上发给我。