كود PHP:
void SellOrderRisk()
{
double lotsize = MarketInfo(Symbol(),MODE_LOTSIZE) / AccountLeverage();
double pipsize = 1 * 10;
double maxlots = AccountBalance() / 100 * 0.1 / lotsize * pipsize;
if (40 == 0) Print("OrderSend() error - stoploss can not be zero");
double lots = maxlots / 40 * 10;
// calculate lot size based on current risk
double lotvalue = 0.001;
double minilot = MarketInfo(Symbol(), MODE_MINLOT);
int powerscount = 0;
while (minilot < 1)
{
minilot = minilot * MathPow(10, powerscount);
powerscount++;
}
lotvalue = NormalizeDouble(lots, powerscount - 1);
if (lotvalue < MarketInfo(Symbol(), MODE_MINLOT)) // make sure lot is not smaller than allowed value
{
lotvalue = MarketInfo(Symbol(), MODE_MINLOT);
}
if (lotvalue > MarketInfo(Symbol(), MODE_MAXLOT)) // make sure lot is not greater than allowed value
{
lotvalue = MarketInfo(Symbol(), MODE_MAXLOT);
}
double SL = Bid + 40*PipValue*Point;
if (40 == 0) SL = 0;
double TP = Bid - 10*PipValue*Point;
if (10 == 0) TP = 0;
int ticket = -1;
if (false)
ticket = OrderSend(Symbol(), OP_SELL, lotvalue, Bid, 2, 0, 0, "DZ_Pro (SELL)", 11, 0, Red);
else
ticket = OrderSend(Symbol(), OP_SELL, lotvalue, Bid, 2, SL, TP, "DZ_Pro (SELL)", 11, 0, Red);
if (ticket > -1)
{
if (false)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Red);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
اين الخطأ في الدالة لاني اريد دخول مخاطرة 0,1% من الحساب
سؤال اخر ما علاقة الرافعة بحجم الحساب؟
اذا كان حسابي 100 دولار والرافعة 1/500 وانا اردت المخاطرة 0,1 بالمائة فقط
ما هي المعادلة لمعرفة قيمة النقطة واللوت