Hallo.
Im Anhang die neueste Version. Funktioniert allgemein wie sie soll, allerdings wurde heute im Demo-Konto keine einzige Order geschlossen.
Vermutlich weil ich die Berechnungen dafür nicht da hatte, wo sie hin gehörn.
Trotzdem hat der EA heute ein paar Pipen Gewinn machen können.
Sind aber nicht der Rede wert.
Aber so richtig gefällt mir diese OrderClose-Geschichte nicht. Aber müsste doch eigentlich funktionieren...
Code:
// Wenn FirstSell Gewinn-Dist doch erreicht hat...
if( Ask < FiSelOOP_DCAO ){
// ...Lots erhöhen...
Lots = OrderLots() + LotsPlus; // ?
// ...und alle Orders schließen.
for(p=OrdersTotal()-1;p>=0;p--){
if(OrderSelect(p,SELECT_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MN_FiBuy||OrderMagicNumber()==MN_NeBuy||OrderMagicNumber()==MN_FiSel||OrderMagicNumber()==MN_NeSel){
if(IsTradeAllowed()==true)OCbuy=OrderClose(NULL,NULL,NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
} } } }
Code:
// Wenn FirstBuy Gewinn-Dist doch erreicht hat...
if( Bid > FiBuyOOP_DCAO ){
// ...Lots erhöhen...
Lots = OrderLots() + LotsPlus; // ?
// ...und alle Orders schließen.
for(q=OrdersTotal()-1;q>=0;q--){
if(OrderSelect(q,SELECT_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MN_FiSel||OrderMagicNumber()==MN_NeSel||OrderMagicNumber()==MN_FiBuy||OrderMagicNumber()==MN_NeBuy){
if(IsTradeAllowed()==true)OCsel=OrderClose(NULL,NULL,NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
} } } }