OrderModify (ECN)
Pokaż wyniki od 1 do 9 z 9

Wątek: OrderModify (ECN)

  1. #1
    Po prostu mam problem z wymyśleniem najlepszego sposobu użycia OrderModify w brokerze ECN.

    Zasadniczo składam zamówienie w pierwszej kolejności:
    ticket = OrderSend (Symbol (), OP_BUY, Partie, Pytaj, Poślizg, 0,0, Test EA, 16384,0, Zielony);

    Następnie następna linia ma:
    OrderModify (ticket, OrderOpenPrice (), Ask-Point * StopLoss, Ask Point * TakeProfit, 0, Green);

    Jeśli jednak rynek porusza się szybko, takeprofit i stoploss nie zostaną umieszczone względem pozycji wejścia, ale zostaną zastosowane do zapytania w momencie modyfikacji.

    Próbowałem następujące:
    OrderModify (ticket, OrderOpenPrice (), OrderOpenPrice () - Point * StopLoss, OrderOpenPrice () Point * TakeProfit, 0, Green);

    Jednak powoduje to błąd w konsoli i nie przyjmuje zlecenia modyfikacji.

    Jakieś pomysły? Dzięki!

  2. #2
    OrderModify (ticket, 0, OrderOpenPrice () - Point * StopLoss, OrderOpenPrice () Poi nt * TakeProfit, 0, CLR_NONE); Użyta metoda OpenPrice () może być wykorzystana tylko w przypadku oczekujących zamówień. (Nie mogę zmienić OpenPrice zlecenia rynkowego) - Również zauważam, że włożyłeś tam Green'a - Czy naprawdę chcesz zobaczyć, kiedy nastąpiła modyfikacja? Nadpisze NEWOrder Arrow.

  3. #3
    Nie jestem pewien, czy byłam całkowicie jasna. Zasadniczo po linii OrderSend natychmiast następuje OrderModify, ponieważ ECN, którego używam, nie pozwala ustawić SL TP w tej samej linii. Tak więc, gdy rynek porusza się szybko, ustawia SL TP w stosunku do przesuniętej ceny zapytań zamiast ceny otwartej. Chcę ustawić SL TP w stosunku do rzeczywistej ceny otwarcia zlecenia, stąd dlaczego używałem OrderOpenPrice () w linii OrderModify. OrderModify jest zdefiniowany jako: bool OrderModify (int ticket, double price, double stoploss, double takeprofit, data ważności, kolor arrow_color = CLR_NONE), więc powinienem mieć: OrderModify (ticket, OrderOpenPrice (), lt; lt; stoploss względem zamówienia open pricegt; gt ;, lt; lt; takeprofit względem zlecenia open pricegt; gt ;, 0, CLR_NONE) Co chcę wiedzieć, co powinienem użyć między tymi lt; lt; gt; gt; w tej linii

  4. #4
    Znów ... Problem dotyczy FIRST OpenPlac () (TYLKO Zlecenia oczekujące umożliwiają zmianę OpenPrice). Mam kod zgodny z ECN - tutaj działający fragment: OrderModify (bilet, 0, NormalizeDouble (OrderOpenPrice () (StopLoss * Point), cyfry), 0,0, CLR_NONE); Również jeśli użyłeś OrderSelect () OrderOpenPrice () nie ma wartości ... - Możesz zrobić askprice = Ask; NASTĘPNIE wykonuj swój OrderSend i OrderModify, korzystając z opcji Variable askprice. double askprice = Zapytaj; ticket = OrderSend (Symbol (), OP_BUY, Lo ts, askprice, Poślizg, 0,0, Test EA, 16384,0, Zielony);/bool xbool = OrderSelect (bilet, SELECT_BY_TICKET); - opcjonalne w tym przykładzie OrderModify (ticket, 0, askprice-Point * StopLoss, askprice Point * TakeProfit, 0, CLR_NONE); gdybyś użył funkcji OrderSelect (), możesz użyć OpenOrderPrice () - NIE jest to wymagane w powyższym przykładzie.

  5. #5
    Ach, powodem, dla którego cię zapytałem jest to, że podczas uruchamiania EA na żywo konto akceptuje OrderModify z pierwszym OrderOpenPrice (), ale nie, jeśli użyłem go do określenia TP SL. Będę używał twojej sugestii, dzięki!

  6. #6
    Och ... ale czy możesz to zrobić dla OrderSend? Jeśli cena Ask zmienia się między przypisaniem podwójnej wartości a realizacją OrderSend, czy nie odrzuci zamówienia?

  7. #7
    Ach, poczekaj, widzę ... Idealnie powinienem użyć OrderSelect, rozumiem. Tak zrobię ... westchnienie

  8. #8
    ticket = OrderSend (Symbol (), OP_BUY, Lo ts, askprice, Poślizg, 0,0, Test EA, 16384,0, Zielony); bool xbool = OrderSelect (bilet, SELECT_BY_TICKET); OrderModify (ticket, 0, OrderOpenPrice () - Point * StopLoss, OrderOpenPrice () Point * TakeP rofit, 0, CLR_NONE); Tak, jeśli używasz OrderSelect (), możesz zrobić to tak, jak zamierzałeś (nie próbując modyfikować ceny istniejącego zamówienia) - Nie musisz się też martwić o zmianę ceny. Te polecenia są wykonywane w milisekundach. Rzeczywiście możesz zrobić całkiem sporo między wypowiedziami bez zmartwień.

  9. #9

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Używamy cookies
Używamy cookies, aby jak najlepiej dostosować witrynę do Twoich potrzeb. Kontynuowanie przeglądania tej strony, oznacza zgodę na używanie plików cookies. Aby uzyskać więcej informacji zapoznaj się z naszą Polityką Prywatności.