Jump to content

Megadroid Pro (links first post)


Recommended Posts

  • Replies 2.1k
  • Created
  • Last Reply

Top Posters In This Topic

Re: solution to the crashing

 

I think another possible cause of the crashing is that the DLL file was not patched properly, and part of it became corrupted.

I'm starting to think that this may actually be the real cause, because when examining the code and the DLL I can't see any other more likely cause.

 

How exactly was it patched?

 

Hyperdimension, here's my post about the dll's: http://www.indo-investasi.com/viewtopic.php?p=36260#p36260

 

If you or someone else has a completely original, unpatched, paid and working version with a valid receipt code, then s/he could use my .mq4 for testing on pairs with the same logic.

If s/he's getting the crashes, then the original .dll has the bugs "by factory". If not, then both mine AND the rapidshare one has problems after patching. (I have tried every .dll and .mx4 combinations and got crashes).

Link to comment
Share on other sites

Re: Megadroid Pro

 

Attached the fully functioning MD v1.11 both S1 and S2 works as the original.

Br.

 

Guys, please note that this is the old MegaDroid version. Some of the code can be used though to create a new DLL-free version of the Pro version, assuming that the buy and sell DLL functions are the same as in the old MegaDroid version.

Some extra work will be required to create the MQL code for IsTradeTime() if necessary.

bbrain, have you looked at what's going on in IsTradeTime()? I don't know what it's for considering that there are already checks in the MQL code for day of week and times of day.

Link to comment
Share on other sites

Re: Megadroid Pro

 

Attached the fully functioning MD v1.11 both S1 and S2 works as the original.

Br.

 

Guys, please note that this is the old MegaDroid version. Some of the code can be used though to create a new DLL-free version of the Pro version, assuming that the buy and sell DLL functions are the same as in the old MegaDroid version.

Some extra work will be required to create the MQL code for IsTradeTime() if necessary.

bbrain, have you looked at what's going on in IsTradeTime()? I don't know what it's for considering that there are already checks in the MQL code for day of week and times of day.

 

Hi,

 

The buy/sell procedures the same, but i didnt played the istradetime since it is hard to disassemble(for me).

 

 

.text:10003330

.text:10003330 public IsTradeTime

.text:10003330 IsTradeTime proc near

.text:10003330

.text:10003330 var_58 = qword ptr -58h

.text:10003330 var_50 = dword ptr -50h

.text:10003330 var_4C = dword ptr -4Ch

.text:10003330 var_48 = dword ptr -48h

.text:10003330 var_44 = dword ptr -44h

.text:10003330 var_40 = dword ptr -40h

.text:10003330 var_3C = dword ptr -3Ch

.text:10003330 var_38 = dword ptr -38h

.text:10003330 var_34 = dword ptr -34h

.text:10003330 var_30 = dword ptr -30h

.text:10003330 var_2C = byte ptr -2Ch

.text:10003330 Str2 = dword ptr -28h

.text:10003330 var_18 = dword ptr -18h

.text:10003330 var_14 = dword ptr -14h

.text:10003330 var_10 = dword ptr -10h

.text:10003330 var_C = dword ptr -0Ch

.text:10003330 var_4 = dword ptr -4

.text:10003330 arg_0 = dword ptr 4

.text:10003330 arg_4 = dword ptr 8

.text:10003330 arg_8 = dword ptr 0Ch

.text:10003330 arg_C = dword ptr 10h

.text:10003330 arg_10 = dword ptr 14h

.text:10003330

.text:10003330 push 0FFFFFFFFh

.text:10003332 push offset loc_10026AA8

.text:10003337 mov eax, large fs:0

.text:1000333D push eax

.text:1000333E sub esp, 4Ch

.text:10003341 mov eax, dword_1002E1E4

.text:10003346 xor eax, esp

.text:10003348 mov [esp+58h+var_10], eax

.text:1000334C push ebx

.text:1000334D push ebp

.text:1000334E push esi

.text:1000334F push edi

.text:10003350 mov eax, dword_1002E1E4

.text:10003355 xor eax, esp

.text:10003357 push eax

.text:10003358 lea eax, [esp+6Ch+var_C]

.text:1000335C mov large fs:0, eax

.text:10003362 mov edx, [esp+6Ch+arg_0]

.text:10003366 xor ebx, ebx

.text:10003368 mov eax, edx

.text:1000336A mov [esp+6Ch+var_14], 0Fh

