我尝试了很多东西,但无法使用下面的代码。
我已经尝试过以下代码逻辑的变体,但失败了,不知道在哪里实现它:
echo '<a href="world.php?xx='. $_SESSION['x'] .'&yy='. $_SESSION['y'] .'">';
echo '<b>';
echo $row['usuario_atacante'];
echo '</b>';
echo '</a>';
或
if ( OrderSelect( OrdersHistoryTotal() - 1, SELECT_BY_POS, MODE_HISTORY ) )
{
if ( OrderType() == OP_BUY )
{
if ( OrderClosePrice() > OrderStopLoss() ) Print( "Hit TP" );
else Print( "Hit SL" );
}
else if ( OrderType() == OP_SELL )
{
if ( OrderClosePrice() < OrderStopLoss() ) Print( "Hit TP" );
else Print( "Hit SL" );
}
}
Orderselect...
if ( MathAbs( OrderClosePrice()
- OrderTakeProfit()
) > MathAbs( OrderClosePrice()
- OrderStopLoss()
)
) Print( "StopLoss" );
if ( MathAbs( OrderClosePrice()
- OrderTakeProfit()
) < MathAbs( OrderClosePrice()
- OrderStopLoss()
)
) Print( "TakeProfit" );
对我来说是一个问题,所以我们将非常感谢您的帮助。
以下是EA我试图添加它,但只知道如何以及放置它将有所帮助。
OrderSelect()
答案 0 :(得分:0)
OrderSelect()
对您解决“Open WHEN”难题没什么帮助。它只是在 db.POOL
记录中抓取, MetaTrader Terminal 4 localhost内部DBMS负责处理,这是处理事件的缓慢且非常非常低效的方式订单管理任务,因此尽量避免在生产级系统中进行任意扫描。在这里,您甚至不会从这些毁灭性的db.POOL
扫描中获得您的任务所需的任何基本信息,所以让我们首先关注目标。
EA 是一个缓慢的200 /快速30简单移动平均交叉的学术上微不足道的变化。
我想你想补充一点额外交易的想法,条件是基础SMA交叉发起的交易分别达到{ SL | TP }
- 终止,对吗?
对于这种情况,拥有 MetaTrader Server 4 的经纪商通常允许您发出一个所谓的待处理订单,它指示经纪人保留有关您遗嘱的记录进入市场,假设价格达到预定水平 - (猜猜看,这些是你在标题中要求的{ SL | TP }
- 并且这样的记录正在等待(有一些更可配置的选项),直到这样的价格变动是否发生,在此期间,此等头寸处于非活动状态,称为挂单 ......
条款&amp;条件,请检查您的经纪人合同和/或询问他们的客户服务代表。可能会有一些特殊限制(更好地了解先验)。
如果不重新设计提供的代码(那里有一些小错误/效率低下),代码应该放在这里:
result = OrderSend( Symbol(),
OP_SELL, // PRIMARY SELL <<<AT-MARKET>>>
Lots,
Bid,
Slippage,
0,
0,
"Sell",
MagicNumber,
0,
Red
);
if ( result > 0 )
{
TheStopLoss = 0;
TheTakeProfit = 0;
if ( TakeProfit > 0 ) TheTakeProfit = Bid - TakeProfit * MyPoint;
if ( StopLoss > 0 ) TheStopLoss = Bid + StopLoss * MyPoint;
OrderSelect( result, SELECT_BY_TICKET );
OrderModify( OrderTicket(),
OrderOpenPrice(),
NormalizeDouble( TheStopLoss, Digits ),
NormalizeDouble( TheTakeProfit, Digits ),
0,
Green
);
// ---------------------------------------------------- HERE ADD
OrderSend( Symbol(),
OP_SELLSTOP, // SELL-STOP PENDING ORDER ON SELL.TP
Lots,
NormalizeDouble( TheTakeProfit
- MarketInfo( _Symbol, MODE_SPREAD ),
Digits
),
Slippage,
0, // SL: T.B.D.
0, // TP: T.B.D.
"Sell on Sell.TP",
sTpMagicNumber, // avoid collisions with other logic
0, // never expires
Red
);
OrderSend( Symbol(),
OP_BUYSTOP, // BUY-STOP PENDING ORDER ON SELL.SL
Lots,
NormalizeDouble( TheStopLoss
- MarketInfo( _Symbol, MODE_SPREAD ),
Digits
),
Slippage,
0, // SL: T.B.D.
0, // TP: T.B.D.
"Buy on Sell.SL",
bSlMagicNumber, // avoid collisions with other logic
0, // never expires
Red
);
}
差价调整并非绝对,因为在不稳定的时期内,市场存在虚假的利差波动。再次,经纪人的条款和条件适用于此,所以要小心。