Jak uzyskać zmienną liczbę pipsów netto ze wszystkich otwartych aktywnych zamówień?
Pokaż wyniki od 1 do 7 z 7

Wątek: Jak uzyskać zmienną liczbę pipsów netto ze wszystkich otwartych aktywnych zamówień?

  1. #1
    Cześć, jak uzyskać liczbę pipsów netto ze wszystkich otwartych zamówień znajdujących się obecnie w terminalu w mql4?

  2. #2
    Cytat Zamieszczone przez ;
    {quote} OrderSelect to wartość logiczna, więc „==1” nie jest potrzebne. Pomnóż przez 0,1, aby zamienić punkty na pipsy. A wspornik nie jest potrzebny, jeśli podąża za nim tylko jedna rzecz. Zawsze też odliczaj swoje zamówienia. Ale tak, miałem kilka literówek
    robię to na moim telefonie. Właśnie go edytowałem.
    ok, to właściwie nie działało.. z jakiegoś powodu zawsze wyświetlało się 35.xx, chociaż wiem, że to nie jest prawidłowa liczba pływających pipsów.

  3. #3

  4. #4
    Cytat Zamieszczone przez ;
    {cytat} dlaczego mnożysz sumę przez 0,1? a co z twoimi nawiasami wydaje się, że brakuje ich w pętli for? Oto moja próba.... double calcNetPips() { double sum=0; for(int i=0; ilt;OrdersTotal; i ) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == 1) { RefreshRates(); if(OrderType==0) sum =Bid-OrderOpenPrice(); else sum =OrderOpenPrice()-Zapytaj; } } Zwróć sumę*=0,1; }
    OrderSelect to wartość logiczna, więc #8220;==1#8221; jest#8217;nie jest potrzebny. Pomnóż przez 0,1, aby zamienić punkty na pipsy. A wspornik nie jest potrzebny, jeśli podąża za nim tylko jedna rzecz. Zawsze też odliczaj swoje zamówienia. Ale tak, miałem kilka literówek
    robię to na moim telefonie. Właśnie go edytowałem.

  5. #5

    Cytat Zamieszczone przez ;
    Cześć, jak uzyskać liczbę pipsów netto ze wszystkich otwartych zamówień znajdujących się obecnie w terminalu w mql4?
    Coś takiego: Wstawiony kod double sum=0; for(int o=OrdersTotal()-1;ogt;=0;o#8212 if(OrderSelect(o,SELECT_BY_POS,MODE_TRADES){ RefreshRates(); if(OrderType()==0)sum =Bid-OrderOpenPrice (); if(OrderType())sum =OrderOpenPrice()-Ask;} sum*=0.1; Print(#8220;Order Pip Sum=#8220; (string)sum);

  6. #6

    Cytat Zamieszczone przez ;
    {cytat} Coś takiego: podwójna suma=0; for(int o=OrdersTotal()-1;ogt;=0;o#8212 if(OrderSelect(o,SELECT_BY_POS,MODE_TRADES){ RefreshRates(); if(OrderType==0)sum =Bid-OrderOpenPrice() if(OrderType)sum =OrderOpenPrice()-Ask;} sum*=0.1; Print(#8220;Order Pip Sum=#8220; (string)sum);
    dlaczego mnożysz sumę przez 0,1? a co z twoimi nawiasami wydaje się, że brakuje ich w pętli for? Oto moja próba.... Wstawiony kod double calcNetPips() { double sum=0; for(int i=0; ilt;OrdersTotal; i ) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == 1) { RefreshRates(); if(OrderType==0) sum =Bid-OrderOpenPrice(); else sum =OrderOpenPrice()-Zapytaj; } } Zwróć sumę*=0,1; }

  7. #7

    Cytat Zamieszczone przez ;
    {cytat} ok, to właściwie nie zadziałało. Z jakiegoś powodu zawsze wyświetlało się 35.xx, chociaż wiem, że nie jest to prawidłowa liczba pływających pipsów.
    Czy użyłeś swojego kodu, szczególnie #8220;else#8221;? Jeśli używasz #8220;else#8221; następujące #8220;if(OrderType()==0)#8221; wówczas w sumie uwzględni również zlecenia oczekujące. Wstawiony kod if(OrderType()==0)//zamówienie rynkowe kupna else {}//wszystkie inne zamówienia rynek oczekujące I#8217;nie jestem pewien, czy to jest twój problem, ale jeśli tak, musisz wyraźnie określić typ zamówienia indywidualnie. Wstawiony kod if(OrderType()==0)/kupić zlecenie rynkowe if(OrderType()==1)//sprzedać zlecenie rynkowe także if(OrderType())//zlecenie rynkowe sprzedać/może również używać warunków wyliczenia :/OP_BUY=0,OP_SELL=1 if(OrderType()==OP_BUY) if(OrderType()==OP_SELL) Również nie możesz zwrócić przypisania, więc: return sum*=0.1; nie będzie działać; należy najpierw wykonać mnożenie, a następnie zwrócić wartość: Wstawiona suma kodu*=0,1; suma zwrotu;/lub zwróć sumę*0.1;

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.