Hozzászólások

4 bejegyzés megtekintése - 16-19 / 19
  • Szerző
    Bejegyzés
  • káROBOTi
    Tag
    Bejegyzések száma: 28

    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!

    káROBOTi
    Tag
    Bejegyzések száma: 28

    Hello 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.

    káROBOTi
    Tag
    Bejegyzések száma: 28

    Bocsi 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.
    }
    }
    }
    }

    káROBOTi
    Tag
    Bejegyzések száma: 28
    Hozzászólás: EA model beállítás #1527

    Köszönöm a segítségedet!

4 bejegyzés megtekintése - 16-19 / 19