Metatrader software- / hardware requirements

 

Hi,

can anybody tell me the software- hardware requirements?

I haven't found them at metaquotes...

 

Taken from the FXDD website

Minimum System Requirements

  • Windows 2000 / XP / Vista
  • 2.0 GHz or faster CPU
  • 512 MB RAM (1GB recommended)
  • Screen resolution 1024x768 or higher
  • Modem/connection speed 36.6 Kbps or faster
  • Internet Explorer version 7.0 / Mozilla FireFox 2.0 or later
 
sunshineh:

Hi,

can anybody tell me the software- hardware requirements?

I haven't found them at metaquotes...

Do you ever plan to make a contribution to this Forum ?
 
RaptorUK:
Do you ever plan to make a contribution to this Forum ?


RaptorUK - I can't believe you want to talk to someone that unimaginative! Nearly every place you download MetaTrader has the system requirments!
 
Ickyrus:

RaptorUK - I can't believe you want to talk to someone that unimaginative! Nearly every place you download MetaTrader has the system requirments!
Perhaps not . . but being a member of a Forum is not just about take, take, take . . . it's also about giving occasionally. Even Tonny did a tiny little bit of that . . .
 

Hi RaptorUK,

perhaps you could tell me a little bit kinder...

But you are right, you have helped me a lot in the past!

I was in this forum, when I need help and I got a lot of help.

Now I also can help other people, because I learned a lot.

Thank you!

 
sunshineh:

Hi RaptorUK,

perhaps you could tell me a little bit kinder...

But you are right, you have helped me a lot in the past!

I was in this forum, when I need help and I got a lot of help.

Now I also can help other people, because I learned a lot.

Thank you!

I wasn't telling you anything . . it was just a simple question.
 

Hi 

 

I  watch specific unwanted behaviour MT4 with my simple EA. It is open about 15 windows with manifold symbols. Former was quantity of opened symbols a little less (10-12). Application quick close fresh opened deals -- but only with on some symbols , no on all symbols. I  think in this time I dont change EA code, oldest version of EA have the same problems. I change magic on "bad" symbol but no improvement.

Now I  look for root of problems (bad instalation of MT4, my bad code, HW limitation)

My question is : can you see HW limitation on attached printscreen

 

Part of code for close

 for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);  
if (OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol() // check for symbol
&& OrderMagicNumber()== Mag) // check magic number

// close LONG
if(OrderType()==OP_BUY) // long position is opened 
....
...
..

 if(OrderType()==OP_SELL) // long position is opened   

 
buchtik: I  watch specific unwanted behaviour ...
  1. Don't paste code
    Play video
    Please edit your post.
    For large amounts of code, attach it.

  2. Don't hijack other peoples' unrelated threads, open your own.
  3. Don't resurrect two year old threads unless you have a very good reason.
  4. Post ALL your code, what you posted shows all lines except for the first line after the if(BUY) is always executed.
  5. "specific unwanted behaviour" is meaningless - just like saying the car doesn't work. Doesn't start, won't go in gear, no electrical, missing the key, flat tires - meaningless. There are no mind readers here.
  6. "attached printscreen" nothing attached.  Just add the image
 
