Price Data Components
Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
Profitability Reports
AUD/USD
Oct 2024 - Jan 2025
63.00 %
Total Trades
174
Won Trades
0
Lost trades
0
Win Rate
0.00 %
Expected payoff
-19.25
Gross Profit
5680.00
Gross Loss
-9030.00
Total Net Profit
-3350.00
-100%
-50%
0%
50%
100%
GBP/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
207
Won Trades
0
Lost trades
207
Win Rate
0.00 %
Expected payoff
-37.13
Gross Profit
0.00
Gross Loss
-7686.00
Total Net Profit
-7686.00
-100%
-50%
0%
50%
100%
NZD/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
206
Won Trades
0
Lost trades
206
Win Rate
0.00 %
Expected payoff
-37.24
Gross Profit
0.00
Gross Loss
-7672.00
Total Net Profit
-7672.00
-100%
-50%
0%
50%
100%
Franks 4hour limit orders
/*-----------------------------+
| |
| Shared by www.Aptrafx.com |
| |
+------------------------------*/
/*[[
Name := TDSGlobal-4hr
Author := Copyright © 2005 Bob O'Brien / Barcode, Modified by Frank Chamanara for a 4hr. chart
Link :=
Notes := Based on Alexander Elder's Triple Screen system, Weekly System.
]]*/
//+------------------------------------------------------------------+
//| External Variables |
//+------------------------------------------------------------------+
extern int Lots = 1;
extern int TakeProfit = 150;
extern int Stoploss = 35;
extern int TrailingStop = 30;
extern int Slippage=5; // Slippage
//+------------------------------------------------------------------+
//| Internal Variables |
//+------------------------------------------------------------------+
int BuyEntryOrderTicket=0,SellEntryOrderTicket=0,cnt=0,total=0,h,m,risk=20,mm=1;
double MacdCurrent=0, MacdPrevious=0, MacdPrevious2=0, Direction=0, OsMAPrevious=0, OsMAPrevious2=0, OsMADirection=0;
double O1,H1,L1,H2,L2,newbar=0;
double PriceOpen=0,lotMM;
double ForcePos=0, ForceNeg=0, Force=0,NewPrice=0;
bool First=True;
bool hasatrade=false;
datetime prevtime=0;
int start()
{
h = TimeHour(CurTime());
m = TimeMinute(CurTime());
H1=iHigh(NULL,1440,1);
L1=iLow(NULL,1440,1);
H2=iHigh(NULL,1440,2);
L2=iLow(NULL,1440,2);
MacdPrevious = iMACD(NULL,240,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
MacdPrevious2 = iMACD(NULL,240,12,26,9,PRICE_CLOSE,MODE_MAIN,2);
OsMAPrevious = iOsMA(NULL,240,12,26,9,PRICE_CLOSE,1);
OsMAPrevious2 = iOsMA(NULL,240,12,26,9,PRICE_CLOSE,2);
Force = iForce(NULL,240,24,MODE_EMA,PRICE_CLOSE,1);
ForcePos = iForce(NULL,240,24,MODE_EMA,PRICE_CLOSE,1) > 0;
ForceNeg = iForce(NULL,240,24,MODE_EMA,PRICE_CLOSE,1) < 0;
/* Comment("TSD_1hr for MT4 ver beta 0.2 - DO NOT USE WITH REAL MONEY YET",
"\n",
"MT4 time (hr:mm): ",h,":",m,
"\n",
"\n","MacdPrevious = ",MacdPrevious," OsMAPrevious = ",OsMAPrevious,
"\n","MacdPrevious2 = ",MacdPrevious2," OsMAPrevious2 = ",OsMAPrevious2,
"\n",
"\n","Direction = ",Direction," OsMADirection = ",OsMADirection,
"\n",
"\n","Daily Force = ",Force,
"\n","Is Daily Force Bullish = ",ForcePos,
"\n","Is Daily Force Bearish = ",ForceNeg,
"\n",
"\n","Total Orders = ",total,
"\n",
"\n","Daily High[1] = ",H1,
"\n","Daily High[2] = ",H2,
"\n","Daily Low[1] = ",L1,
"\n","Daily Low[2] = ",L2,
"\n",
"\n","Current Ask Price + 16 pips = ",Ask+(16*Point),
"\n","Current Bid Price - 16 pips = ",Bid-(16*Point));
*/
// initial data checks
if(Bars<50)
{
Print("bars less than 50");
return(0);
}
if(prevtime == Time[0]) return(0); // Always start at the new bar
prevtime = Time[0];
// =================================================================================
// PYRAMIDING - LINEAR
// Money Management risk exposure compounding
// =================================================================================
if (mm != 0)
{
lotMM = (MathCeil(AccountBalance() * risk / 12000) / 10);
if (lotMM < 0.1) lotMM = Lots;
if (lotMM > 1.0) lotMM = MathCeil(lotMM);
}
else lotMM=Lots;
/////////////////////////////////////////////////
// Pending Order Management
/////////////////////////////////////////////////
//
total=OrdersTotal();
hasatrade = false;
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol() == Symbol()) // we have open orders
hasatrade = true;
if(OrderSymbol()==Symbol() && OrderType()==OP_BUYLIMIT)
{
if(OsMADirection == -1)
{
OrderDelete(OrderTicket());
return(0);
} // close for if(Direction == -1)
} // close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP)
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLLIMIT)
{
if(OsMADirection == 1)
{
OrderDelete(OrderTicket());
return(0);
} //close for if(Direction == 1)
} //close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP)
if(OrderSymbol()==Symbol() && OrderType()==OP_BUYLIMIT)
{
if(Low[1] > Low[2])
{
if(Low[1] < (Bid - 16 * Point))
{
OrderModify(OrderTicket(),Low[1] - 1 * Point,High[1] + 1 * Point,OrderTakeProfit(),0,Cyan);
return(0);
} // close for if(Low[1] < (Bid - 16 * Point))
else
{
OrderModify(OrderTicket(),Bid - 16 * Point,High[1] + 1 * Point,OrderTakeProfit(),0,Cyan);
return(0);
} //close for else statement
} //close for if(Low[1] > Low[2])
} //close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLLIMIT)
{
if(High[1] < High[2])
{
if(High[1] > (Ask + 16 * Point))
{
OrderModify(OrderTicket(),High[1] + 1 * Point,Low[1] - 1 * Point,OrderTakeProfit(),0,Cyan);
return(0);
} //close for if(High[1] > (Ask + 16 * Point))
else
{
OrderModify(OrderTicket(),Ask + 16 * Point,Low[1] - 1 * Point,OrderTakeProfit(),0,Cyan);
return(0);
} //close for else statement
} //close for if(High[1] < High[2])
} //close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP)
} // close for for(cnt=0;cnt<total;cnt++)
if(AccountFreeMargin()<(1000*lotMM))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (MacdPrevious > MacdPrevious2) Direction = 1;
if (MacdPrevious < MacdPrevious2) Direction = -1;
if (MacdPrevious == MacdPrevious2) Direction = 0;
if (OsMAPrevious > OsMAPrevious2) OsMADirection = 1;
if (OsMAPrevious < OsMAPrevious2) OsMADirection = -1;
if (OsMAPrevious == OsMAPrevious2) OsMADirection = 0;
/////////////////////////////////////////////////////////////////
// Process the next bar details for any possible buy/sell order
/////////////////////////////////////////////////////////////////
if (!hasatrade) // no open orders
{
if(OsMADirection == 1 && ForceNeg)
{
PriceOpen = High[1] + 1 * Point; // Buy 1 point above high of previous candle
if(PriceOpen > (Bid - 16 * Point)) // Check if buy price is a least 16 points > Ask
{
BuyEntryOrderTicket=OrderSend(Symbol(),OP_SELLLIMIT,lotMM,PriceOpen,Slippage,PriceOpen + Stoploss * Point,PriceOpen - TakeProfit * Point,"Sell Entry Order placed at "+CurTime(),0,0,Green);
} // close for if(PriceOpen > (Ask + 16 * Point))
else
{
NewPrice = Bid + 16 * Point;
BuyEntryOrderTicket=OrderSend(Symbol(),OP_SELLLIMIT,lotMM,NewPrice,Slippage,PriceOpen + Stoploss * Point,NewPrice - TakeProfit * Point,"Sell Entry Order placed at "+CurTime(),0,0,Green);
return(0);
} // close for else statement
} // close for if(Direction == 1 && ForceNeg)
if(OsMADirection == -1 && ForcePos)
{
PriceOpen = Low[1] - 1 * Point;
if(PriceOpen < (Ask + 16 * Point)) // Check if buy price is a least 16 points < Bid
{
SellEntryOrderTicket=OrderSend(Symbol(),OP_BUYLIMIT,lotMM,PriceOpen,Slippage,PriceOpen - Stoploss * Point,PriceOpen + TakeProfit * Point,"Buy Entry Order placed at "+CurTime(),0,0,Green);
return(0);
return(0);
} // close for if(PriceOpen < (Bid - 16 * Point))
else
{
NewPrice = Ask + 16 * Point;
SellEntryOrderTicket=OrderSend(Symbol(),OP_BUYLIMIT,lotMM,NewPrice,Slippage,PriceOpen - Stoploss * Point,NewPrice + TakeProfit * Point,"Buy Entry Order placed at "+CurTime(),0,0,Green);
return(0);
} // close for else statement
} // close for if(Direction == -1 && ForcePos)
} // end of hasatrade
/////////////////////////////////////////////////
// Stop Loss Management
/////////////////////////////////////////////////
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
{
if(Ask-OrderOpenPrice() > (TrailingStop * Point))
{
if(OrderStopLoss() < (Ask - TrailingStop * Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask - TrailingStop * Point,Ask + TakeProfit * Point,0,Cyan);
return(0);
} // close for if(OrderStopLoss() < (Ask - TrailingStop * Point))
} // close for if(Ask-OrderOpenPrice() > (TrailingStop * Point))
} // close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
{
if(OrderOpenPrice() - Bid > (TrailingStop * Point))
{
if(OrderStopLoss() > (Bid + TrailingStop * Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid + TrailingStop * Point,Bid - TakeProfit * Point,0,Cyan);
return(0);
} // close for if(OrderStopLoss() > (Bid + TrailingStop * Point))
} // close for if(OrderOpenPrice() - Bid > (TrailingStop * Point))
} // close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
} // close for for(cnt=0;cnt<total;cnt++)
//return(0);
} // close for int 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
---