void createsstoploss(double stoploss)
{
RefreshRates();
double pricel = Bid;
double sll = (pricel + 0.003);
for(i=OrdersTotal();i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if( OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumSell)
{
if(OrderType()==OP_SELL)
{
if(OrderStopLoss()==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),sll,OrderTakeProfit(),0,Red);
return;
}
}
}
}
}
w uzywanym EA po uruchomieniu na nowej wersji platformy pojawił się zaskakujący problem z którym walczę od paru dni i nie umię go wyjaśnić żadnym sposobem.
Modyfikując zlecenie krótkie po otwarciu celem postawienia SL-a nie uzyskuję żadanej wartości. Taki sam kod dla TP działa bez problemu.
Sprawdzałem czy czasem Point i Digits nie maja innych wartości , wyłaczyłem inne EA, sprawdziłem ile jestem w stanie i nic. Usuwałem NormalizeDouble i nic, i wstawialem ponownie.
W końcu wpisałem wartość SL-a w kodzie jaka ma byc dodana do ceny i też nic .To znaczy SL jest stawiany i owszem , ale wartości znacznie mniejszej .
-- Dodano: czw 20-02-2014, 21:09 --
przem81621 pisze:///////////zlozenie zlecenia stoploss przez modyfikacje otwartego juz zlecenia sprzedazy - short
void createsstoploss(double stoploss)
{
RefreshRates();
double pricel = Bid;
double sll = (pricel + 0.003);
for(i=OrdersTotal();i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if( OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumSell)
{
if(OrderType()==OP_SELL)
{
if(OrderStopLoss()==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),sll,OrderTakeProfit(),0,Red);
return;
}
}
}
}
}
w uzywanym EA po uruchomieniu na nowej wersji platformy pojawił się zaskakujący problem z którym walczę od paru dni i nie umię go wyjaśnić żadnym sposobem.
Modyfikując zlecenie krótkie po otwarciu celem postawienia SL-a nie uzyskuję żadanej wartości. Taki sam kod dla TP działa bez problemu.
Sprawdzałem czy czasem Point i Digits nie maja innych wartości , wyłaczyłem inne EA, sprawdziłem ile jestem w stanie i nic. Usuwałem NormalizeDouble i nic, i wstawialem ponownie.
W końcu wpisałem wartość SL-a w kodzie jaka ma byc dodana do ceny i też nic .To znaczy SL jest stawiany i owszem , ale wartości znacznie mniejszej .
hm, nie wiem czemu ale jak zrobilem
double pricel = Bid;
double sll = (pricel + 0.003)
double tpl = (pricel - 0.003)
.....
OrderModify(....,sll,tpl,...)
to zadzialalo,
problem rozwiazany