//+------------------------------------------------------------------+
//| SLP_deltaLim .mq4 |
//+------------------------------------------------------------------+
#property copyright "© 2014 - JB" 
#property link "http://www.buchtik.eu/"
#property version "6.010"
#property description "předchozí verze - only"
#property description " only trend, nastavitelný anti flutter "for" "
#property description " slow trend limit"
#property description " quick trend delta "
#property icon "//favicon.ico"
//
//
// change and description LOG
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Používá indikátor SlopeJB-i.ex4 
// ()odvozenina Slope Direction Line_TF.mq4 ... slope-direction-line.mq4
// použito iCustom indikátoru TreSLP
// auto-magic, auto-comment, control stoplevel, 
//
// 23.07.14 - podmínka vstupu vč. retval ==0 ... není otevřen obchod v symbolu
// chyba - nezavírá obchody podmínkou EA, leda SL nebo TP - práce na opravě - doplněna řádka 210 podle JB-MACD - opraveno
// 14.08.14 - doplněny hodnoty sklonu posledních dvou svíček ... A a B - doplněné Comment o jejich zobrazení
// 17.08.14 - změna vstupních podmínek z (A-B) na plný výpočet, aby proběhl vždy znova po čekacím cyklu 
//          - čekací podmínka ANTI otevření 3x, ZAVŘENÍ PONECHÁNO
// 17.08.14 - v03 pokus o odstranění upozornění kompilátoru, u dvou poležek se povedlo, ale narušilo to práci AOS
// 24.05.14 - doplněn Comment o hodnoty rozdíly high-low, open-close, Comment při kontrole odsunut pod ???
// 25.08.14 - odzkoušen rozsáhlý Comment a Comment a Comment čekám na vstup a opakovná kontrola vstupu
// 25.08.14 - zjednodušení kódu záměnou indikátor Slope za TreSLP
// 26.08.14 - doplnění podmínek "jen do trendu" - ONLY
// 28.08.14 - podmínka quick roste a slow roste se v testu+ neprosadila
// 29.08.14 - změna podmínky quick vstupu z quick roste na quick zlom + splněné slow limit
// 15.09.14 - testem ověřeno, že quick roste je trochu lepší - dočasně s přepínačem
// 15.09.14 - slow limit změně z int na double
// 22.09.14 - doladění Comment
// 27.09.14 - po zavření obchodu čeká jednu svíčku
// 27.09.14 - kroky pro omezení stráty rychlým obratem trendu - reverse
//             opraveno Comment a poznámka obchodu
// 27.09.14 - zpracovat Sleep pro Tester
// 28.09.14 - změna reverseLim z Int na bool 
// 28.09.14 - doplněno delta_SLP pro quick Slope, mělo by omezovat flutter
// 28.09.14 - otočena (opravena podmínka) reverseLim
// 29.09.14 - vyhozeno reverse
// 15.10.14 - doplněno Refresh  - velké zpomalení Testeru !!  (cca 3x)
// 25.10.14 - Refresh jen mimo tester (když neoptimalizuji a netestuji)
// 31.10.14 - v6.005 - REM pro zpomalovací smyčku (možný problém u pomalých tick)
// 31.10.14 - v6.006 - opravena zpomalovací Sleep na počátku sekce Start
// 31.10.14 - v6.007 - doplněn Comment
// 04.11.14 - zrušena FP first point, měněn Comment
// 04.11.14 - formální úprava - odsazení odstavců
// 07.11.14 - for -  pro opakování vstupní podmínky funkcí for
// 07.11.14 - změna funkcí SLP a slow SLP z int na double !!!!!!!
// 09.11.14 - pauzička pár vteřin po zavření
// 18.11.14 - oprava chyb struktury
// 18.11.14 - signalizace zavření obchodu
// 11.12.14 - v6.010 - úprava kodu v sekci close ... zejména náhrada If Sell příkazem Else
//  11.12.14 -  oprava v části open short, odebrání nadbytečné vstupní podmínky za sekcí for  line 338
//
//
//
//
//
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*
MODE_SMA 0 Simple moving average, 
MODE_EMA 1 Exponential moving average, 
MODE_SMMA 2 Smoothed moving average, 
MODE_LWMA 3 Linear weighted moving average
*********
PRICE_CLOSE 0 Close price. 
PRICE_OPEN 1 Open price. 
PRICE_HIGH 2 High price. 
PRICE_LOW 3 Low price. 
PRICE_MEDIAN 4 Median price, (high+low)/2. 
PRICE_TYPICAL 5 Typical price, (high+low+close)/3. 
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4. 
*/
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// ------------------------------------------------------------------
// extern variables

extern double Lots          = 0.01;

extern int period_SLP       = 50;    // parametry pro Quick Slope 
extern int method_SLP       = 2;
extern int price_SLP        = 0;
extern double delta_SLP     = 0;

extern int period_slow      = 150;   // parametry pro Slow Slope 
extern int method_slow      = 2; 
extern int price_slow       = 0;
extern double slow_limit    = 0;    // většinou nula, vyjímečně testována jiná hodnota, i záporná ...trochu to zvětšuje zisk a riziko  původní účel bylo zamezit obchodům při chodu do strany - nastavuji ručně pokud nastane
                                   