.text:10003372 mov [esp+6Ch+var_18], ebx

.text:10003376 mov byte ptr [esp+6Ch+Str2], bl

.text:1000337A lea esi, [eax+1]

.text:1000337D lea ecx, [ecx+0]

.text:10003380

.text:10003380 loc_10003380: ; CODE XREF: IsTradeTime+57�j

.text:10003380 mov cl, [eax]

.text:10003382 add eax, 1

.text:10003385 cmp cl, bl

.text:10003387 jnz short loc_10003380

.text:10003389 sub eax, esi

.text:1000338B push edx

.text:1000338C lea esi, [esp+70h+var_2C]

.text:10003390 call sub_10008180

.text:10003395 mov eax, 1Fh

.text:1000339A sub eax, [esp+6Ch+arg_10]

.text:100033A1 mov [esp+6Ch+var_4], ebx

.text:100033A5 cmp [esp+6Ch+arg_C], eax

.text:100033A9 jle short loc_100033C6

.text:100033AB cmp [esp+6Ch+var_14], 10h

.text:100033B0 jb short loc_100033BF

.text:100033B2 mov ecx, [esp+6Ch+Str2]

.text:100033B6 push ecx ; Memory

.text:100033B7 call j__free

.text:100033BC add esp, 4

.text:100033BF

.text:100033BF loc_100033BF: ; CODE XREF: IsTradeTime+80�j

.text:100033BF ; IsTradeTime+1C0�j ...

.text:100033BF xor eax, eax

.text:100033C1 jmp loc_1000357A

.text:100033C6 ; ---------------------------------------------------------------------------

.text:100033C6

.text:100033C6 loc_100033C6: ; CODE XREF: IsTradeTime+79�j

.text:100033C6 mov edi, dword_10030C48

.text:100033CC cmp edi, ebx

.text:100033CE jz short loc_100033E1

.text:100033D0 lea eax, [esp+6Ch+var_2C]

.text:100033D4 call sub_1000A6D0

.text:100033D9 test al, al

.text:100033DB jnz loc_1000346C

.text:100033E1

.text:100033E1 loc_100033E1: ; CODE XREF: IsTradeTime+9E�j

.text:100033E1 mov dword_10030C48, ebx

.text:100033E7 mov dword ptr [esp+6Ch+var_58], ebx

.text:100033EB mov esi, offset dword_10030C18

.text:100033F0

.text:100033F0 loc_100033F0: ; CODE XREF: IsTradeTime+119�j

.text:100033F0 cmp [esp+6Ch+var_14], 10h

.text:100033F5 mov eax, [esp+6Ch+var_18]

.text:100033F9 mov edx, [esp+6Ch+Str2]

.text:100033FD mov ebp, eax

.text:100033FF jnb short loc_10003405

.text:10003401 lea edx, [esp+6Ch+Str2]

.text:10003405

.text:10003405 loc_10003405: ; CODE XREF: IsTradeTime+CF�j

.text:10003405 mov edi, [esi]

.text:10003407 cmp edi, eax

.text:10003409 mov ecx, edi

.text:1000340B jb short loc_1000340F

.text:1000340D mov ecx, eax

.text:1000340F

.text:1000340F loc_1000340F: ; CODE XREF: IsTradeTime+DB�j

.text:1000340F cmp dword ptr [esi+4], 10h

.text:10003413 jb short loc_1000341A

.text:10003415 mov eax, [esi-10h]

.text:10003418 jmp short loc_1000341D

.text:1000341A ; ---------------------------------------------------------------------------

.text:1000341A

.text:1000341A loc_1000341A: ; CODE XREF: IsTradeTime+E3�j

.text:1000341A lea eax, [esi-10h]

.text:1000341D

.text:1000341D loc_1000341D: ; CODE XREF: IsTradeTime+E8�j

.text:1000341D push ecx ; MaxCount

.text:1000341E push edx ; Str2

.text:1000341F push eax ; Str1

.text:10003420 call __strnicmp

.text:10003425 add esp, 0Ch

.text:10003428 cmp eax, ebx

.text:1000342A jnz short loc_1000343B

.text:1000342C cmp edi, ebp

.text:1000342E jb short loc_1000343B

.text:10003430 xor eax, eax

.text:10003432 cmp edi, ebp

.text:10003434 setnz al

.text:10003437 cmp eax, ebx

