MQL4 - automated forex trading   /  

Forum

Should there be 4 digits or 5 digits after decimal point of price of EURUSD?

Back to topics list To post a new topic, please log in or register

avatar
163
valleyfir 2008.09.25 16:19 
I use Contest Account the price is something like 1.4540. But I applied for a demo account the price is like 1.45408.
I ask this question because when I use Stop Loss,  there will be different result.
Say stop loss is 20, then 1.4540's stop loss is 1.4520 when open a buy.
1.45408's stop loss is 1.45388. They are different.
article

Secrets of MetaTrader 4 Client Terminal: File Library in MetaEditor

When creating custom programs, code editor is of great importance. The more functions are available in the editor, the faster and more convenient is creation of the program. Many programs are created on basis of an already existing code. Do you use an indicator or a script that does not fully suit your purposes? Download the code of this program from our website and customize it for yourselves.


avatar
2462
phy 2008.09.26 07:45 
You are seeing sub-pip pricing. It is valid.

avatar
1686
bstone 2008.09.26 10:00 
What value do you get in the built-in variable Point? 0.0001 or 0.00001?

avatar
163
valleyfir 2008.09.26 11:23 
bstone wrote >>
What value do you get in the built-in variable Point? 0.0001 or 0.00001?

How to know built-in varaiable Point? It seems it is 0.00001, because when I use stop loss,  it only change SL*0.00001. How can I change back to only 4 digits after decimal point?


avatar
1686
bstone 2008.09.26 11:29 
valleyfir wrote >>

How to know built-in varaiable Point? It seems it is 0.00001, because when I use stop loss, it only change SL*0.00001. How can I change back to only 4 digits after decimal point?

Add this statement to your init() to see the actual value:


Print( "Point = " + Point );


If it says 0.00001 then you have two options to fix it:


1) change all references to Point with your variable/function that will hold the correct value.

2) multiply your SL/TP levels by 10


avatar
5
fcxr784957001 2009.08.10 04:17 
bstone wrote >>

Add this statement to your init() to see the actual value:


Print( "Point = " + Point );


If it says 0.00001 then you have two options to fix it:


1) change all references to Point with your variable/function that will hold the correct value.

2) multiply your SL/TP levels by 10

*change all references to Point with your variable/function that will hold the correct value.*


Where is this folder would this be located?


avatar
156
Archael 2009.08.10 09:18 

In your init() function:

.

//This will multiply by 10 any settings you want if it's a tenth-of-a-pip broker. You can use them normally as PIPs in any calculation further down in the EA.

if(Point == 0.001 || Point == 0.00001){

StopLoss *= 10;

TakeProfit *= 10;

}

.

Hope this helps,

Jon


avatar
1193
cloudbreaker 2009.08.10 12:15 
Archael wrote >>

In your init() function:

.

//This will multiply by 10 any settings you want if it's a tenth-of-a-pip broker. You can use them normally as PIPs in any calculation further down in the EA.

if(Point == 0.001 || Point == 0.00001){

StopLoss *= 10;

TakeProfit *= 10;

}

.

Hope this helps,

Jon

Don't forget to alter your slippage value in the same way!


CB


avatar
747
fbj 2009.08.10 15:59 
bstone wrote >>

Add this statement to your init() to see the actual value:


Print( "Point = " + Point );


If it says 0.00001 then you have two options to fix it:

1) change all references to Point with your variable/function that will hold the correct value.

2) multiply your SL/TP levels by 10

fwiw - Print() defaults to 4digit resolution.

Must employ DoubleToStr(Point,Digits) of better still, to see max resolution use DoubleToStr(Point,8)

Back to topics list  

To add comments, please log in or register