BTC USD 85,894.5 Gold USD 4,314.23
Time now: Jun 1, 12:00 AM

Kalkulator & Indicator MT4 - Kira Baki Pips Sblm MC!!

Adakah tool ni berguna atau tidak?


  • Total voters
    0
  • Poll closed .
salam masta.... lama sy cari masta... hehehe:D:D

indi tu ada yg perlu dibetulkan sbb PIPS TO MC tu ada x betul ckit...


JUMLAH(A) / BEZA(B) = (C)
HASIL(C) x 30% = jawapan betul

sbb skrg ni utk PIPS TO MC tu cuma smpi pd kiraan (C) yg tidak dimultiplykan kpd 30% tu... dh test byk kali dlm mt4..

Sy ucap terima kasih tidak terhingga kpd masta atas bantuan nie...:)cgrock:)cgrock

try script bawah ni
Code:
//+------------------------------------------------------------------+
//|                                               Value per pips.mq4 |
//|                                          Copyright © 2011, Aiman |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Aiman"
#property link      "http://www.metaquotes.net"

[COLOR="Red"]int stop_out = 0;[/COLOR] //-- biarkan 0 untuk auto detect

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   double totalLots=0;
   double pipsValue=0;
   double remPips=0;
   
   if (stop_out == 0) stop_out = AccountStopoutLevel();
   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 = (AccountFreeMargin()/MathAbs(totalLots))*stop_out/100;
   }
      
   MessageBox("Value per lot: $" + 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) +
              
              "\nStop Out Level: $"+DoubleToStr(AccountBalance() * stop_out/100,2) +
               " (" + DoubleToStr(stop_out,0)+"%)" +
              
              "\n\nPips to Margin Call: " + DoubleToStr(remPips,0)
              
              
              , Symbol());

//----
   return(0);
  }
//+------------------------------------------------------------------+

kalau nak fix stop out 30 % ubah yang warna merah dalam code tu

int stop_out = 0;
tukar
int stop_out = 30;
 
try script bawah ni
Code:
//+------------------------------------------------------------------+
//|                                               Value per pips.mq4 |
//|                                          Copyright © 2011, Aiman |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Aiman"
#property link      "http://www.metaquotes.net"

[COLOR="Red"]int stop_out = 0;[/COLOR] //-- biarkan 0 untuk auto detect

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   double totalLots=0;
   double pipsValue=0;
   double remPips=0;
   
   if (stop_out == 0) stop_out = AccountStopoutLevel();
   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 = (AccountFreeMargin()/MathAbs(totalLots))*stop_out/100;
   }
      
   MessageBox("Value per lot: $" + 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) +
              
              "\nStop Out Level: $"+DoubleToStr(AccountBalance() * stop_out/100,2) +
               " (" + DoubleToStr(stop_out,0)+"%)" +
              
              "\n\nPips to Margin Call: " + DoubleToStr(remPips,0)
              
              
              , Symbol());

//----
   return(0);
  }
//+------------------------------------------------------------------+

kalau nak fix stop out 30 % ubah yang warna merah dalam code tu

int stop_out = 0;
tukar
int stop_out = 30;


ok masta.. nanti sy update script nie & update kt 1st page... tq masta...:)cgrock:)cgrock
 
bro, sy xde software utk save script ni.. camno ek? ada software ker utk compile script bro nie? mana nk dpt yer??#:-S

loh...software ape lak nie?:-?:-?

bkankah dah ade di mq4 kat mt4 tu...buat baru tekan ajer bahagian script...pastu paste yg nie..setel masalah
 
bro, sy xde software utk save script ni.. camno ek? ada software ker utk compile script bro nie? mana nk dpt yer??#:-S

Copy n paste dalam notepad.
Save as tuttut.mq4 (all file)

Done.
 
Bro aiman boleh tolong letak sekali leverage kat script dan indi tu tak?
Rasanya ia boleh juga membantu trader.

.
 
Bro aiman boleh tolong letak sekali leverage kat script dan indi tu tak?
Rasanya ia boleh juga membantu trader.

.

dah ok ke tak script tu? saya rasa macam tak ok

Ni saya kasi indi bonus untuk leverage, dah lama indi ni dalam simpanan.
Code:
//+------------------------------------------------------------------+
//|                                           Aiman-Account_Info.mq4 |
//|                                          Copyright © 2010, Aiman |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Aiman"
#property link      "Aiman"

#property indicator_chart_window

