Orders Execution
0
Views
0
Downloads
0
Favorites
[ea]TwoPerBar_Ron_MT4_vTEST01
/*-----------------------------+
| |
| Shared by www.Aptrafx.com |
| |
+------------------------------*/
//+----------+
//|TwoPerBar |
//+----------+
#property copyright "Ron Thompson"
#property link "http://www.lightpatch.com/forex"
// user input
extern double Lots=0.1; // how many lots to trade at a time
int Slippage=5; // how many pips of slippage can you tolorate
extern double ProfitMade=19; // how much money do you expect to make
extern double LotLimit=12.8;
// naming and numbering
int MagicNumber = 200605242205; // allows multiple experts to trade on same account
string TradeComment = "TPB_00_"; // comment so multiple EAs can be seen in Account History
// Bar handling
datetime bartime=0; // used to determine when a bar has moved
int bartick=0; // number of times bars have moved
// Trade control
bool TradeAllowed=true; // used to manage trades
double mylotsi; // used to manage lots
int sotn; //sell order ticket number
int botn; //buy order ticket number
int init()
{
mylotsi=Lots;
}
//+-----------+
//| Main |
//+-----------+
// Called EACH TICK and each Bar[]
int start()
{
int cnt=0;
bool ort;
// bar counting
if(bartime!=Time[0])
{
bartime=Time[0];
bartick++;
if(OrdersTotal()>0){ort=true;}else{ort=false;}
// close everything
while(OrdersTotal()>0)
{
if(OrderSelect(botn, SELECT_BY_TICKET)) OrderClose(botn,mylotsi,Bid,Slippage,White);
if(OrderSelect(sotn, SELECT_BY_TICKET)) OrderClose(sotn,mylotsi,Ask,Slippage,Red);
} //while
// adjust lot size based on loss, with hard upper limit
if(ort) {mylotsi=mylotsi*2.0;} else {mylotsi=Lots;}
if(mylotsi>LotLimit) mylotsi=LotLimit;
// place orders
botn=OrderSend(Symbol(),OP_BUY, mylotsi,Ask,Slippage,0,0,TradeComment,MagicNumber,White);
sotn=OrderSend(Symbol(),OP_SELL,mylotsi,Bid,Slippage,0,0,TradeComment,MagicNumber,Red);
}
OrderSelect(botn, SELECT_BY_TICKET);
if( Bid-OrderOpenPrice()>=(ProfitMade*Point) ) OrderClose(OrderTicket(),mylotsi,Bid,Slippage,White);
OrderSelect(sotn, SELECT_BY_TICKET);
if( OrderOpenPrice()-Ask>=(ProfitMade*Point) ) OrderClose(OrderTicket(),mylotsi,Ask,Slippage,Red);
} // start()
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---