Hozzászólások
-
SzerzőBejegyzés
-
Hozzászólás: megbízások zárása, módosítása #1635
A segítséged után a következőképpen korigáltam:
1. eset:
for(i=1;i<=OrdersTotal();i++)
{
if(OrderSelect(i-1,SELECT_BY_POS))
{
H1_buy_a=OrderTicket();
if(OrderComment()=="H1_buy_a")
{
if (TS < Min_Dist)
TS=Min_Dist;
{
if (NormalizeDouble(SL,Digits)< // If it is lower than we want
NormalizeDouble(Bid-TS*Point,Digits))
{
SL=Bid-TS*Point;
OrderModify(H1_buy_a,lots,SL,TP,Expiration);
}
}
}
}
}
2. eset:
for(i=2;i<=OrdersTotal();i++)
{
if(OrderSelect(i-1,SELECT_BY_POS))
{
H1_buy_b=OrderTicket();
if(OrderComment()=="H1_buy_b")
{
if (TS < Min_Dist)
TS=Min_Dist;
{
if (NormalizeDouble(SL,Digits)< // If it is lower than we want
NormalizeDouble(Bid-TS*Point,Digits))
{
SL=Bid-TS*Point;
OrderModify(H1_buy_b,lots,SL,TP,Expiration);
}
}
}
}
}
A kérdésem az ,hogyha egyszerre több cahrton működik a robot akkor több pozíció is létrejöhet egyszerre, akkor hogyan lehetne a megbízásokat külön külön kezelni?
Mert ugye azt nem lehet előre tudni, hogy milyen sorrendben jönnek létre a pozíciók. (Pl:. EUR-USD én léterjön az első pozi "H1_buy_a" néven, utána létre jön a második pozi de az nem a" H1_buy_b" nevű lessz hanem egy NZD-USD charton létrejövő pozi amit "NZDUSD_H1_buy_a"-nak nevezek el és majd csak ezután jön létre az EUR-USD-én a "H1_buy_b" nevű pozi.) Erre nem tudok praktikus megoldást találni:
for(i=?;i<=OrdersTotal();i++)
{
if(OrderSelect(i-?,SELECT_BY_POS))
{Segítségedet előre is köszönöm!
Hozzászólás: megbízások zárása, módosítása #1630Hello Radu!
A Problémám a következő: pl:. H1-es charton van 2 db (H1_buy_a és H1_buy_b nevű) pozícióm és azt szeretném ha az ordermodify külön külön kezelné a 2 pozíciót.
Így próbáltam megoldani de sajnos nem jó mert mindig csak egyik pozíciót kezeli.(szerintem H1_buy_a=orderticket() -miatt.)
pl:.H1_buy_a
for(i=0;i<H1_buy_a;i++)
{
if(OrderSelect(i,SELECT_BY_POS))
{
H1_buy_a=OrderTicket();
if (TS < Min_Dist)
TS=Min_Dist;
{
if (NormalizeDouble(SL,Digits)< // If it is lower than we want
NormalizeDouble(Bid-TS*Point,Digits))
{
SL=Bid-TS*Point;
OrderModify(H1_buy_a,lots,SL,TP,Expiration);
}
}
}
}
pl:.H1_buy_b
for(i=0;i<H1_buy_b;i++)
{
if(OrderSelect(i,SELECT_BY_POS))
{
H1_buy_b=OrderTicket();
if (TS < Min_Dist)
TS=Min_Dist;
{
if (NormalizeDouble(SL,Digits)< // If it is lower than we want
NormalizeDouble(Bid-TS*Point,Digits))
{
SL=Bid-TS*Point;
OrderModify(H1_buy_b,lots,SL,TP,Expiration);
}
}
}
}
Tehát amikor a második H1_buy_b nevű pzíció létrejön akkor a H1_buy_a nevű pozíciót nem kezeli.
Volt rá példa amikor egy másik charton lévő pozíció kavart be, hiába adtam neki más nevet.Segítségedet előre is köszönöm.
Hozzászólás: megbízások zárása, módosítása #1529Bocsi elírtam véletlen az egyik részét pontosítok.
buy1=OrderSend(Symbol(),OP_BUY,lots,Ask,3,Ask-80*Point,Ask+140*Point);
for(buy1=0;buy1<total;buy1++)
{
OrderSelect(buy1, SELECT_BY_POS, MODE_TRADES);
{
if(OrderType()==OP_BUY) // long position is opened
{
if(Close[A_bars] && test_B<0.0001)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Yellow); // így mind a hármat bezárja.
OrderClose(buy1,Lots,Bid,3,Yellow); // így pedig nem csinál semmit.
}
}
}
}Hozzászólás: EA model beállítás #1527Köszönöm a segítségedet!
-
SzerzőBejegyzés