[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 375

 

Il est possible de ne regarder nulle part du tout :-)

Mais qui en profiterait - le conseiller expert ou votre dépôt ?

 
alsu >>:

если приперло, ставьте себе Wine и вперед:)))

Je vois qu'il fonctionne via un émulateur - je ne suis pas sûr que ce soit plus rapide que sous Windows. Quelqu'un l'a-t-il testé ?

 
chief2000 >>:

Вижу что это работа через эмулятор - не уверен что будет быстрее чем на Windows. Может кто-нибудь проверял?

Le meilleur outil est celui que vous connaissez et que vous savez utiliser, si vous manquez de puissance vous pouvez passer à un i7, linux n'est pas si facile, si vous ne savez pas l'utiliser, ne vous donnez pas la peine.

 
alsu писал(а) >>

veuillez préciser ce que vous entendez par "regarder" ?

Regarder signifie l'utiliser pour le travail.

En détail, cela ressemble à ceci : Par exemple, dans le compte nous avons 5000 c.u., nous définissons la variable Balance =1000, et le Conseiller Expert devrait fonctionner comme s'il n'y avait pas 5000, mais 1000 dans le compte. >> Comment ...

 
chief2000 >>:

Вижу что это работа через эмулятор - не уверен что будет быстрее чем на Windows. Может кто-нибудь проверял?

Larecherche a été vérifiée. :))

 

Mes respects à la communauté.

Pouvez-vous m'expliquer ce que je fais mal ?

Dans mon EA, j'ai décidé de mettre en place un texte dans la fenêtre du graphique à un niveau de prix donné, qui garde sa position près du bord de la fenêtre pendant le défilement du graphique. Le texte doit alors être interactif et prendre l'une des deux valeurs suivantes, qui changent cycliquement lorsque l'on déplace manuellement le texte. J'ai construit un système similaire à celui-ci :

double   LabPr;
datetime LabTm;
int      Value;
int      Shift;
int      Flag;

int init()
  {
   Value=1;
   Shift=6;
   LabPr=Bid;
   Flag=0;
   LabTm=iTime(NULL,0,WindowFirstVisibleBar( )- Shift);
   
   ObjectCreate("LabTest",OBJ_TEXT,0, LabTm, LabPr);
   ObjectSetText("LabTest",DoubleToStr( Value,0) ,11,"Tahoma",Red);
  }

int start()
  {
   if( LabPr!=ObjectGet("LabTest", OBJPROP_PRICE1)||
      LabTm!=ObjectGet("LabTest", OBJPROP_TIME1))
     {
      if( Flag==0)
        {
         Value= Value*(-1);
         Flag=1;
        }
     }
   else Flag=0;
   LabTm=iTime(NULL,0,WindowFirstVisibleBar( )- Shift);
   ObjectSet("LabTest", OBJPROP_TIME1, LabTm);
   ObjectSet("LabTest", OBJPROP_PRICE1, LabPr);
   ObjectSetText("LabTest",DoubleToStr( Value,0) ,11,"Tahoma",Red);
  }

La variable Flag empêche le changement d'état multiple lorsque l'étiquette est déplacée avec la souris mais n'est pas relâchée pendant plusieurs ticks.

Le problème est que ce changement n'a pas toujours lieu. Y a-t-il quelque chose que je n'ai pas envisagé ?

 

Voici le code


int tm, bu, se ;

int start()
{

tm=Hour() ; // détermine l'heure qu'il est

// ferme tous les ordres
if (tm==23) while (OrdersTotal()!=0) if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) {int tik=OrderTicket() ; int t=OrderType() ; double l=OrderLots() ;
if (t==OP_BUY) OrderClose(tik,l,Bid,3,Red) ;
if (t==OP_SELL) OrderClose(tik,l,Ask,3,Green) ;
if (t==OP_BUYSTOP) OrderDelete(tik) ;
if (t==OP_SELLSTOP) OrderDelete(tik) ;
}
if (tm==23 && bu!=0 || tm==23 && se!=0 ) { bu=0 ; se=0;}



// à zéro heure, placer deux ordres en attente sur le haut et le bas de la bougie du jour précédent
double h1=High[1] ;
double l1=Low[1] ;
if (bu==0 && tm==0 ) if ( OrderSend(Symbol(),OP_BUYSTOP,0.1,h1,3,(h1-30*Point),(h1+20*Point),"__",555,0,Red )=-1) bu=1 ;
if (se==0 && tm==0) if (OrderSend(Symbol(),OP_SELLSTOP,0.1,l1,3,(l1+30*Point),(l1-20*Point),"__",444,0,Green)!=-1) se=1 ;
return(0) ;
}
Dans le testeur, aucune commande n'a été ouverte

Voici ce qui apparaît dans le journal

