Comment coder ? - page 188

 

int start()

{

int total,ord,i ;

symbole de chaîne de caractères ;

total = OrdersTotal() ;

for(i=0;i<total;i++)

{

OrderSelect(i,SELECT_BY_POS) ;

if(OrderSymbol() = Symbol())ord++ ;

}

if(ord>0) return (0) ; //Abandon ! Une position pour cette paire est déjà ouverte

//le reste du code de mon programme

}

J'ai constaté qu'en réalité, j'ai dû utiliser des pauses de quelques secondes dans le code, car les courtiers n'ouvrent pas instantanément les positions.

 

Je veux ouvrir 1 POSITION dans une direction mais pas plus, même si la position atteint le TP.

Vérifier une position ouverte ne fonctionnera pas évidemment.

Exemple :

Je ne veux pas qu'un autre 'BUY' soit exécuté si j'avais un achat ouvert et qu'il a atteint le TP. Je veux qu'il attende que les MA's se croisent vers le bas et qu'il ouvre une VENTE avec un TP et qu'il répète le tout à nouveau.

Il y a probablement un moyen facile de faire cela, mais mon cerveau est grillé ou quelque chose comme ça.

MERCI

 

Merci pour l'info...

SPACECHIMP:
int start()

{

int total,ord,i ;

chaîne de caractères symbole ;

total = OrdersTotal() ;

for(i=0;i<total;i++)

{

OrderSelect(i,SELECT_BY_POS) ;

if(OrderSymbol() = Symbol())ord++ ;

}

if(ord>0) return (0) ; //Abandon ! Une position pour cette paire est déjà ouverte

//le reste du code de mon programme

}

J'ai constaté qu'en réalité, j'ai dû utiliser des pauses de quelques secondes dans le code parce que les courtiers n'ouvrent pas instantanément les positions.

Merci d'avoir pris le temps de me montrer ce code ! Je ne pense pas que mes captures d'écran aient été suffisantes pour expliquer la logique de ce que j'essaie de réaliser. Voici l'explication en clair... et à titre d'exemple, j'utilise un scénario d'"achat". A terme, j'aimerais qu'il puisse faire à la fois "Acheter" et "Vendre".

Scénario 1 : Si votre transaction d'achat vous suit...-Traité 1, T/P à 70 pips

--Transaction 2, 30 pips après la transaction 1, T/P à 70 pips

--Trade 3, 30 pips à côté du trade 2, T/P à 70 pips.

** 210 pips au total

Scénario 2 : Si votre transaction d'achat se retourne contre vous... placez une transaction tous les 60 pips pendant trois transactions et attendez que le marché se retourne dans votre direction - transaction 1 mauvaise... entrez une nouvelle transaction d'achat de contingence à -60 pips du prix de la transaction 1.

-Transaction 2 mauvaise...entrez dans une nouvelle transaction d'achat d'urgence à -60 pips du prix de la transaction 2.

-Transaction 3 mauvaise...ne pas entrer d'autres transactions.

-attendre les signes de retournement... pointparabolique = fond... s'il semble qu'il se déplace dans notre direction alors entrer un 4ème achat

-attendre 30 pips positifs de plus puis entrer un 5ème trade d'achat...continuer à entrer des trades d'achat (6, 7, 8 trade) jusqu'à ce qu'il atteigne le niveau où se trouvait le 3ème trade de contingence....puis attendre le 1er original, et suivre les étapes du scénario 1.

Est-il possible d'obtenir le code de cette logique ? Je vous en serais très reconnaissant !

 
SPACECHIMP:
Je veux ouvrir 1 POSITION dans une direction mais pas plus, même si la position atteint le TP.

Vérifier les positions ouvertes ne fonctionnera évidemment pas.

Exemple :

Je ne veux pas qu'un autre 'BUY' soit exécuté si j'avais un achat ouvert et qu'il a touché le TP. Je veux qu'il attende que les MA's se croisent vers le bas et qu'il ouvre une VENTE avec un TP et qu'il répète le tout à nouveau.

Il y a probablement un moyen facile de faire cela, mais mon cerveau est grillé ou quelque chose comme ça.

MERCI

Vous devez vérifier votre historique d'ordres pour voir si un ordre vient de se fermer sur la barre actuelle avec un profit.

J'espère que cela vous aidera.

Lux

 

Pete filtre RSI

Bonjour à tous...

j'ai essayé de créer une ea simple pour cet indy (rsi filter pete) mais après la compilation, quand je lance un backtest rien ne se passe

Je veux seulement

1-Achat sur vert ou vert clair

2-et vendre sur le rouge ou le rouge clair

Je demande donc à des personnes bienveillantes de m'aider sur ce point.

Merci d'avance

 

MM pour EA plz

Je veux ajouter cette condition à mon EA

si la perte du jour courant = 100 ---> fermer toutes les positions, ne pas prendre d'OP jusqu'à demain.

si la perte dans le jour courant peut prendre n'importe quel OP

quelqu'un peut m'aider ? ??

Voici mon EA

//+------------------------------------------------------------------+

/*

EA Dengan sinyal dari signal ma

*/

extern double Lots = 0.01;

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

double a1, //ma 10 tf 4h

a2, //ma 10 tf 1h

a3, //ma 10 tf 15m

a4, //ma 10 tf 5m

j, //yesterday low price

k, //yesterday high price

b1, //ma 30 tf 4h

b2, //ma 30 tf 1h

b3, //ma 30 tf 15m

b4; //ma 30 tf 5m

int cnt, ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

// to simplify the coding and speed up access

// data are put into internal variables

a1 = iMA(NULL,240,10,0,MODE_EMA,PRICE_CLOSE,0);

a2 = iMA(NULL,60,10,0,MODE_EMA,PRICE_CLOSE,0);

a3 = iMA(NULL,15,10,0,MODE_EMA,PRICE_CLOSE,0);

a4 = iMA(NULL,5,10,0,MODE_EMA,PRICE_CLOSE,0);

b1 = iMA(NULL,240,30,0,MODE_EMA,PRICE_CLOSE,0);

b2 = iMA(NULL,60,30,0,MODE_EMA,PRICE_CLOSE,0);

b3 = iMA(NULL,15,30,0,MODE_EMA,PRICE_CLOSE,0);

b4 = iMA(NULL,5,30,0,MODE_EMA,PRICE_CLOSE,0);

j = iLow(NULL,60,2);

k = iHigh(NULL,60,2);

total=OrdersTotal();

if(total<1)

{

// no opened orders identified

if(AccountFreeMargin()<(1000*Lots))

{

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

// check for long position (BUY) possibility

if(a1>b1&&

a2>b2&&

a3>b3&&

a4>b4+10*Point)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"macd sample",16384,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

// check for short position (SELL) possibility

if(a1<b1&&

a2<b2&&

a3<b3&&

a4<b4-10*Point)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"macd sample",16384,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

// it is important to enter the market correctly,

// but it is more important to exit it correctly...

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

{

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

{

// should it be closed?

if(Bid>OrderOpenPrice()+100*Point)//if profit > 100

{

OrderModify(OrderTicket(),OrderOpenPrice(),j,0,0,Green);

return(0);

}

if(Bid<OrderOpenPrice()-150*Point)//stop loss

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

return(0); // exit

}

}

else // go to short position

{

// should it be closed?

if(Ask 100

{

OrderModify(OrderTicket(),OrderOpenPrice(),k,0,0,Green);

return(0);

}

if(Ask>OrderOpenPrice()+150*Point)//stop loss

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

return(0); // exit

}

}

}

}

return(0);

}

// the end.

 

Bonjour,

J'ai demandé quelque chose de similaire dans un autre forum il y a quelques semaines. Une sorte de CLOSEALL si le solde = + x montant ou -x montant. Je ne suis pas programmeur, mais cela ne semble pas être possible ( ?) car je n'ai vraiment obtenu que quelques réponses peu claires.

Cela ne semble pas si compliqué, mais encore une fois, je ne suis pas un programmeur.

Bonne chance,

 

Est-il possible d'ouvrir une fenêtre popup de trading par EA ?

Bonjour.

J'aimerais ouvrir une fenêtre popup de trading par EA.

Est-ce possible ?

S'il est possible de l'ouvrir par EA, est-il possible d'ouvrir une fenêtre popup de trading sur laquelle le nombre de volume négocié (le nombre de lot) est fixé à un nombre commandé par EA ?

 
Dax:
Bonjour.

Je voudrais ouvrir une fenêtre popup de trading par EA.

Est-ce possible ?

S'il est possible de l'ouvrir par EA, est-il possible d'ouvrir une fenêtre popup de trading sur laquelle le nombre de volume négocié (le nombre de lot) est fixé à un nombre commandé par EA ?

Vous devrez le faire avec une dll.

 
Ms_Mel:
Salut,

J'ai demandé quelque chose de similaire dans un autre forum il y a quelques semaines. Une sorte de CLOSEALL si le solde = + x montant ou -x montant. Je ne suis pas programmeur, mais cela ne semble pas être possible ( ?) car je n'ai vraiment obtenu que quelques réponses peu claires.

Cela ne semble pas si compliqué, mais encore une fois, je ne suis pas un programmeur.

Bonne chance,

Cherchez dans les forums les EA de type closeall. Il y en a quelques-uns ici

Raison: