• Welcome back! Thank you for being a part of this Traders Community. Let's discuss and share :)
    Selamat datang kembali! Trimakasih telah menjadi bagian dari Komunitas Trader ini. Mari berdiskusi dan berbagi :)

Risk Management

dod gaming

New Member
Credits
0
Gan mau tanya nih
saya punya risk management yang mau saya terapkan di EA saya

seperti ini kira2:

jika balance - equity = equity*10% margin (order yang loss ditutup)
dan jika kurang dari 10% equity maka tetap lanjut

bagaimana ya master codingnya?
 
Code:
void OnTick(){
double marjin = AccountMargin();
double ekuity = AccountEquity();
double saldo = AccountBalance();
 
if(saldo-ekuity>=ekuity*(marjin*0.1)){closeloss();}
}

int closeloss(){
  int TotalClose=0;
  int Slippage=3;
  if(Digits==3 || Digits==5){
  Slippage=Slippage*10;
  }
  for( int i=OrdersTotal()-1;i>=0;i-- ) {
  if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES )){
  double ClosePrice;
  RefreshRates();
  if(OrderType()==OP_BUY) ClosePrice=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),Digits);
  if(OrderType()==OP_SELL) ClosePrice=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),Digits);
if(AccountProfit()<0){
  if(OrderClose(OrderTicket(),OrderLots(),ClosePrice,Slippage,CLR_NONE)){
  TotalClose++;
  }
  else{
  Print("Order failed to close with error - ",GetLastError());
  }
  }
  else{
  Print("Failed to select the order - ",GetLastError());
  }  
  }
  }
  return(TotalClose);
}
 
Code:
void OnTick(){
double marjin = AccountMargin();
double ekuity = AccountEquity();
double saldo = AccountBalance();

if(saldo-ekuity>=ekuity*(marjin*0.1)){closeloss();}
}

int closeloss(){
  int TotalClose=0;
  int Slippage=3;
  if(Digits==3 || Digits==5){
  Slippage=Slippage*10;
  }
  for( int i=OrdersTotal()-1;i>=0;i-- ) {
  if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES )){
  double ClosePrice;
  RefreshRates();
  if(OrderType()==OP_BUY) ClosePrice=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),Digits);
  if(OrderType()==OP_SELL) ClosePrice=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),Digits);
if(AccountProfit()<0){
  if(OrderClose(OrderTicket(),OrderLots(),ClosePrice,Slippage,CLR_NONE)){
  TotalClose++;
  }
  else{
  Print("Order failed to close with error - ",GetLastError());
  }
  }
  else{
  Print("Failed to select the order - ",GetLastError());
  } 
  }
  }
  return(TotalClose);
}
makasih master bantuannya saya sangat terbantu sekali untuk penulisan risk manajemen ini
 
Back
Top