2010.01.06 15:36:00 Il y a eu 1 passes effectuées pendant l'optimisation, 1 résultat a été écarté car non significatif
2010.01.06 15:36:00 DayBar1 : optimisation arrêtée
2010.01.06 15:35:25 DayBar1 : optimisation commencée
201001.01.06 15:35:25 TestGenerator : unmatched data error (volume limit 4581 at 2010.01.06 00:00 exceeded)
2010.01.06 15:35:25 TestGenerator : unmatched data error (volume limit 4581 at 2010.01.06 00:00 exceeded)
2010.01.06 15:35:25 TestGenerator : unmatched data error (volume limit 4581 at 2010.01.06 00:00 exceeded)
2010.01.06 15:35:25 TestGenerator : unmatched data error (volume limit 4581 at 2010.01.06 00:00 exceeded)
2010.01.06 15:35:25 TestGenerator : unmatched data error (volume limit 4581 at 2010.01.01.06 00:00 dépassé)
2010.01.06 15:34:33 TestGenerator : unmatched data error (valeur haute 1.3816 au 2007.08.09:00 et prix 1.3817 mismatched)
2010.01.06 15:34:33 TestGenerator : unmatched data error (valeur basse 1.3684 au 2007.08.03 10:00 et prix 1.3683 non concordant)
2010.01.06 15:33:49 TestGenerator : unmatched data error (low value 1.1902 at 2004.04.27 12:00 and price 1.1858 mismatched)
2010.01.06 15:33:49 TestGenerator : unmatched data error (low value 1.1902 à 2004.04.27 08:00 et prix 1.1836 non concordant)
2010.01.06 15:33:49 TestGenerator : unmatched data error (low value 1.1902 à 2004.04.27 04:00 et prix 1.1832 non concordant)
2010.01.06 15:33:49 TestGenerator : unmatched data error (low value 1.1902 à 2004.04.27 00:00 et prix 1.1849 non concordant)
2010.01.06 15:33:48 TestGenerator : erreur de données non concordantes (valeur élevée 1.1864 à 2004.04.21 16:00 et prix 1.1919 non concordant)
2010.01.06 15:33:48 TestGenerator : unmatched data error (low value 1.1826 at 2004.04.21 12:00 and price 1.1817 mismatched)
2010.01.06 15:33:48 TestGenerator : unmatched data error (low value 1.1826 at 2004.04.21 08:00 and price 1.1813 mismatched)
2010.01.06 15:33:48 TestGenerator : unmatched data error (low value 1.1826 at 2004.04.21 04:00 and price 1.1819 mismatched)
2010.01.06 15:33:48 TestGenerator : unmatched data error (low value 1.1826 at 2004.04.21 00:00 and price 1.1819 mismatched)
2010.01.06 15:33:48 TestGenerator : unmatched data error (high value 1.1864 at 2004.04.21 00:00 and price 1.1873 mismatched)
2010.01.06 15:33:32 TestGenerator : unmatched data error (high value 1.1860 at 2003.06.17 04:00 and price 1.1863 non concordants)
2010.01.06 15:33:32 TestGenerator : unmatched data error (valeur basse 1.1828 à 2003.06.16 20:00 et prix 1.1817 non concordants)
2010.01.06 15:33:25 TestGenerator : unmatched data error (valeur haute 1.0490 à 2002.12.31 20:00 et prix 1.0507 non concordant)
2010.01.06 15:33:25 TestGenerator : unmatched data error (valeur basse 1.0462 au 2002.12.31 16:00 et prix 1.0454 non concordant)
2010.01.06 15:33:25 TestGenerator : unmatched data error (valeur haute 1.0490 au 2002.12.31 16:00 et prix 1.0507 non concordant)
2010.01.06 15:33:25 TestGenerator : unmatched data error (valeur basse 1.0462 au 2002.12.31 12:00 et prix 1.0454 non concordant)
2010.01.06 15:33:25 TestGenerator : unmatched data error (valeur haute 1.0490 à 2002.12.31 12:00 et prix 1.0504 non concordant)
2010.01.06 15:33:25 TestGenerator : erreur de données non concordantes (valeur basse 1.0462 à 2002.12.31 08:00 et prix 1.0454 non concordant)
2010.01.06 15:33:25 TestGenerator : erreur de données non concordantes (valeur haute 1.0490 à 2002.12.31 08:00 et prix 1.0500 non concordants)
2010.01.06 15:33:18 TestGenerator : erreur de données non concordantes (la valeur haute 0.9814 à 2002.08.20 00:00 n'est pas atteinte à partir de la période la plus basse, le prix haut 0.9811 non concordant)
2010.01.06 15:33:14 TestGenerator : erreur de données non appariées (la valeur élevée 1.0139 à 2002.07.22 00:00 n'est pas atteinte depuis l'intervalle de temps le plus bas, le prix élevé 1.0138 ne correspond pas)
2010.01.06 15:32:47 DayBar1 EURUSD,Daily : chargé correctement

Qu'est-ce qui ne va pas ?

 
Nail_Saby >>:

Смотреть - это значит использовать для работы.

Подробнее получается так: Например, на счету есть 5000 у.е., переменную Balance ставим =1000, и советник должен работать так, как будто на счету не 5000, а 1000. сложно ли это сделать? И как...

:)

Bien sûr, ce n'est pas difficile... Il suffit de remplacer AccountBalance() dans le code par Balance

Si l'EA utilise la valeur du solde, par exemple, pour le calcul des lots ou des arrêts, cela ne fait aucune différence - le solde que vous utilisez sera calculé avec cette valeur.

 
splxgf >>:

Самый лучший инструмент этот тот который знаешь и умеешь пользоваться, если уж так не хватает мощей может сменить проц на i7, под линухом тоже не все так просто, если не шаришь лучше забей.

Le processeur est accompagné d'une nouvelle mémoire et d'une nouvelle carte mère... - Considérez-le comme un nouvel ordinateur :)

 
granit77 >>:

Поиск проверял. :))

J'ai changé la recherche et j'ai trouvé quelque chose : https://www.mql5.com/ru/forum/115409/page3

что интересное было

железо:
поцессор I7 разогнал 3.6 - 12 гиг озу 
софт:

CENOS 64 + VMWARE 7 + XP32 + MT4 - скорость работы MT4 выше ! ( при прогоне в режиме тестера )
чем если 
WINDOWS 64 + MT4 ( который все равно 32 )


Donc, en principe, cela vaut la peine de l'envisager !

Raison: