Einzelnen Beitrag anzeigen
  #9 (permalink)  
Alt 01.07.14
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Na ja, das geht dann nicht so einfach, weil die MagigNumber per EA!!! beim Orderöffnen mittels OrderSend() gesetzt werden müßte.
Wenn Du jetzt händisch!!! über das One-Click-Trading gehst, kannst Du keine MagicNumber an die Order koppeln. Es gibt einen kleinen Umweg über die Zeile "Kommentar:" im Fenster des Auftrages, wenn Du über das One-Click-Trading gehst.
In diese Kommentarzeile mußt Du dann die Magicnummer schreiben, aber auch in die Variable Magicnummer am Codeanfang.
Der EA wird dann den Kommentar der Order auslesen und mit der im Code oben angegebenen Magicnummer vergleichen und bei Identität den TP und SL setzen.

//+------------------------------------------------------------------+
//| TPSL-Insert.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""

//---- input parameters
extern double TakeProfitPips=100;
extern double StopLossPips=150;
extern int Magicnummer = 100;
int Faktor, Digt, cnt;
double TPp, SLp;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init(){}

//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit(){}

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if(Close[0]>10) {Faktor=1000; Digt=3;} else
if(Close[0]<10) {Faktor=100000; Digt=5;}

if(OrdersTotal()!=0)
{
for(cnt=0; cnt<OrdersTotal(); cnt++)
{
OrderSelect(cnt,SELECT_BY_POS);
if (StringToInteger(OrderComment()) != Magicnummer) continue;


//--------------Take Profit--------------------------------

if(OrderTakeProfit()==0 && TakeProfitPips !=0)
{
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{TPp = OrderOpenPrice()+TakeProfitPips/Faktor;}
if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
{TPp = OrderOpenPrice()-TakeProfitPips/Faktor;}
} else TPp = OrderTakeProfit();

//--------------Stop Loss--------------------------------

if(OrderStopLoss()==0 && StopLossPips !=0)
{
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{SLp = OrderOpenPrice()-StopLossPips/Faktor;}
if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
{SLp = OrderOpenPrice()+StopLossPips/Faktor;}
} else SLp = OrderStopLoss();

//---------------Modify Order--------------------------
if (OrderType()==OP_BUY || OrderType()==OP_SELL)
OrderModify(OrderTicket(),OrderOpenPrice(),SLp,TPp ,0);
//-----------------------------------------------------

} // for cnt
}//if OrdersTotal
return(0);
}// Start()
//+------------------------------------------------------------------+

Viel Erfolg!

traderdoc