aiman
Active Member

- Messages
- 1,889
- Joined
- Apr 19, 2006
- Messages
- 1,889
- Reaction score
- 1,356
- Points
- 101
Sila betulkan, sekiranya pemahaman saya silap.
Saya akan update indi sekiranya cara pengiraan confirmed.
Setiap pair mempunyai nilai pips yang berbeza
Contohnya
1.00 lot GBPUSD = $1.00 per pip
1.00 lot EURGBP = $1.61 per pip
1.00 lot GBPNZD = $0.83 per pip
Sekiranya pair di atas di buka 1 lot setiap satu. Free margin yang ada hanya tinggal $100.00 dan step out level $30.00 (30% from free margin?)
Secara kasar, pips sebelum MC untuk ke tiga2 pair adalah
GU = 70 pips
EG = 43 pips
GN = 84 pips
Script untuk check nilai pips di bawah, kalau boleh attach script ke dalam chart yang ada active post dan double check pengiraan secara manual. Terima kasih
Saya akan update indi sekiranya cara pengiraan confirmed.
Setiap pair mempunyai nilai pips yang berbeza
Contohnya
1.00 lot GBPUSD = $1.00 per pip
1.00 lot EURGBP = $1.61 per pip
1.00 lot GBPNZD = $0.83 per pip
Sekiranya pair di atas di buka 1 lot setiap satu. Free margin yang ada hanya tinggal $100.00 dan step out level $30.00 (30% from free margin?)
Secara kasar, pips sebelum MC untuk ke tiga2 pair adalah
GU = 70 pips
EG = 43 pips
GN = 84 pips
Script untuk check nilai pips di bawah, kalau boleh attach script ke dalam chart yang ada active post dan double check pengiraan secara manual. Terima kasih
Code:
//+------------------------------------------------------------------+
//| Value per pips.mq4 |
//| Copyright © 2011, Aiman |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Aiman"
#property link "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
double totalLots=0;
double pipsValue=0;
double remPips=0;
for (int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()==OP_BUY) totalLots+=OrderLots();
if (OrderType()==OP_SELL) totalLots-=OrderLots();
}
if (totalLots!=0)
{
pipsValue = MathAbs(totalLots)/MarketInfo(Symbol(),MODE_TICKVALUE);
remPips = [COLOR="Red"](AccountFreeMargin()/pipsValue)*AccountStopoutLevel()/100;[/COLOR]
}
MessageBox("Value per 1 lots: $" + DoubleToStr(MarketInfo(Symbol(),MODE_TICKVALUE),2) +
"\n\nAbsolute Active Lots: " + DoubleToStr(MathAbs(totalLots),2) +
"\nValue per pips: $" + DoubleToStr(pipsValue,2) +
"\n\nFree Margin: $:" + DoubleToStr(AccountFreeMargin(),2) +
"\nPips to Margin Call: " + DoubleToStr(remPips,0)
, Symbol());
//----
return(0);
}
//+------------------------------------------------------------------+
Last edited: