[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 288

 

Oui, donc c'est un problème.

J'ai trouvé un bug. Dans la bibliothèque de cette fonction, dans la ligne

double DecimalArray[17]={ 1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0,  10000000.0, 100000000.0,
                             1000000000.0, 10000000000.0, 100000000000.0, 10000000000000.0, 100000000000000.0,
                             1000000000000000.0, 1000000000000000.0, 10000000000000000.0 };
vous devez supprimer le zéro dans chacun des numéros 13, 14 et 15.


Maintenant, correctement.

2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 15 çíàêàìè ðàâíî 0.201304150854320
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 14 çíàêàìè ðàâíî 0.20130415085432
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 13 çíàêàìè ðàâíî 0.2013041508543
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 12 çíàêàìè ðàâíî 0.201304150854
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 11 çíàêàìè ðàâíî 0.20130415085
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 10 çíàêàìè ðàâíî 0.2013041509
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 09 çíàêàìè ðàâíî 0.201304151
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 08 çíàêàìè ðàâíî 0.20130415
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 07 çíàêàìè ðàâíî 0.2013042
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 06 çíàêàìè ðàâíî 0.201304
2013.04.14 22:54:33     stdlib GBPUSD,H1: loaded successfully
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé SS = 32
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MM = 54
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé HH = 8
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DD = 15
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MN = 4
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé YY = 2013
 
Rogermerci beaucoup ! !! Tout a fonctionné ! Maintenant, il fonctionne comme il se doit !
 

Bonjour, quelqu'un peut-il me dire comment faire un EA à partir d'un script ?

 

Bonjour. Je ne suis pas bon en programmation, je n'arrive pas à trouver un bug, l'EA fonctionne sur le testeur mais aucune transaction ne s'ouvre. Pourquoi ? Aidez-moi, s'il vous plaît.

//---- paramètres d'entrée
extern int MA1=85 ;
extern int MA2=75 ;
extern int MA3=5 ;
extern int int fastema=15 ;
extern int int lowema=26 ;
extern int sl=15 ;
extern int tp=15 ;

/*
extern int vltbars=10 ; //nombre de barres pour le calcul de la volatilité
extern double deliter=1.5 ; //diviseur de volatilité actuelle
extern double stoppercent=0.50 ; //de 1 à 99

extern bool timecontrol=false ;
extern string starttime = "07:00:00" ;
extern string stoptime = "17:00:00" ;
*/

extern double Lots=0.1 ;

int startb,starts ;

double stoplevel ;
int init()
{
stoplevel=MarketInfo(Symbol(),MODE_SPREAD)+MarketInfo(Symbol(),MODE_STOPLEVEL) ;
}


int start()
{int buy,sell ;

acheter=0;vendre=0 ;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES) ;
if(OrderType()==OP_BUY){buy=1;}
si(OrderType()==OP_SELL){sell=1;}
}

double wma1 =iMA(NULL,0,MA1,0,MODE_LWMA,PRICE_LOW,1) ;
double wma2 =iMA(NULL,0,MA2,0,MODE_LWMA,PRICE_LOW,1) ;
double ema1 =iMA(NULL,0,MA3,0,MODE_EMA,PRICE_CLOSE,1) ;

double macdcurr =iMACD(NULL,0,fastema,lowema,1,PRICE_CLOSE,MODE_MAIN,1) ;
double macdlast =iMACD(NULL,0,fastema,lowema,1,PRICE_CLOSE,MODE_MAIN,2) ;


si(ema1<wma1 && ema1<wma2)startb=1 ;
si(ema1>wma1 && ema1>wma2)starts=1 ;

if(ema1>wma1 && ema1>wma2 && startb==1 && (macdcurr>0 || macdcurr>macdlast) && buy==0)
{
Print("BUY Bid : "+Bid+" sl : "+sl+" TakeProfit : "+tp) ;
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-sl*Point,Ask+tp*Point, "FORTRADER.RU",0,0,Red) ;
startb=0 ;
}
if(ema1<wma1 && ema1<wma2 && starts==1 && (macdcurr<0 || macdcurr<macdlast)&& sell==0)
{
Print("SELL Bid : "+Bid+" sl : "+sl+" TakeProfit : "+tp) ;
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+sl*Point,Bid-tp*Point, "FORTRADER.RU",0,0,Red) ;
démarre=0 ;
}

retour(0) ;
}


 
qwert2:

Bonjour, quelqu'un peut-il me dire comment faire un EA à partir d'un script ?

Mettez-le dans le dossier EA.
 
Zhunko:
Mettez-le dans le dossier Expert.

Le script exécute l'action, si vous le déplacez simplement dans le dossier des experts, il exécute l'action à chaque tic, au lieu de commencer une nouvelle action seulement après que l'ancienne soit terminée.

 
qwert2:

Le script exécute l'action, si vous le déplacez dans le dossier Expert, il exécute l'action à chaque tic-tac, au lieu de commencer une nouvelle action seulement après que l'ancienne soit terminée.

Je ne comprends pas. De quoi s'agit-il ? C'est une question ?
 
Zhunko:
Je ne comprends pas. De quoi s'agit-il ? C'est une question ?

J'ai écrit ceci sur ce qui se passe si vous déplacez simplement le script dans le dossier des experts. Cela fonctionne, mais pas de la manière dont nous en avons besoin. Le script crée 8 ordres en attente. Si nous le sauvegardons simplement dans le dossier Expert Advisors, il crée 8 ordres en attente après chaque tick. J'ai besoin qu'il passe 8 nouvelles commandes uniquement après la clôture des anciennes.
 
qwert2:
C'est ce qui se passe si le script est simplement déplacé dans le dossier des experts. Ça marche, mais pas comme ça devrait. Le script crée 8 ordres en attente, mais si vous le sauvegardez simplement dans le dossier des experts, il crée 8 ordres en attente après chaque tick. J'ai besoin qu'il passe 8 nouvelles commandes uniquement après la clôture des anciennes.
Tu ne te mêles de rien - peut-être qu'un poulet serait un MIEUX (pour l'attente) ? :)))
 
qwert2:
J'ai écrit ce qui se passe si vous déplacez simplement le script dans un dossier avec des experts. Cela fonctionne, mais pas de la façon dont cela devrait. Le script crée 8 ordres en attente mais si nous le sauvegardons dans le dossier des conseillers experts, il crée 8 ordres en attente après chaque tick. J'ai besoin qu'il passe 8 nouvelles commandes uniquement après la clôture des anciennes.

Avez-vous écrit seulement un "report" dans votre scénario ? Ensuite, il ne fera que tergiverser : autant de tics rentrés qu'il en faut... Oups... .........

Vous devez y ajouter un troisième inhibiteur de contrôle...