.text:10003439 jz short loc_1000344D

.text:1000343B

.text:1000343B loc_1000343B: ; CODE XREF: IsTradeTime+FA�j

.text:1000343B ; IsTradeTime+FE�j

.text:1000343B add dword ptr [esp+6Ch+var_58], 1

.text:10003440 add esi, 24h

.text:10003443 cmp esi, offset unk_10030C3C

.text:10003449 jl short loc_100033F0

.text:1000344B jmp short loc_10003460

.text:1000344D ; ---------------------------------------------------------------------------

.text:1000344D

.text:1000344D loc_1000344D: ; CODE XREF: IsTradeTime+109�j

.text:1000344D mov eax, dword ptr [esp+6Ch+var_58]

.text:10003451 lea edx, [eax+eax*8]

.text:10003454 lea eax, unk_10030C04[edx*4]

.text:1000345B mov dword_10030C48, eax

.text:10003460

.text:10003460 loc_10003460: ; CODE XREF: IsTradeTime+11B�j

.text:10003460 cmp dword_10030C48, ebx

.text:10003466 jz loc_10003561

.text:1000346C

.text:1000346C loc_1000346C: ; CODE XREF: IsTradeTime+AB�j

.text:1000346C mov edx, [esp+6Ch+arg_4]

.text:10003470 mov ecx, [esp+6Ch+arg_C]

.text:10003474 xor eax, eax

.text:10003476 mov [esp+6Ch+var_50], eax

.text:1000347A mov [esp+6Ch+var_4C], eax

.text:1000347E mov [esp+6Ch+var_48], eax

.text:10003482 mov [esp+6Ch+var_44], eax

.text:10003486 mov [esp+6Ch+var_40], eax

.text:1000348A mov [esp+6Ch+var_3C], eax

.text:1000348E add edx, 0FFFFF894h

.text:10003494 mov [esp+6Ch+var_38], eax

.text:10003498 mov [esp+6Ch+var_34], eax

.text:1000349C mov [esp+6Ch+var_30], eax

.text:100034A0 mov eax, [esp+6Ch+arg_8]

.text:100034A4 mov [esp+6Ch+var_3C], edx

.text:100034A8 lea edx, [esp+6Ch+var_50]

.text:100034AC add eax, 0FFFFFFFFh

.text:100034AF push edx

.text:100034B0 mov [esp+70h+var_40], eax

.text:100034B4 mov [esp+70h+var_44], ecx

.text:100034B8 mov [esp+70h+var_48], ebx

.text:100034BC mov [esp+70h+var_4C], ebx

.text:100034C0 mov [esp+70h+var_50], ebx

.text:100034C4 call sub_1000CD38

.text:100034C9 mov edi, eax

.text:100034CB mov eax, dword_10030C50

.text:100034D0 add esp, 4

.text:100034D3 cmp eax, edi

.text:100034D5 mov ebp, edx

.text:100034D7 mov dword ptr [esp+6Ch+var_58], edi

.text:100034DB mov dword ptr [esp+6Ch+var_58+4], ebp

.text:100034DF jnz short loc_10003507

.text:100034E1 mov ecx, dword_10030C54

.text:100034E7 cmp ecx, ebp

.text:100034E9 jnz short loc_10003507

.text:100034EB cmp [esp+6Ch+var_14], 10h

.text:100034F0 jb loc_100033BF

.text:100034F6 mov edx, [esp+6Ch+Str2]

.text:100034FA push edx ; Memory

.text:100034FB call j__free

.text:10003500 add esp, 4

.text:10003503 xor eax, eax

.text:10003505 jmp short loc_1000357A

.text:10003507 ; ---------------------------------------------------------------------------

.text:10003507

.text:10003507 loc_10003507: ; CODE XREF: IsTradeTime+1AF�j

.text:10003507 ; IsTradeTime+1B9�j

.text:10003507 mov ecx, dword_10030C48

.text:1000350D cmp [ecx+1Ch], ebx

.text:10003510 jz short loc_10003561

.text:10003512 mov eax, [ecx+20h]

.text:10003515 cmp eax, ebx

.text:10003517 jle short loc_10003561

.text:10003519 mov ecx, [ecx+1Ch]

.text:1000351C lea esi, [ecx+eax*8]

.text:1000351F lea eax, [esp+6Ch+var_58]

.text:10003523 mov edx, esi

