Apr 23 2008, 2:12
Post
|
|
|
|
Faudrait que je sois plus clair sur ce que je veux.
Dans mon code, je n'ai pas besoin d'indicateur. J'achete automatiquement quoi que ce soit le marché Mot lot est 1 pip pour 1$ Je trade l'EURJPY Je mets un stoplost de 100 et un take profit de 6 Je vérifie tout de meme si mon trade descend de 6 pip, je laisse mon premier ordre ouvert et j'en ouvre un deuxieme en Buy avec un lot de 1 pip = 7$. Je met mon deuxieme ordre stop lost 6 et take profit de 6 Si mon deuxieme ordre fait un take profit, je close les 2 ordres en meme temps. Si mon deuxieme ordre est en stoplost, je close les 2 ordres et je recommence sauf qu'au lieu de faire un buy a mon premier ordre, je fais un sell car la tendance est a l'inverse que supposé Je n'ai pas fini mon code car quand mon deuxieme ordre fait un stop lost je dois changer mon buy pour un sell par défaut et quand mon deuxieme ordre fait du profit, je dois clore les 2 ordres et recommencer. Bref, j'ai fait des testes de cette logique sur une grille excel et ca semblait rapporter beaucoup,, il faudra maintenant en mql pour savoir si c'est vrai. Si des gens comprends moindrement mon charabia, je vous invite a m'écrire. Sinon, je continuerai a persister et trouver la soluce. ----------------------------------------------------------------------------------------------- //+------------------------------------------------------------------+ //| 666.mq4 | //| Copyright © 2007, Kapabshop enr. | //| http://www.mataf.net/forums/ddroyffx-m6328.html | // http://www.fx245.com/profile/DavidRoy | // http://ddroyffx.googlepages.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, Kapabshop enr." #property link "http://www.kapabshop.com" //Variable Globaux extern bool UseSound = False; extern string Name_Expert = "Generate from AVQFX-Exponential Spread Switcher"; extern string NameFileSound = "alert.wav"; //Variables Technique extern double LotNiveau1 = 0.1; extern double LotNiveau2=0.1; extern double StopLost=6; extern double TakeProfit=6; extern double NiveauActurel=1; extern int ActionDefaut=OP_BUY; extern int ActionEnCours=OP_BUY; extern int Slippage = 3; double changeniveauat = 0; int order1 = 0; int OrderOpen2 = 0; //Variable couleur extern color clOpenBuy = Blue; extern color clCloseBuy = Aqua; extern color clOpenSell = Red; extern color clCloseSell = Violet; extern color clModiBuy = Blue; extern color clModiSell = Red; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- OpenBuy(0.01,6,6,"test"); //---- return(0); } void OpenBuy(double ldLot,double ldStop, double ldTake,string lsComm) { int ticket1,ticket2; if(OrdersTotal()==0) { ticket1=OrderSend(Symbol(),ActionDefaut,ldLot,Ask,Slippage,Ask-100*Point,Ask+ldTake*Point,lsComm,654321,0,clOpenBuy); /* j'ai mis mon stop lost a -100 car je ne veux pas qu'il stop mon premier niveau il doit stopper seulement au takeprofit ou au deuxieme niveau inverser buy/sell lot exp6+yan */ if(ticket1<0) { Print("OrderSend failed with error #",GetLastError()); return(0); } if (UseSound) PlaySound(NameFileSound); }else { /* vérifier si mes pips on descendu a mon stoplost virtuel (-6) en théorie si oui, je vais inverser */ double Profit = 0; if (ActionDefaut==OP_BUY) { if (OrderClosePrice()<OrderOpenPrice()) { Profit=Profit-(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point; } if (OrderClosePrice()>OrderOpenPrice()) { Profit=Profit+(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; } } if(OrderOpen2==1 && Profit<= (StopLost*LotNiveau2)) { if(ActionDefaut==OP_BUY) { ActionDefaut=OP_SELL; } else { ActionDefaut=OP_BUY; } } if(OrderSelect(0, SELECT_BY_POS)==true && OrderSelect(1, SELECT_BY_POS)==false) { if(Profit<= (StopLost*LotNiveau1)) { if(ActionDefaut==OP_BUY) { ticket1=OrderSend(Symbol(),OP_SELL,0.1,Bid,Slippage,Bid+StopLost*Point,Bid-ldTake*Point,lsComm,654321,0,clOpenSell); OrderOpen2=1; Print("Profit2:",Profit); if(ticket1<0) { Print("Erreur #",GetLastError()); return(0); } } } } } } //+------------------------------------------------------------------+ |
|
Similar Topics
| Topic Title | Replies | Topic Starter | Views | Last Action | |||
|---|---|---|---|---|---|---|---|
![]() |
10 | lev10 | 5,133 | 29th October 2005 - 12:39 Last post by: lev10 |
|||
![]() |
2 | dieupip | 4,114 | 20th September 2005 - 19:04 Last post by: dieupip |
|||
![]() |
6 | Phénoménal | 8,662 | 26th October 2005 - 14:53 Last post by: valerie |
|||
![]() |
4 | Phénoménal | 6,757 | 24th September 2005 - 17:02 Last post by: Durun |
|||
![]() |
2 | danyja | 2,310 | 9th September 2009 - 12:01 Last post by: touco |
|||
| Lo-Fi Version: Besoin D'aide Pour Mql4 (metatrader) - Forex Forum |



Apr 21 2008, 21:18