#define id "Aiman-Account_Info_"

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init() 
{
   deinit(); 
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
   int index = 100;
   bool round = true;
   
   while (round)
   {
      if (ObjectFind(id+DoubleToStr(index,0)) != -1)
      {
         ObjectDelete(id+DoubleToStr(index,0));
         index++;
      }
      else round = false;
   }
   return(0);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
   int x1,x2,y,index=101;
   
   if (ObjectFind(id+"100") != -1)
   {
      x1 = ObjectGet(id+"100",OBJPROP_XDISTANCE)+5;
      x2 = x1+85;
      y  = ObjectGet(id+"100",OBJPROP_YDISTANCE);     
   }
   else 
   {
     x1 =15; x2 =100; y  =10; 
     drawLabel (id+"100","l",8,"Wingdings", Red, 0,x1-5,y);
   }
   
   color clrTitle = White;
   color clrInfo = Yellow;
   string fontStyle = "Arial";
   int fontHeight = 8;
   
   drawLabel (id+DoubleToStr(index,0), "Account Info", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   y += (fontHeight*1.5);
   drawLabel (id+DoubleToStr(index,0), "==========", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   y += (fontHeight*1.5);
   
   drawLabel (id+DoubleToStr(index,0), "Account #", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountNumber(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);

   drawLabel (id+DoubleToStr(index,0), "Account Name", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountName(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);
   
   drawLabel (id+DoubleToStr(index,0), "Server", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountServer(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);
   
   drawLabel (id+DoubleToStr(index,0), "Broker", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountCompany(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);
      
   drawLabel (id+DoubleToStr(index,0), "Leverage", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountLeverage()+":1", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);   

   drawLabel (id+DoubleToStr(index,0), "Currency", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountCurrency(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5); 
   
   drawLabel (id+DoubleToStr(index,0), "Balance", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": $ "+DoubleToStr(AccountBalance(),2), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);  
   
   drawLabel (id+DoubleToStr(index,0), "Free Margin", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": $ "+DoubleToStr(AccountFreeMargin(),2), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);       
  
   y += (fontHeight*1.5); 
      
//+------------------------------------------------------------------+
      
   drawLabel (id+DoubleToStr(index,0), "Chart Info", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   y += (fontHeight*1.5);
   drawLabel (id+DoubleToStr(index,0), "========", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   y += (fontHeight*1.5);      

   drawLabel (id+DoubleToStr(index,0), "Symbol", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+Symbol(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);  
    
   drawLabel (id+DoubleToStr(index,0), "Spread", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+DoubleToStr(MarketInfo(Symbol(),MODE_SPREAD),0)+" pips", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);  

   drawLabel (id+DoubleToStr(index,0), "Minimum Lot", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+DoubleToStr(MarketInfo(Symbol(),MODE_MINLOT),2)+" ($ "+
   DoubleToStr(MarketInfo(Symbol(),MODE_MINLOT)*MarketInfo(Symbol(),MODE_TICKVALUE),2)
   +"/pip)", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);  
   
   drawLabel (id+DoubleToStr(index,0), "Maximum Lot", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+DoubleToStr(MarketInfo(Symbol(),MODE_MAXLOT),2)+" ($ "+
   DoubleToStr(MarketInfo(Symbol(),MODE_MAXLOT)*MarketInfo(Symbol(),MODE_TICKVALUE),2)
   +"/pip)", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5); 
   
   drawLabel (id+DoubleToStr(index,0), "Tick Value", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": $ "+DoubleToStr(MarketInfo(Symbol(),MODE_TICKVALUE),4)+" per 1 lot", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);     
   
   drawLabel (id+DoubleToStr(index,0), "Margin for 1 lot", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": $ "+DoubleToStr(MarketInfo(Symbol(),MODE_MARGINREQUIRED),2), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);    
         
//+------------------------------------------------------------------+
   WindowRedraw();

   return(0);
}
//+------------------------------------------------------------------+
void drawLabel (string name, string text, int height, string style, color clr, int cr, int xp, int yp)
{
   ObjectCreate(name, OBJ_LABEL, 0, 0, 0);
   ObjectSetText(name, text, height, style, clr);
   ObjectSet(name, OBJPROP_CORNER, cr);
   ObjectSet(name, OBJPROP_XDISTANCE, xp);
   ObjectSet(name, OBJPROP_YDISTANCE, yp);  
}

Ada dot merah sebelah account info, boleh drag dot tu ke mana2 dalam chart, semua info akan ikut sekali
 
dah ok ke tak script tu? saya rasa macam tak ok

Ni saya kasi indi bonus untuk leverage, dah lama indi ni dalam simpanan.
Code:
//+------------------------------------------------------------------+
//|                                           Aiman-Account_Info.mq4 |
//|                                          Copyright © 2010, Aiman |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Aiman"
#property link      "Aiman"

#property indicator_chart_window

#define id "Aiman-Account_Info_"

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init() 
{
   deinit(); 
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
   int index = 100;
   bool round = true;
   
   while (round)
   {
      if (ObjectFind(id+DoubleToStr(index,0)) != -1)
      {
         ObjectDelete(id+DoubleToStr(index,0));
         index++;
      }
      else round = false;
   }
   return(0);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
   int x1,x2,y,index=101;
   
   if (ObjectFind(id+"100") != -1)
   {
      x1 = ObjectGet(id+"100",OBJPROP_XDISTANCE)+5;
      x2 = x1+85;
      y  = ObjectGet(id+"100",OBJPROP_YDISTANCE);     
   }
   else 
   {
     x1 =15; x2 =100; y  =10; 
     drawLabel (id+"100","l",8,"Wingdings", Red, 0,x1-5,y);
   }
   
   color clrTitle = White;
   color clrInfo = Yellow;
   string fontStyle = "Arial";
   int fontHeight = 8;
   
   drawLabel (id+DoubleToStr(index,0), "Account Info", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   y += (fontHeight*1.5);
   drawLabel (id+DoubleToStr(index,0), "==========", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   y += (fontHeight*1.5);
   
   drawLabel (id+DoubleToStr(index,0), "Account #", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountNumber(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);

   drawLabel (id+DoubleToStr(index,0), "Account Name", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountName(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);
   
   drawLabel (id+DoubleToStr(index,0), "Server", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountServer(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);
   
   drawLabel (id+DoubleToStr(index,0), "Broker", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountCompany(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);
      
   drawLabel (id+DoubleToStr(index,0), "Leverage", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountLeverage()+":1", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);   

   drawLabel (id+DoubleToStr(index,0), "Currency", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+AccountCurrency(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5); 
   
   drawLabel (id+DoubleToStr(index,0), "Balance", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": $ "+DoubleToStr(AccountBalance(),2), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);  
   
   drawLabel (id+DoubleToStr(index,0), "Free Margin", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": $ "+DoubleToStr(AccountFreeMargin(),2), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);       
  
   y += (fontHeight*1.5); 
      
//+------------------------------------------------------------------+
      
   drawLabel (id+DoubleToStr(index,0), "Chart Info", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   y += (fontHeight*1.5);
   drawLabel (id+DoubleToStr(index,0), "========", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   y += (fontHeight*1.5);      

   drawLabel (id+DoubleToStr(index,0), "Symbol", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+Symbol(), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);  
    
   drawLabel (id+DoubleToStr(index,0), "Spread", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+DoubleToStr(MarketInfo(Symbol(),MODE_SPREAD),0)+" pips", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);  

   drawLabel (id+DoubleToStr(index,0), "Minimum Lot", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+DoubleToStr(MarketInfo(Symbol(),MODE_MINLOT),2)+" ($ "+
   DoubleToStr(MarketInfo(Symbol(),MODE_MINLOT)*MarketInfo(Symbol(),MODE_TICKVALUE),2)
   +"/pip)", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);  
   
   drawLabel (id+DoubleToStr(index,0), "Maximum Lot", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": "+DoubleToStr(MarketInfo(Symbol(),MODE_MAXLOT),2)+" ($ "+
   DoubleToStr(MarketInfo(Symbol(),MODE_MAXLOT)*MarketInfo(Symbol(),MODE_TICKVALUE),2)
   +"/pip)", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5); 
   
   drawLabel (id+DoubleToStr(index,0), "Tick Value", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": $ "+DoubleToStr(MarketInfo(Symbol(),MODE_TICKVALUE),4)+" per 1 lot", fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);     
   
   drawLabel (id+DoubleToStr(index,0), "Margin for 1 lot", fontHeight, fontStyle, clrTitle, 0, x1, y); index++;
   drawLabel (id+DoubleToStr(index,0), ": $ "+DoubleToStr(MarketInfo(Symbol(),MODE_MARGINREQUIRED),2), fontHeight, fontStyle, clrInfo, 0, x2, y); index++;
   y += (fontHeight*1.5);    
         
//+------------------------------------------------------------------+
   WindowRedraw();

   return(0);
}
//+------------------------------------------------------------------+
void drawLabel (string name, string text, int height, string style, color clr, int cr, int xp, int yp)
{
   ObjectCreate(name, OBJ_LABEL, 0, 0, 0);
   ObjectSetText(name, text, height, style, clr);
   ObjectSet(name, OBJPROP_CORNER, cr);
   ObjectSet(name, OBJPROP_XDISTANCE, xp);
   ObjectSet(name, OBJPROP_YDISTANCE, yp);  
}

Ada dot merah sebelah account info, boleh drag dot tu ke mana2 dalam chart, semua info akan ikut sekali

Salam masta,

Indi Mc Calculator tu masih x ok lagi laa...:((:((

Buleh tlg?:">:">
 
Last edited:

Latest Posts

Live Forex Chart

Currency
Rates
EUR / USD
1.14081
USD / JPY
157.874
GBP / USD
1.32801
USD / CHF
0.82234
USD / CAD
1.40815
EUR / JPY
180.070
AUD / USD
0.70801
Back
Top
Log in Register