Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 09.01.17
Ado1964 Ado1964 ist offline
Neues Mitglied
 
Registriert seit: Dec 2016
Beiträge: 29
Ado1964 befindet sich auf einem aufstrebenden Ast
Question Fehler bei Berechnung oder Send?

Hi Leute, ich versuche schon seit stunden den Fehler zu finden. Der EA läuft an sich. Ziel ist, dass er byu-/send-Orders auslöst, wenn sich Main und Signal kreuzen, wobei die Variable Distance den Abstand zwischen Main und Signal darstellt. Solange kein neues Crossing von Main und signal stattfindet (inkl. der Distance) soll nix passieren, ansonsten soll er zB Sell schliessen und buy öffnen.

{


if(PositionOpen()) return(0);

crossedup = false;
crosseddown = false;

for(int i = 0;i < 3;i++)
{
mline[i] = iStochastic(NULL, Period(),K_Period, D_Period, Slowing, MA_Method, 0, MODE_MAIN, i);
sline[i] = iStochastic(NULL, Period(),K_Period, D_Period, Slowing, MA_Method, 0, MODE_SIGNAL, i);
}
if ((mline[1] < sline[1]) && (mline[2] -Distance> sline[2])) crosseddown = true;
else if ((mline[1] > sline[1]) && (mline[2]+Distance < sline[2])) crossedup = true;
else return(0);


if (crossedup) GoLong();
if (crosseddown) GoShort();


return(0);
}

.....

int GoLong()

{

longtkt = -1;
cnt = 0;
while((longtkt < 0) && (cnt < 20))
{
longtkt = OrderSend(Symbol(), OP_BUY, AdvancedMM(), Ask, 2, 0,0, NULL, MagicNumber, 0, Green);
cnt++;
}
if (longtkt>0)
{
OrderSelect(longtkt, SELECT_BY_TICKET);

OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(TheStoppLoss,Digits),NormalizeDouble(TheT akeProfit,Digits),0,Green);
}


OrderClose(OrderTicket(),OrderLots(),OrderClosePri ce(), Slippage,Red);

return(longtkt);

}
...

bool PositionOpen()
{
t = OrdersTotal();
for(int z = 0;z < t;z++)
{
OrderSelect(z, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol()) return(true);
}
return(false);



Habe ich das Distance falsch gesetzt? Oder wortan kann es liegen?

Danke euch vielmals für die Zeit...