.text:10003525 call sub_1000B1E0

.text:1000352A cmp eax, esi

.text:1000352C jz short loc_10003561

.text:1000352E cmp ebp, [eax+4]

.text:10003531 jl short loc_10003561

.text:10003533 jg short loc_10003539

.text:10003535 cmp edi, [eax]

.text:10003537 jb short loc_10003561

.text:10003539

.text:10003539 loc_10003539: ; CODE XREF: IsTradeTime+203�j

.text:10003539 cmp [esp+6Ch+var_14], 10h

.text:1000353E mov dword_10030C50, edi

.text:10003544 mov dword_10030C54, ebp

.text:1000354A jb loc_100033BF

.text:10003550 mov eax, [esp+6Ch+Str2]

.text:10003554 push eax ; Memory

.text:10003555 call j__free

.text:1000355A add esp, 4

.text:1000355D xor eax, eax

.text:1000355F jmp short loc_1000357A

.text:10003561 ; ---------------------------------------------------------------------------

.text:10003561

.text:10003561 loc_10003561: ; CODE XREF: IsTradeTime+136�j

.text:10003561 ; IsTradeTime+1E0�j ...

.text:10003561 cmp [esp+6Ch+var_14], 10h

.text:10003566 jb short loc_10003575

.text:10003568 mov ecx, [esp+6Ch+Str2]

.text:1000356C push ecx ; Memory

.text:1000356D call j__free

.text:10003572 add esp, 4

.text:10003575

.text:10003575 loc_10003575: ; CODE XREF: IsTradeTime+236�j

.text:10003575 mov eax, 1

.text:1000357A

.text:1000357A loc_1000357A: ; CODE XREF: IsTradeTime+91�j

.text:1000357A ; IsTradeTime+1D5�j ...

.text:1000357A mov ecx, [esp+6Ch+var_C]

.text:1000357E mov large fs:0, ecx

.text:10003585 pop ecx

.text:10003586 pop edi

.text:10003587 pop esi

.text:10003588 pop ebp

.text:10003589 pop ebx

.text:1000358A mov ecx, [esp+58h+var_10]

.text:1000358E xor ecx, esp

.text:10003590 call sub_1000CA76

.text:10003595 add esp, 58h

.text:10003598 retn 14h

.text:10003598 IsTradeTime endp

.text:10003598

.text:10003598 ; -----------------------------------------------

 

 

int __stdcall IsTradeTime(int a1, int a2, int a3, int a4, int a5)

{

int *v5; // esi@7

const char *v6; // edx@8

int v7; // ebp@8

size_t v8; // ecx@10

int v9; // edi@10

const char *v10; // eax@13

int v11; // ebp@22

int v12; // edi@22

int v13; // eax@26

int v14; // eax@27

__int64 v16; // qax@22

int v17; // esi@27

__int64 v18; // [sp+14h] [bp-58h]@1

unsigned int v19; // [sp+5Ch] [bp-10h]@1

signed int v20; // [sp+58h] [bp-14h]@1

size_t v21; // [sp+54h] [bp-18h]@1

void *Str2; // [sp+44h] [bp-28h]@1

int v23; // [sp+68h] [bp-4h]@1

int v24; // [sp+34h] [bp-38h]@22

int v25; // [sp+38h] [bp-34h]@22

int v26; // [sp+3Ch] [bp-30h]@22

int v27; // [sp+30h] [bp-3Ch]@22

int v28; // [sp+2Ch] [bp-40h]@22

int v29; // [sp+28h] [bp-44h]@22

int v30; // [sp+24h] [bp-48h]@22

int v31; // [sp+20h] [bp-4Ch]@22

int v32; // [sp+1Ch] [bp-50h]@22

 

v19 = (unsigned int)&v18 ^ dword_1002E1E4;

v20 = 15;

v21 = 0;

LOBYTE(Str2) = 0;

sub_10008180(a1);

v23 = 0;

if ( a4 > 31 - a5 )

{

if ( (unsigned int)v20 >= 0x10 )

j__free(Str2);

return sub_1000CA76();

}

if ( !dword_10030C48 || !(unsigned __int8)sub_1000A6D0() )

{

dword_10030C48 = 0;

*(_DWORD *)&v18 = 0;

v5 = &dword_10030C18;

while ( 1 )

{

v6 = (const char *)Str2;

v7 = v21;

if ( (unsigned int)v20 < 0x10 )

v6 = (const char *)&Str2;

v9 = *v5;

v8 = *v5;

if ( *v5 >= v21 )

v8 = v21;

if ( (unsigned int)*(v5 + 1) < 0x10 )

v10 = (const char *)(v5 - 4);

else

v10 = (const char *)*(v5 - 4);

if ( !_strnicmp(v10, v6, v8) && v9 >= (unsigned int)v7 && !(v9 != v7) )

break;

*(_DWORD *)&v18 = (_DWORD)v18 + 1;

v5 += 9;

if ( (signed int)v5 >= (signed int)&unk_10030C3C )

goto LABEL_21;

}

dword_10030C48 = (int)((char *)&unk_10030C04 + 36 * (_DWORD)v18);

LABEL_21:

if ( !dword_10030C48 )

goto LABEL_38;

}

v24 = 0;

v25 = 0;

v26 = 0;

v27 = a2 - 1900;

v28 = a3 - 1;

v29 = a4;

v30 = 0;

v31 = 0;

v32 = 0;

*(_DWORD *)&v16 = sub_1000CD38(&v32);

v12 = v16;

v11 = *((_DWORD *)&v16 + 1);

v18 = v16;

if ( *(_QWORD *)&dword_10030C50 == v16 )

{

if ( (unsigned int)v20 >= 0x10 )

j__free(Str2);

return sub_1000CA76();

}

if ( *(_DWORD *)(dword_10030C48 + 28)

&& (v13 = *(_DWORD *)(dword_10030C48 + 32), v13 > 0)

&& (v17 = *(_DWORD *)(dword_10030C48 + 28) + 8 * v13, v14 = sub_1000B1E0(), v14 != v17)

&& v11 >= *(_DWORD *)(v14 + 4)

&& (v11 > *(_DWORD *)(v14 + 4) || (unsigned int)v12 >= *(_DWORD *)v14) )

{

dword_10030C50 = v12;

dword_10030C54 = v11;

if ( (unsigned int)v20 >= 0x10 )

j__free(Str2);

}

else

{

LABEL_38:

if ( (unsigned int)v20 >= 0x10 )

j__free(Str2);

}

return sub_1000CA76();

}

Link to comment
Share on other sites

Re: Megadroid Pro

 

Hi guys, just want to share - I already avoid any losses from Megadroid on live acc at fxcm and alpari since April.... It should be 2-3 times cut losses, because I also use the robot at demo acc. Every day I wake up and checked the position at around 7-7.30 am (GM +7) when I found MD still at floating position then I change the TP at only 1 pip ;))

 

I really wonder if anyone can try to make MD automaticaly change the TP position to xxx pips if it still floating at xxx time and we can try demo/backtest this setting, maybe this setting more profitable for us and can avoid cut losses. I use the v1.1 cracked (not yet the pro version) at eur usd only... Thanks all

Link to comment
Share on other sites

Re: Megadroid Pro

 

Was backtesting eur/chf from 2001-2009 with default settings...deposit 500, risk 0.1 and the end result is 19677671129,37 @-) @-)

9999 lots @-) @-)

 

 

Hi, fabregas,

 

Could you please share the full test report? Thanks.

 

Did you use GMT offset is 1 or 2 for your testing?

Link to comment
Share on other sites

Re: Megadroid Pro

 

I got the same results from backtesting the EURCHF with Don's version..

...and all I have to say is HOLY #$%^% !!!! :-bd

 

Scary stuff people. This is a SERIOUS holy grail EA candidate. I mean to say, you could simply trade the EURCHF pair and it could turn $1000 to a million in two years.

 

Well done Don. You're a dead-set legend. ^:)^

Link to comment
Share on other sites

Re: Megadroid Pro

 

no, EURGBP isn't as good. There's a big dip somewhere around the half-way mark. Still comes out profitable in the millions however.

 

I'm currently doing 10 year backtests on the unsupported pairs in an attempt to find the best logic to use on each of them. So far, I've completed work on the USDJPY, and it appears that logic 2 is the best long term performer. I fails badly midway through the ten years, but then recovers -- similar to the EURGBP.

 

Will post more when I test the other major pairs. I find it amazing that MD pro works so well on unsupported pairs.

 

In the middle of testing the GBPUSD on logic 2 -- and that is performing miraculously. WAAAY Better results than USDJPY. (to the tune of 970 million to be exact)

 

