OrderSend variables

 
Hi. I am trying to understand the ordersend function. According to the MQL4 reference documentation, it takes volume as a double e.g. 

OrderSend(Symbol(),OP_BUY,1.5,price,3,stoploss,takeprofit,"My order",16384,0,clrGreen);

where 1.5 is the volume to buy.

Some brokers use 1000,10000,100000 size lots. Now if the above is executed, how will it know the size of the lot the broker uses? 

Does OrderSend always automatically use the value set in MODE_LOTSIZE?

So when the above example code is executed, the actual order that the broker receives is for a volume of MODE_LOTSIZE multiplied by 1.5? 

 
megatr0n:
Hi. I am trying to understand the ordersend function. According to the MQL4 reference documentation, it takes volume as a double e.g. 

OrderSend(Symbol(),OP_BUY,1.5,price,3,stoploss,takeprofit,"My order",16384,0,clrGreen);

where 1.5 is the volume to buy.

Some brokers use 1000,10000,100000 size lots. Now if the above is executed, how will it know the size of the lot the broker uses? 

Does OrderSend always automatically use the value set in MODE_LOTSIZE?

So when the above example code is executed, the actual order that the broker receives is for a volume of MODE_LOTSIZE multiplied by 1.5? 

It is pertinent to the account type.If you have a micro account (too bad those will stop existing soon) and you open 1 Lot it will open a 10000 units trade.

 
megatr0n: Some brokers use 1000,10000,100000 size lots. Now if the above is executed, how will it know the size of the lot the broker uses?
Compute your risk properly and you won't care. For MT4:
  1. In code: Risk depends on your initial stop loss, lot size, and the value of the pair.
    1. You place the stop where it needs to be - where the reason for the trade is no longer valid. E.g. trading a support bounce the stop goes below the support.
    2. Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually around $10/pip but it takes account of the exchange rates of the pair vs. your account currency.)
    3. Do NOT use TickValue by itself - DeltaPerLot and verify that MODE_TICKVALUE is returning a value in your deposit currency, as promised by the documentation, or whether it is returning a value in the instrument's base currency.
                MODE_TICKVALUE is not reliable on non-fx instruments with many brokers.
    4. You must normalize lots properly and check against min and max.
    5. You must also check FreeMargin to avoid stop out
    Most pairs are worth about $10 per PIP. A $5 risk with a (very small) 5 PIP SL is $5/$10/5=0.1 Lots maximum.
  2. Use a GUI EA like mine (for MT4): Indicators: 'Money Manager Graphic Tool' indicator by 'takycard' Forum - Page 6
 
whroeder1:
Compute your risk properly and you won't care. For MT4:
  1. In code: Risk depends on your initial stop loss, lot size, and the value of the pair.
    1. You place the stop where it needs to be - where the reason for the trade is no longer valid. E.g. trading a support bounce the stop goes below the support.
    2. Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually around $10/pip but it takes account of the exchange rates of the pair vs. your account currency.)
    3. Do NOT use TickValue by itself - DeltaPerLot and verify that MODE_TICKVALUE is returning a value in your deposit currency, as promised by the documentation, or whether it is returning a value in the instrument's base currency.
                MODE_TICKVALUE is not reliable on non-fx instruments with many brokers.
    4. You must normalize lots properly and check against min and max.
    5. You must also check FreeMargin to avoid stop out
    Most pairs are worth about $10 per PIP. A $5 risk with a (very small) 5 PIP SL is $5/$10/5=0.1 Lots maximum.
  2. Use a GUI EA like mine (for MT4): Indicators: 'Money Manager Graphic Tool' indicator by 'takycard' Forum - Page 6

Nice code. I am trying it out...