extern int TakeProfit       = 1500;
extern int StopLoss         = 500;
extern int TrailingStop     = 500;

extern int DivisorOfPeriodForWait   = 360; // dělitel trvání periody (dělenec) pro výpočet čekání na opakované čekání na kontrolu vstupní podmínky
extern int NumberOfRepeats          = 42; // počet opakování vstupní podmínky

extern int Slip_page            = 5;
extern int Mag_base_two_digits  = 55; // base of magic number - you can set only two digits xx

// ------------------------------------------------------------------
int Mag;        // magic number
int Mag_period; // second part of magic number číslo odvozené od časového rámce
int Dig;        // násobící číslo pro odstranění desetinných míst hodnoty symbolu
string comment; // řetězec do poznámky obchodu - aktuální časový rámec
double SLP_0 ;     // trend rychlého Slope
double SlowTrend;  // trend pomalého Slope 

// string Symb;         // Security name
int cnt, total, retval; // retval je počet open contract v daném symbolu
int VibraceWait;        // čekací smyčka pro opakovanou podmínku otevření obchodu
int Test;           // příprava pro náhradu funkce Sleep do Testeru 
bool IsOptimization; 
bool IsTested;

//========================================================================================================================================================================
int init()
{

 switch(Period()) // volba doplňujícího čísla pro Magic number 
     {
     case PERIOD_MN1: Mag_period=43200; break;
     case PERIOD_W1:  Mag_period=10800; break;
     case PERIOD_D1:  Mag_period=1440; break;
     case PERIOD_H4:  Mag_period=240; break;
     case PERIOD_H1:  Mag_period=60; break;
     case PERIOD_M30: Mag_period=30; break;
     case PERIOD_M15: Mag_period=15; break;
     case PERIOD_M5:  Mag_period=5; break;
     case PERIOD_M1:  Mag_period=1; break;
     }

 switch(Period()) // volba části řetězce do poznámky obchodu
     {
     case PERIOD_MN1: comment="MN1"; break;
     case PERIOD_W1:  comment="W1"; break;
     case PERIOD_D1:  comment="D1"; break;
     case PERIOD_H4:  comment="H4"; break;
     case PERIOD_H1:  comment="H1"; break;
     case PERIOD_M30: comment="M30"; break;
     case PERIOD_M15: comment="M15"; break;
     case PERIOD_M5:  comment="M5"; break;
     case PERIOD_M1:  comment="M1"; break;
     }

 switch(Digits()) // volba násobku pro převody kurzu nástroje ne celé číslo
     {
     case 0: Dig=1; break;
     case 1: Dig=10; break;
     case 2: Dig=100; break;
     case 3: Dig=1000; break;
     case 4: Dig=10000; break;
     case 5: Dig=100000; break;
     case 6: Dig=1000000; break;
     case 7: Dig=10000000; break;
     }

     Mag = ((Mag_base_two_digits*100000)+Mag_period); /* magic number
     propočet čekacího intervalu opakované vstupní podmínky - jako 1/60 period (pro period H1 bude čekat 1 minuta)
     příklad pro "PERIOD_H1: Mag_period=60" ... Mag_period 60 minut krát 60 sec * 1000 ms lomeno 60 */
    
     VibraceWait = ((Mag_period*60000)/DivisorOfPeriodForWait); // period v minutách * 60 sec * 1000 ms

return(0);
}

