You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
if (1.4321 - 1.4361 - (20*2) <= 0), I'm sorry, but I do not understand.
OrderClosePrice() or Bid (Buy) or Ask(Sell) is the current market value.
You want to close when the current market (1.4321) is at or below (buy) the SL. That occurs when Bid-SL <= 0
When Bid-SL > 0, that is the initial condition.
SL=1.4361-(20*2) the stop loss value
OrderClosePrice() or Bid (Buy) or Ask(Sell) is the current market value.
You want to close when the current market (1.4321) is at or below (buy) the SL. That occurs when Bid-SL <= 0
When Bid-SL > 0, that is the initial condition.
Thanks for getting back. Confused in the way the expression was written. With my tunnel vision, I was concentrating on a the sell side, with an expression that had the '=' sign located on the left of the expression. I will work with this and get back. Thank you. The time and effort you share has been more than generous.
Cheers
SL=1.4361-(20*2) the stop loss value
OrderClosePrice() or Bid (Buy) or Ask(Sell) is the current market value.
You want to close when the current market (1.4321) is at or below (buy) the SL. That occurs when Bid-SL <= 0
When Bid-SL > 0, that is the initial condition.
Hi WHRoeder
Just to help keep you up to date. I edited the reply earlier.
I have also inserted the expression into the program. There are so many ways to interpret the same idea.
Thank you for pointing out the latest one. But behold, this expression did not change the out come.
It is as though, the program never looks at the condition. Maybe it does not look beyond the 'for' statement.
I am looking back again at the codeing.
Thanks for everything.
////////////////////////////////////////////////////////////////////< 1> // < Property > //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // </Property > //< >
////////////////////////////////////////////////////////////////////< 2> // < Content > //< > // //< > // < Structure 16 elements in 4 domains > //< > // < 1. Data 8 elements in 2 domains /> //< > // < 2. Code 8 elements in 2 domains /> //< > // </Structure 16 elements in 4 domains > //< > // //< > // < 1. Data 8 = 5 i 3 d - s > //< > // < 1.1. Input 7 = 4 i 3 d - s /> //< > // < 1.2. Buffer 1 = 1 i - d - s /> //< > // </1. Data 8 = 5 i 3 d - s > //< > // //< > // < 2. Code 8 / i 70 l 3 o > //< > // < 2.1. Interface 5 / - i 63 l 3 o /> //< > // < 2.2. Special 3 / - i 7 l - o /> //< > // </2. Code 8 / i 70 l 3 o > //< > // //< > // //< > // //< > // //< > // //< > // //< > // </Content > //< >
////////////////////////////////////////////////////////////////////< 3> // < 1.1. Data : Input > //< > // //< > // < 1.1. Input 7 = 4 i 3 d - s > //< > // < 1. Strategy 4 = 2 i 2 d - s /> //< > // < 2. Trading 3 = 2 i 1 d - s /> //< > // </1.1. Input 7 = 4 i 3 d - s > //< > // //< > // < 1. Strategy 4 >=========================================//< > int iBasePeriod = 20 ; //< > int iBaseBar = 1 ; //< > double dFactorTP = 2.0 ; //< > double dFactorSL = 2.0 ; //< > // </ 1. Strategy 4 >=========================================//< > // //< > // < 2. Trading 3 >==========================================//< > int iSlippage = 1 ; //< > int iMagic = 1 ; //< > double dLots = 0.1 ; //< > // </ 2. Trading 3 >==========================================//< > // //< > // //< > // //< > // </1.1. Data : Input > //< >
////////////////////////////////////////////////////////////////////< 4> // < 1.2. Data : Buffer > //< > // //< > // < 1.2. Buffer 1 = 1 i - d - s > //< > // < 1. Exception 1 = 1 i - d - s /> //< > // </1.2. Buffer 1 = 1 i - d - s > //< > // //< > // < 1. Exception 1 >========================================//< > int iTrap ; //< > // </ 1. Exception 1 >========================================//< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // </1.2. Data : Buffer > //< >
////////////////////////////////////////////////////////////////////< 5> // < 2.1. Code : Interface > //< > // //< > // < 2.1. Interface 5 / - i 63 l 3 o > //< > // < 1. iSignalOpen - i 12 l 1 o /> //< > // < 2. iSignalClose - i 12 l 1 o /> //< > // < 3. iGetTrade - i 11 l 1 o /> //< > // < 4. iTryOpen - i 14 l - o /> //< > // < 5. iTryClose - i 14 l - o /> //< > // </2.1. Interface 5 / - i 63 l 3 o > //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // </2.1. Code : Interface > //< >
////////////////////////////////////////////////////////////////////< 6> // < 2.1.1. Code : Interface : iSignalOpen > //< > // //< > int iSignalOpen () // - i 12 l 1 o //< > { //< > int iResult = EMPTY ; //< > // //< > int iIndexH = iHighest ( 0 , 0 , MODE_HIGH , iBasePeriod , //< > iBaseBar ) ; //< > int iIndexL = iLowest ( 0 , 0 , MODE_LOW , iBasePeriod , //< > iBaseBar ) ; //< > // //< > double dHigh = High [ iIndexH ] ; //< > double dLow = Low [ iIndexL ] ; //< > // //< > double dAsk = MarketInfo ( Symbol () , MODE_ASK ) ; //< > double dBid = MarketInfo ( Symbol () , MODE_BID ) ; //< > // //< > if ( dAsk > dHigh ) iResult = OP_BUY ; //< > if ( dBid < dLow ) iResult = OP_SELL ; //< > // //< > return ( iResult ) ; //< > } //< > // </2.1.1. Code : Interface : iSignalOpen > //< >
////////////////////////////////////////////////////////////////////< 7> // < 2.1.2. Code : Interface : iSignalClose > //< > // //< > int iSignalClose () // - i 12 l 1 o //< > { //< > int iResult = EMPTY ; //< > // //< > double dATR , dDelta , dLoss , dProfit ; //< > // //< > dATR = iATR ( 0 , 0 , iBasePeriod , iBaseBar ) ; //< > dDelta = OrderClosePrice () - OrderOpenPrice () ; //< > // //< > if ( OrderType () == OP_BUY ) //< > { dProfit = dDelta ; dLoss = -dDelta ; } //< > else if ( OrderType () == OP_SELL ) //< > { dProfit = -dDelta ; dLoss = dDelta ; } //< > else return ( EMPTY ) ; //< > // //< > if ( dLoss > dATR * dFactorSL ) iResult = TRUE ; //< > if ( dProfit > dATR * dFactorTP ) iResult = TRUE ; //< > // //< > return ( iResult ) ; //< > } //< > // </2.1.2. Code : Interface : iSignalClose > //< >
////////////////////////////////////////////////////////////////////< 8> // < 2.1.3. Code : Interface : iGetTrade > //< > // //< > int iGetTrade () // - i 11 l 1 o //< > { //< > int iResult = EMPTY ; //< > // //< > for ( int i = OrdersTotal () - 1 ; i >= 0 ; i -- ) //< > { //< > if ( OrderSelect ( i , SELECT_BY_POS ) == TRUE ) //< > if ( OrderMagicNumber () == iMagic ) //< > { //< > iResult = OrderTicket () ; //< > break ; //< > } // if //< > } // for //< > // //< > // //< > // //< > // //< > // //< > return ( iResult ) ; //< > } //< > // </2.1.3. Code : Interface : iGetTrade > //< >
////////////////////////////////////////////////////////////////////< 9> // < 2.1.4. Code : Interface : iTryOpen > //< > // //< > int iTryOpen () // - i 14 l - o //< > { //< > int iCommand = iSignalOpen () ; //< > if ( iCommand == EMPTY ) return ; //< > // //< > if ( iCommand == OP_BUY ) //< > { int iColor = Blue ; int iMode = MODE_ASK ; //< > string sType = "Buy" ; } //< > else { iColor = Red ; iMode = MODE_BID ; //< > sType = "Sell" ; } //< > double dPrice = MarketInfo ( Symbol () , iMode ) ; //< > // //< > OrderSend ( Symbol () , iCommand , dLots , dPrice , //< > iSlippage , 0 , 0 , "" , iMagic , 0 , iColor ) ; //< > // //< > iTrap = GetLastError () ; //< > if ( iTrap == 0 ) //< > Alert ( sType , " Was a Big Success" ) ; //< > else Alert ( sType , " open exception " , iTrap ) ; //< > } //< > // </2.1.4. Code : Interface : iTryOpen > //< >
////////////////////////////////////////////////////////////////////< 10> // < 2.1.5. Code : Interface : iTryClose > //< > // //< > int iTryClose () // - i 14 l - o //< > { //< > int iCommand = iSignalClose () ; //< > if ( iCommand == EMPTY ) return ; //< > // //< > if ( OrderType () == OP_BUY ) //< > { int iColor = Red ; //< > string sType = "Buy" ; } //< > else { iColor = Blue ; //< > sType = "Sell" ; } //< > if ( OrderProfit () > 0 ) string sV = "Take" ; else sV = "Stop" ; //< > // //< > OrderClose ( OrderTicket () , OrderLots () , OrderClosePrice () , //< > iSlippage , iColor ) ; //< > // //< > iTrap = GetLastError () ; //< > if ( iTrap == 0 ) //< > Alert ( sType , " closed with Hard " , sV ) ; //< > else Alert ( sType , " close exception " , iTrap ) ; //< > } //< > // </2.1.5. Code : Interface : iTryClose > //< >
////////////////////////////////////////////////////////////////////< 11> // < 2.2. Code : Special > //< > // //< > // < 2.2. Special 3 / - i 7 l - o > //< > // < 1. init - i 1 l - o /> //< > // < 2. deinit - i 1 l - o /> //< > // < 3. start - i 5 l - o /> //< > // </2.2. Special 3 / - i 7 l - o > //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // </2.2. Code : Special > //< >
////////////////////////////////////////////////////////////////////< 12> // < 2.2.1. Code : Special : Init > //< > // //< > int init () // - i 1 l - o //< > { //< > Alert ( "" , "Start " , UninitializeReason () ) ; //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > } //< > // </2.2.1. Code : Special : Init > //< >
////////////////////////////////////////////////////////////////////< 13> // < 2.2.2. Code : Special : Deinit > //< > // //< > int deinit () // - i 1 l - o //< > { //< > Alert ( "" , "Stop " , UninitializeReason () ) ; //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > } //< > // </2.2.2. Code : Special : Deinit > //< >
////////////////////////////////////////////////////////////////////< 14> // < 2.2.3. Code : Special : Start > //< > // //< > int start () // - i 5 l - o //< > { //< > // < 2.2.3.1. Main routine 3 >````````````````````````````````````//< > int iTicket = iGetTrade () ; //< > // //< > if ( iTicket < 0 ) iTryOpen () ; //< > else iTryClose () ; //< > // </2.2.3.1. Main routine 3 >````````````````````````````````````//< > // //< > // //< > // //< > // //< > // //< > // //< > // //< > // < 2.2.3.2. Exception handler 2 >```````````````````````````````//< > iTrap = GetLastError () ; //< > if ( iTrap > 0 ) Alert ( "Exception " , iTrap ) ; //< > // </2.2.3.2. Exception handler 2 >```````````````````````````````//< > } //< > // </2.2.3. Code : Special : Start > //< > ////////////////////////////////////////////////////////////////////< 0>
Adjust MetaEditor window to see 25 lines x 80 columns. Use <Page Up> and <Page Down> to scroll the content. State: Ready for optimization Last edit: 2010.03.15 11:48 Works fine on "EURUSD" D1 with original settings