[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 940
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
extern double TP=20; // ТР для открываемого ордера
extern double Lot=0.01; // Жестко заданное колич. лотов
datetime time;
//--------------------------------------------------------------- 2 --
int start()
{
int Total;
double
M_0,
M_1;
bool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell
//--------------------------------------------------------------- 3 --
// Учёт ордеров
for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;
if(Total!=0 || time==Time[1])return;
// Торговые критерии
M_0=iOsMA(NULL,0,13,34,8,0,0); // 0 бар
M_1=iOsMA(NULL,0,13,34,8,0,1); // 1 бар
if (M_1<0 && M_0>0)
Opn_B=true;
if (M_1>0 && M_0<0)
Opn_S=true;
//--------------------------------------------------------------- 7 --
if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Bid-SL*Point,Bid+TP*Point);time=Time[1];}
if (Opn_S)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,0,Ask+SL*Point,Ask-TP*Point);time=Time[1];}
}
Faites-vous des tests sur toutes les tiques ?
Merci pour la réponse. J'ai esquissé une EA rudimentaire. Ça ne marche toujours pas.
dans ce code, cherchez les erreurs, la fonction OrderSend en appuyant sur F1 fera apparaître l'aide dans l'éditeur standard, regardez l'ordre des paramètres entrants il y a une erreur.
+ utiliser Print / Alert pour parcourir les valeurs des variables, l'insérer dans la section de code après ( assignations / execute )
et n'oubliez pas de normaliser la sortie, DoubletoSt..NormalizeDouble..TimeToStr
Vous trouverez ci-joint 2 bibliothèques gratuites avec le code de kimIV.
Le code est simple, des fonctions prêtes à l'emploi, très bien pour les débutants.
// Il n'y a pas de nombre fixe de lots :)
Oui
Vous avez alors un effet de claquement sur la barre de zéro.
Des tests sur toutes les tiques ?
Comment "arrêter" le flux de mécontentement vers les PED ?
Vous trouverez ci-dessous un extrait du journal :
10:00:25 Ancien tick EURUSD30 1.38730/1.38740
10:00:25 Ancien tick EURUSD240 1.38730/1.38740
10:00:25 Ancien tick EURUSD1440 1.38730/1.38740
10:00:25 Ancien tick EURUSD15 1.38730/1.38740
10:00:25 Ancien tick EURUSD1 1.38730/1.38740
10:00:25 Ancien tick EURUSD60 1.38730/1.38740
10:00:25 Ancien tick EURUSD5 1.38730/1.38740
11:00:34 Ancien tick EURUSD30 1.38847/1.38863
11:00:34 Ancien tick EURUSD240 1.38847/1.38863
11:00:34 Ancien tick EURUSD1440 1.38847/1.38863
11:00:34 Ancien tick EURUSD15 1.38847/1.38863
11:00:34 Ancien tick EURUSD1 1.38847/1.38863
11:00:34 Ancien tick EURUSD60 1.38847/1.38863
11:00:34 Vieux tick EURUSD5 1.38847/1.38863
11:25:06 Ancien tick EURUSD30 1.38707/1.38722
11:25:06 Vieux tick EURUSD240 1.38707/1.38722
11:25:06 Vieux tick EURUSD1440 1.38707/1.38722
11:25:06 Vieux tick EURUSD15 1.38707/1.38722
11:25:06 Vieux tick EURUSD1 1.38707/1.38722
11:25:06 Ancien tick EURUSD60 1.38707/1.38722
Vous avez alors un effet de claquement sur la barre de zéro.
Le test vous donne-t-il mal à la tête ?
/Critères de négociation
M_0 ={ iOsMA(0,0,13,34,8,0,1) } ; //| 1bar
M_1 ={ iOsMA(0,0,13,34,8,0,2) } ; //| 2bar
Opn_B ={ (((M_1<0)==1) &&((M_0>0)==1) ) ) } ;
Opn_S ={ (((M_1>0)==1) &&((M_0<0)==1) ) ) } ;
essayez comme ça, mais sans les secousses :)