//========================================================================================================================================================================
int start()  // Special function start()
{

//--------------------------------------------------------------------
// Sleep (50); // zpomalovací smyčka verze A
//--------------------------------------------------------------------
   /* // zpomalovací smyčka verze B      
   {
   while(!IsStopped())     // Until user.. 
      {                    // .. stops execution of the program
      // RefreshRates();      // Data renewal
      if(!IsOptimization == true && !IsTested == true) RefreshRates(); // přepočítej po Sleep, ale ne v Testeru
      //......................The main code of the program is specified here
      Sleep(50);            // Short pause
      }
   }  */
//--------------------------------------------------------------------

int ticket;

// if(IsTesting()) Test=1;     //  když jsem v Testeru Test=1 ... příprava do podmínky opakovaného testu vstupní podmínky a následnou náhradu funkce Sleep pro Tester

total=OrdersTotal();        // total=OrdersTotal(); // zjištění počtu obchodů v účtu
retval=0;                  // propočet hodnoty retval = počet obchodů v aktuálním symbolu
  // {
 if (total>0) // poslední vypočtené je počet obchodů celkem
    {
     for(cnt=0;cnt<total;cnt++)
           {
           OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
           // check for opened position, symbol & MagicNumber
           if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==Mag) 
                {
                retval++; //kontrola existujícího obchodu v symbolu
                }
                
            // výpočet proměnných quick a slow trend Slope       
         SLP_0 = iCustom(NULL, 0, "TreSLP-i", period_SLP, method_SLP, price_SLP, 0,0); // trend rychlý 1-0
         SlowTrend = iCustom(NULL, 0, "TreSLP-i", period_slow, method_slow, price_slow, 0,(0)); // slow trend 
                
           }
     }              // výpočet existence obchodu v symbolu
     
// --------------------------------------------------------------------- 
// initial data checks
// check system stop level , take profit, ect., check bars
 if(Bars<period_SLP)
 {
 Print("bars less than"+"period");
 return(0); 
 }

 // --- check minimum of system value: stoplos, trailing stop and take profit
 int STL = MarketInfo(Symbol(),MODE_STOPLEVEL);
 int STLs = STL + MarketInfo(Symbol(),MODE_SPREAD);
 if( TrailingStop < STL && TrailingStop>0) { Print("TrailingStop Less than allowed! It will be set to: "+STL); TrailingStop = STL; }
 if( StopLoss < STLs && StopLoss>0) { Print("StopLoss Less than allowed! It will be set to: "+STLs); StopLoss = STLs; }
 if( TakeProfit < STL && TakeProfit>0) { Print("TakeProfit Less than allowed! It will be set to: "+STL); TakeProfit = STL; } 

