|
|||||||
| Register in Forex TSD! | |
|
Trading Systems Leaders in this forum (automated trading systems) are winning more than 3000 pips in a month (30000$ investing one lot every time). Click here to register and get more information |
|
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|||
|
Quote:
I think you are very mis-informed about this! MT4 backtesting can be very reliable, but it depends on the quality of the history data that you have and your modelling quality %. You will not be able to add "comments" or assign "MagicNumbers" to sent orders in MQL2 the way it can be done in MT4 programming. MT4 programming is more advanced than MQL2 programming, why move backwards? |
|
|||
|
You might want to read about MT4 backtesting here: http://www.strategybuilderfx.com/for...09&page=1&pp=8
(if you can not access the page you will need to sign up as a member - it is free) |
|
|||
|
From what I've gathered here and there, people that are a bit serious about backtesting use softwares such as WealthLab, Amibroker or MetaStocks, NOT mt3 or mt4.
Maybe, mt4 backtesting can be about ok IF you don't use any intrabar data. For example, if you work with daily bars, you should use only Open and Close values of daily bars (and not even High and Low if you set StopLosses or Take Profits). Nothing else. The reason is, despite what their "modelling quality" might say, the only mt4 backtesting method that uses REAL data is "Open prices only". "Every tick" and "Control Points" methods are nice fairy tales. Personnally, I won't trade money based on fairy tale data backtesting. I'm still learning mt4, but in my experience, I wouldn't use mt4 backtesting in any other way. I'm not even 100% sure the way I suggested is 100% reliable. If I want to do good backtesting, I will get a backtesting software. About mt4 vs mt3 for trading live: from what I've gathered here and there ;-) mt4 can't be trusted. Sometimes, orders that mt4 says were not executed, are in fact executed!! This was reported by brokers. If this is true, then brokers offering mt4 live trading aren't serious. Or, they made sure mt4 bugs didn't happen on their platform, it's possible too. On the other hand, "I ve gathered here and there" lol that trading live with mt3 is possible. Last edited by pipeline : 04-17-2006 at 12:22 AM. |
|
|||
|
Convert this MT3 into MT4 for me - very easy
Hi guys, I would appreciate if somebody could convert this into MT4 language for me - our broker just upgraded to MT4.
Here is the code: Code:
/*[[
Name := TTM Stoch
Author := Scott Black
Link := http://www.tradethemajors.com
Separate Window := yes
First Color := Cyan
First Draw Type := Line
Use Second Data := yes
second Color := Magenta
second Draw Type := Line
Minimum Chart Limits := 0.000000
Maximum Chart Limits := 100.000000
]]*/
Inputs : Slw(8),Pds(13),Slwsignal(9);
Variables : AA(0),bb(0),aa1(0),cnt1(0);
Variables : shift(0), cnt(0), loopbegin(0),loopbegin2(0),loopbegin3(0), first(True), prevbars(0);
Variables : sum(0), smconst(0),smconst1(0), prev(0),prev1(0),prev2(0),prev3(0), weight(0), linear(0);
Variables : MAValue(0),MAValue2(0),mavalue3(0), MAstring("");
Variables : MyHigh(0),MyLow(0),counter(0),Price(0),Price1(0);
SetLoopCount(0);
smconst = 2 / (1+SLW);
smconst1 = 2 / (1+slwsignal);
loopbegin = loopbegin+1;
For shift = 2000 Downto 0 Begin
prev = GetIndexValue2(shift+1);
AA =100* ((Close[shift] - Low[Lowest(MODE_LOW,shift+pds,Pds)]) / (High[Highest(MODE_HIGH,shift+pds,Pds)] - low[Lowest(MODE_LOW,shift+pds,Pds)]));
MAValue2 = smconst * (aa-prev) + prev;
SetIndexValue2(shift,MAValue2);
loopbegin = loopbegin-1;
End;
loopbegin2 = loopbegin2+1;
For shift = 2000-pds downto 0 Begin
MyHigh = -999999;
MyLow = 99999999;
For counter = shift to pds + shift Begin
PRICE= GetIndexValue2(counter);
If Price > MyHigh Then
MyHigh = Price;
If pds <= 0 Then
MyHigh = Price;
If Price < MyLow Then
MyLow = Price;
If pds <= 0 Then
MyLow = Price;
end;
prev1 = GetIndexValue(shift+1);
aa1=GetIndexValue2(shift);
bb=100*(aa1-mylow)/(myhigh-mylow);
MAValue = smconst * (bb-prev1) + prev1;
SetIndexValue(shift,mavalue);
loopbegin2 = loopbegin2-1;
End;
loopbegin3 = loopbegin3+1;
For shift = 2000 downto 0 Begin
prev2=GetIndexValue2(shift+1);
prev3=GetIndexValue(shift);
MAValue3= smconst1 * (prev3-prev2) +Prev2;
SetIndexValue2(shift,mavalue3);
loopbegin3 = loopbegin3-1;
end;
/*[[
|
|
|||
|
Quote:
Try this.... |
|
|||
|
Hellkas,
i'm afraid that didn't quite work out. Go to www.compoundfx.com/mt3stoch.jpg to see how it should look on the MT3 chart - i tried to upload this but it didn't work. thanks for your efforts, perhaps this will help? When i plot it in MT4, i only see a magenta line and not a cyan - although i do see the input is there. scott |
|
|||
|
Hi,
First hellkas I will appreceate you keep my file header after converting the mql indicator with my tool Mql2Mq4 !!!Then it's normal that the converted one does not work properly, if you look in Metatrade 4 in the Expert message log TabSheet (Panel) you will see "Zero Devide exception" like on this picture. In the Indicator script you use divide operator, with some times NULL :-( that's whyt this error, and I repeat, in Metatrade 3, there were no exceptions generated for that, nevertheless in Metatrade 4. I put the converted one working like on MT 3, and you can see what type of change i've made. Bye bye |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Convert this into MT3 for me PLEASE | scott TTM | Indicators - Metatrader 4 | 6 | 08-10-2006 08:02 PM |
| How hard to convert to Easy Language (Tradestation) | srbtop | General Discussion | 1 | 01-17-2006 02:53 PM |