|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Buy auf Sell - Sell auf Buy
Guten Tag Leute...
Ich bin neu im Forum und hoffe ihr könnt mir helfen.. Zum Test möchte ich den vorinstallierte EA Moving Average im MT4 ändern... Und zwar möchte ich das der EA gedreht wird das heisst wenn er auf buy geht soll er sell gehen und von sell soll er buy. Hier ein Beispiel. Laut ST zeigt er mir das an.. 1 2022.01.24 01:31 sell 1 0.20 34461.9 0.0 0.0 0.00 10000.00 2 2022.01.24 01:35 close 1 0.20 34486.5 0.0 0.0 -49.20 9950.80 den wenn er umprogrammiert wird soll er laut ST so ausschauen. 1 2022.01.24 01:31 buy 1 0.20 34461.9 0.0 0.0 0.00 10000.00 2 2022.01.24 01:35 close 1 0.20 34486.5 0.0 0.0 -49.20 9950.80 noch dazu soll er buy zu Ask kaufen Sell zu Bid verkaufen Da ich selbst versucht habe zu ändern.. Leider kein Erfolg Vielleicht gibt es in diesen Forum nette Menschen die anderen Helfen wäre ich sehr dankbar... |
|
|||
Ein Reverse-MA-EA ( ) sollte einfach sein. Einfach so schreiben, dass er bei einem MA-Long-Signal Short geht, bzw. Long geht bei einem MA-Short-Signal.
Die Preise, bei denen geöffnet oder geschlossen wird, kann man nicht ändern. Man kann zwar im Code das jeweils Andere eintragen, geöffnet/geschlossen wird aber nach wie vor mit den jeweiligen Preisen oder vielleicht gar nicht, wenn die Preis-Angabe nicht akzeptiert wird. |
|
|||
Zitat:
Das habe ich schon probiert .. es geht nicht den wenn ich das änder kommt trotzdem das gleiche ergebniss |
|
|||
Zitat:
mit Code:
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0); //--- buy conditions if(Open[1]>ma && Close[1]<ma) { res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue); return; } //--- sell conditions if(Open[1]<ma && Close[1]>ma) { res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red); return; } Dann muss aber auch noch die Close-Funktion umgeschrieben sein: Code:
for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue; //--- check order type if(OrderType()==OP_SELL) { if(Open[1]>ma && Close[1]<ma) { if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White)) Print("OrderClose error ",GetLastError()); } break; } if(OrderType()==OP_BUY) { if(Open[1]<ma && Close[1]>ma) { if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White)) Print("OrderClose error ",GetLastError()); } break; } }
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
|
|