// *******************************************************
// test for OPEN
if(retval==0)           // v symbolu není otevřen obchod
 {
 SLP_0 = iCustom(NULL, 0, "TreSLP-i", period_SLP, method_SLP, price_SLP, 0,(0));        // velikost rychlého trendu
 SlowTrend = iCustom(NULL, 0, "TreSLP-i", period_slow, method_slow, price_slow, 0,(0)); // velikost pomalého trendu
 
    Comment
     (" Obchodů v symbolu / celkem ... ", retval, "/", total, "\n", 
     " ----- NASTAVENÍ -----", "\n", 
     " *        Obchod                          - ", Lots," Lotu", "\n", 
     " *         Period / Method / Price    - (Delta -- SLP)        = ", period_SLP," / ", method_SLP," / ", price_SLP, " ... ( ", delta_SLP, " __ ",SLP_0,")", "\n", 
     " * Slow Period / Method / Price    - (Limit -- Slow SLP) = ", period_slow," / ",  method_slow," / ", price_slow," ... (", slow_limit," __ ", SlowTrend,")" ,"\n",
     " * Divisor / Opakování kontroly    - ", DivisorOfPeriodForWait," / ",NumberOfRepeats,"\n", 
     " * Magic                                    - ",  Mag_base_two_digits,"\n"
     "\n",
     "<<< Čekám na vstupní podmínku >>>");

  
     // no opened orders identified
     if(AccountFreeMargin()<(1000*Lots))
         {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
         }

//===========================================================================================
// test for open LONG
    
..
..
..

// konec OPEN
//========================================================================================================================================================================

//========================================================================================================================================================================
// test for CLOSE
       
    for(cnt=0;cnt<total;cnt++)                      
    
    {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);           //doplněný řádek z JB-MACD 3
        
         if (OrderType()<=OP_SELL &&                        // check for opened position 
             OrderSymbol()==Symbol()                        // check for symbol
             && OrderMagicNumber()== Mag)                   // check magic number
            {   
            // close LONG
            if(OrderType()==OP_BUY) // long position is opened
                {                  
                 Comment
                 (" Obchodů v symbolu / celkem ... ", retval, "/", total, "\n", 
                 " ----- NASTAVENÍ -----", "\n", 
                 " *        Obchod                          - ", Lots," Lotu", "\n", 
                 " *         Period / Method / Price    - (Delta -- SLP)        = ", period_SLP," / ", method_SLP," / ", price_SLP, " ... ( ", delta_SLP, " __ ",SLP_0,")", "\n", 
                 " * Slow Period / Method / Price    - (Limit -- Slow SLP) = ", period_slow," / ",  method_slow," / ", price_slow," ... (", slow_limit," __ ", SlowTrend,")" ,"\n",
                 " * Divisor / Opakování kontroly    - ", DivisorOfPeriodForWait," / ",NumberOfRepeats,"\n", 
                 " * Magic                                    - ",  Mag_base_two_digits,"\n"
                 "\n",
                 "< < < LONG čeká na podmínku zavření  > > >");                                                                
                
                 // should it be closed LONG ? =====================================================
                 if( SLP_0 < 0 ) // klesá 
                     {
                     OrderClose(OrderTicket(),OrderLots(),Bid,Slip_page,Violet); // close position indikátore
                     
                        // PlaySound("alert2.wav");
                        // Alert("Obchod long ", Symbol(), " byl uzavřen  s profitem - ", OrderProfit());
                         //Sleep(5000); // pauzička po zavření
                    
                     return(0); // exit
                     }
                
                 // check for trailing stop
                 if(TrailingStop> 0) 
                     { 
                     if(Bid-OrderOpenPrice()>Point*TrailingStop)
                         {
                         if(OrderStopLoss()<Bid-Point*TrailingStop) 
                             {
                             OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                             return(0);
                             }
                         }
                     }
                 }           // sekce close long
            
             // should it be closed SHORT ? =====================================================
             // close SHORT
             
             
             
            // don`t use ... použití: if(OrderType()==OP_SELL) // if !!! působí, že robot zavírá obchody na jiném symbolu (tuto poznámku ponechat) 
            else
            {
             
             Comment
                (" Obchodů v symbolu / celkem ... ", retval, "/", total, "\n", 
                 " ----- NASTAVENÍ -----", "\n", 
                 " *        Obchod                          - ", Lots," Lotu", "\n", 
                 " *         Period / Method / Price    - (Delta -- SLP)        = ", period_SLP," / ", method_SLP," / ", price_SLP, " ... ( ", delta_SLP, " __ ",SLP_0,")", "\n", 
                 " * Slow Period / Method / Price    - (Limit -- Slow SLP) = ", period_slow," / ",  method_slow," / ", price_slow," ... (", slow_limit," __ ", SlowTrend,")" ,"\n",
                 " * Divisor / Opakování kontroly    - ", DivisorOfPeriodForWait," / ",NumberOfRepeats,"\n", 
                 " * Magic                                    - ",  Mag_base_two_digits,"\n"
                 "\n",
                "< < < SHORT čeká na podmínku zavření  > > >");     
             
            if( SLP_0 > 0 ) // roste
                 {
                 OrderClose(OrderTicket(),OrderLots(),Ask,Slip_page,Violet); // close position indikátor
                 
                     //PlaySound("alert2.wav");
                    // Alert("Obchod short ", Symbol(), "byl uzavřen  s profitem -", OrderProfit());
                    // Sleep(5000); // pauzička po zavření
                
                 return(0); // exit
                 }
                 
                 // check for trailing stop
                 if(TrailingStop>0) 
                 { 
                 if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                     {
                     if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                         {
                         OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                         return(0);
                         }
                     }
                 }
            }           // sekce else - zavírání short
        }               // sekce existence obchodu dle Magic a Symbol
    }                   // sekce close ...  for  procházení otevřených obchodů
  return(0);
}                // sekce start

// the end ======================================================================================================
 

Hi 

 

problem is solved, I change command if(OrderType()==OP_SELL)  with command ELSE and AE work after assumption.

I think if in  pervisous version  don`t was transmit command "  OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)" to second " if(OrderType()==OP_SELL)".  But I don`t know real reason. 

 

 JardaB

Reason: