/*-----------------------------+
| |
| Shared by www.Aptrafx.com |
| |
+------------------------------*/
//+------------------------------------------------------------------+
//| Straddler Handler.mq4 |
//| Author := pip_seeker copyright 2005 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
// Code Begin
//--------------------------------------------
/*[[
Name := Straddler Handler
Author := pip_seeker copyright 2005
Notes := This does not place orders. All it does is delete the other side of the straddle when one side enters
Lots := 0
Stop Loss := 0
Take Profit := 0
Trailing Stop := 0
]]*/
Vars: OpenBuyOrders(0),OpenTrade(0),OpenSellOrders(0),cnt(0);
/***********************************************************
************************** Notes ***************************
Manually place your straddle Buylimit, Selllimit
Or BuyStop, SellStop and then place this script
on your chart for this to handle the trades from
this point. This script will close the opposing
Order when the other order is triggered.
Further, you could add a trailing stop to this
script.
This script does not place any orders you have to
enter them manually.
*///////////////////////////////////////////////////////////
If CurTime - LastTradeTime < 10 then exit;
OpenBuyOrders=0;
For cnt = 1 to TotalTrades
Begin
If OrderValue(cnt,VAL_SYMBOL)=Symbol And
OrderValue(cnt,VAL_TYPE)==OP_BUYSTOP OR
OrderValue(cnt,VAL_TYPE)==OP_BUYLIMIT Then
{
OpenBuyOrders=OpenBuyOrders+1;
};
End;
OpenSellOrders=0;
For cnt = 1 to TotalTrades
Begin
If OrderValue(cnt,VAL_SYMBOL)==Symbol And
OrderValue(cnt,VAL_TYPE)==OP_SELLSTOP OR
OrderValue(cnt,VAL_TYPE)==OP_SELLLIMIT Then
{
OpenSellOrders=OpenSellOrders+1;
};
End;
OpenTrade=0;
For cnt = 1 to TotalTrades
Begin
If OrderValue(cnt,VAL_SYMBOL)==Symbol And
OrderValue(cnt,VAL_TYPE)==OP_BUY OR
OrderValue(cnt,Val_type)==OP_SELL Then
{
OpenTrade=OpenTrade+1;
};
End;
For cnt = 1 to TotalTrades
Begin
If (OpenTrade==1 and OpenSellOrders==1) OR (OpenTrade==1 and OpenBuyOrders==1) OR
(OpenTrade==0 and OpenSellOrders==1 and OpenBuyOrders==0) OR
(OpenTrade==0 and OpenSellOrders==0 and OpenBuyOrders==1) Then
{
DeleteOrder(OrderValue(cnt,VAL_TICKET),Silver);
Exit;
};
End;
Exit;
//---------------------------------------------
// Code end
Comments