I wonder just how good is the EURCHF logic? It seems to be a masterstroke of genius.

Link to comment
Share on other sites

Re: Megadroid Pro

 

I'm currently doing 10 year backtests on the unsupported pairs in an attempt to find the best logic to use on each of them.

 

What data are you testing over?

 

As I've already said in detail before, most free data out there (especially the data from MetaTrader History Center) is full of holes.

MegaDroid uses M1 data in its strategy logic, so it's important to have accurate M1 data that does not have so much missing data.

 

We are not trading on a 4-hour timeframe here, we are using M1, M5 and M15 which are the three smallest time frames supported by MetaTrader, so accurate high frequency data is very important to us.

 

Can anyone here share some good quality historical data?

Link to comment
Share on other sites

Re: Megadroid Pro

 

I'm running it on Alpari US data.

 

So far, two amazing results from backtesting on non-supported pairs (2000/01/01 - 2009/07/01) :-

GBPUSD - logic 2 - smooth equity curve, topping out at about 970 million from $1000

GBPCHF - logic 4 - smooth equity curve, topping out at about 400 million from $1000

Link to comment
Share on other sites

Re: Megadroid Pro

 

I'm running it on Alpari US data.

 

I used to think the data from Alpari was good, because that's what I read on other web sites. But What I read was probably referring to the data that used to be downloadable from the Alpari (UK) databank web page, which they've recently taken off. Now we can only download via the History Center, which is easier but I think the data may be of much lower quality. I've compared it with other broker's History Center data and they are almost the same - there are some multi-hour holes that they all have at the same time.

 

Also, Alpari data has a UTC offset of 1 during non-daylight savings time and 2 during daylight savings time. You need to handle this in the code if you are going to backtest over it.

 

I've spent (wasted?) many hours analysing the Alpari data. Here are the exact dates and times that Alpari's data switches UTC offset:

 

< 1999-10-28, UtcOffset = 2

>= 1999-10-28 00:00 && < 2000-03-30 23:00, UtcOffset = 1

>= 2000-03-31 00:00 && < 2000-10-24 00:00, UtcOffset = 2

>= 2000-10-24 00:00 && < 2001-03-30 23:00, UtcOffset = 1

>= 2001-03-31 00:00 && < 2001-10-22 00:00, UtcOffset = 2

>= 2001-10-22 00:00 && < 2002-03-30 23:00, UtcOffset = 1

>= 2002-03-31 00:00 && < 2002-10-28 00:00, UtcOffset = 2

>= 2002-10-28 00:00 && < 2003-03-30 23:00, UtcOffset = 1

>= 2003-03-31 00:00 && < 2003-10-27 00:00, UtcOffset = 2

>= 2003-10-27 00:00 && < 2004-03-30 23:00, UtcOffset = 1

>= 2004-03-31 00:00 && < 2004-10-28 00:00, UtcOffset = 2

>= 2004-10-28 00:00 && < 2005-03-31 00:00, UtcOffset = 1

>= 2005-03-31 01:00 && < 2005-10-26 00:00, UtcOffset = 2

>= 2005-10-26 00:00 && < 2006-03-31 02:00, UtcOffset = 1

>= 2006-03-31 03:00 && < 2006-10-24 00:00, UtcOffset = 2

>= 2006-10-24 00:00 && < 2007-03-31 02:00, UtcOffset = 1

>= 2007-03-31 03:00 && < 2007-10-22 00:00, UtcOffset = 2

>= 2007-10-22 00:00 && < 2008-03-31 01:00, UtcOffset = 1

>= 2008-03-31 02:00 && < 2008-10-27 00:00, UtcOffset = 2

>= 2008-10-27 00:00 && < 2009-03-31 01:00, UtcOffset = 1

>= 2009-03-31 02:00, UtcOffset = 2

 

After doing the in-depth analysis I've concluded that it's just easier to use data that has a constant UTC offset.

So, in short, if the trading strategy involves trading only at specific times of the day, don't use Alpari data for backtesting.

 

If you really must have it easy, FXDD data might be better quality, and is easy to import into your History Center: http://www.fxdd.com/en/mt1m-data.html

I'm not sure if the data that you download from the FXDD MetaTrader terminal is the same as the data on this web page.

The UTC offset of their data is 3.

 

Also, I think it would be a good idea to use these scripts to fill the missing holes in their data: http://articles.mql4.com/136

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...