Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
uzin2
Gaduła
Gaduła
Posty: 184
Rejestracja: 01 lip 2009, 13:38

Nieprzeczytany post autor: uzin2 »

witam, mam kawalek kodu ktory sprawdza otwarte zlecenie, wynik mamy w pipsach, mam pytanie jak go zmienic aby wynikiem bylo TP lub SL zlecenia?

teraz dziala to mniej wiecej tak: sprawdz zlecenie---jesli zysk/strata zdefiniowana przez nas zgadza sie ---- wykonaj ....

mi chodzi o to aby kod sprwdzal tp/sl czyli cos takiego: sprawdz zlecenie---jesli okreslone zlecenie jest na tp/sl --- wykonaj...

Kod: Zaznacz cały

double profit = 0;
for (int i=OrdersTotal()-1; i >= 0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
    if (~AllOrderTypes~ || (OrderType() == ~OrderType~ && OrderSymbol() == Symbol() && OrderMagicNumber() == ~OrderId~))
    {
        profit += OrderProfit();
    }
}
else
{
    Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}
}

if (profit ~CompareAmount~ ~Amount~)
{
    ~next~
}

IndyInwes
Stały bywalec
Stały bywalec
Posty: 80
Rejestracja: 30 gru 2011, 22:13

Nieprzeczytany post autor: IndyInwes »

*Input the number of periods back from the current bar(ex. Current = 0, Previous = 1, ...).
Co to ma znaczyć?
http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/

Stworzyłem swoje pierwsze Ea, pięknie się wczytało - podobno działa ale nie otwiera zadnych pozycji :D

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

IndyInwes pisze:*Input the number of periods back from the current bar(ex. Current = 0, Previous = 1, ...).
Co to ma znaczyć?
ile świec do tyłu..
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

IndyInwes
Stały bywalec
Stały bywalec
Posty: 80
Rejestracja: 30 gru 2011, 22:13

Nieprzeczytany post autor: IndyInwes »

Tig3r pisze:
IndyInwes pisze:*Input the number of periods back from the current bar(ex. Current = 0, Previous = 1, ...).
Co to ma znaczyć?
ile świec do tyłu..
Dzięki wielkie, to duzo wyjąsnia, powoli zaczynam chyba łapąc o co w tym wszystkim biega :D
Moje pierwsze EA juz działa! :DJestem szczęsliwy ;P

Ribelo
Stały bywalec
Stały bywalec
Posty: 44
Rejestracja: 18 lut 2010, 20:28

Nieprzeczytany post autor: Ribelo »

Jak zrobić histogram nie zaczynający się od zera? Chcę swobodnie przecinać histogramem linię zero a nie chcę robić tego wykorzystując dodatkowe IndexBuffer.

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31

Nieprzeczytany post autor: siersciuch »

Witam
Wyskakuje mi error 130. Gdzie tu jest bład bo znaleśc nie moge.
Niewiem czy nie pomieszałem coś z Ask lub Bid.


Kod: Zaznacz cały

short1 = OrderSend(Symbol(),OP_SELL,lot,Bid,2,Bid+15*Point,Ask-40*Point);


------------------------------------------


void BE_short1()
{
   if(OrderSelect(short1, SELECT_BY_TICKET)==true)
   {
      if(OrderCloseTime()==0)  
      {
          if(OrderOpenPrice()<Ask+5*Point && OrderStopLoss() != OrderOpenPrice())  
          {
          OrderModify(short1,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),OrderExpiration(),CLR_NONE);
          }}}} 
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

mabe
Gaduła
Gaduła
Posty: 328
Rejestracja: 07 lip 2011, 23:27

Nieprzeczytany post autor: mabe »

Jak chcesz mieć w logach wypisane opis kodu błędu to doklej do kodu

#include <stderror.mqh>
#include <stdlib.mqh>

I przy błędzie wypisuj sobie coś w stylu

Print("OrderDelete failed with error: " +
ErrorDescription(GetLastError()) + " [ticket=" + ticket + "]");
Jeśli będziesz ciężko pracował nad swoim zajęciem, zarobisz na życie.
Jeśli będziesz ciężko pracował nad sobą, zarobisz fortunę. (Jim Rohn)

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

siersciuch pisze:Witam
Wyskakuje mi error 130. Gdzie tu jest bład bo znaleśc nie moge.
OrderOpenPrice()<Ask+5*Point

musisz stosować zaokrąglenia

Kod: Zaznacz cały

NormalizeDouble(OrderOpenPrice()<Ask+5*Point, Digits);
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

forexsowicz91
Pasjonat
Pasjonat
Posty: 504
Rejestracja: 25 lis 2011, 17:55

Nieprzeczytany post autor: forexsowicz91 »

mam pytanie, jak otworzyć pliki które są do pobrania o kursie programowania przetłumaczone na polski język (w drugim wątku przyklejonym o kompletnym kursie...), pobrałem Winrar do czytania plików typu .rar ale wciąż nie chce mi czytać.. jak to rozkminić?

Awatar użytkownika
mikolaj2
Gaduła
Gaduła
Posty: 231
Rejestracja: 04 maja 2011, 14:37

Nieprzeczytany post autor: mikolaj2 »

Zamiast używać WinRara na licencji shareware skorzystaj z darmowego 7-zip-a - poradził sobie ze wspomnianymi archiwami

ODPOWIEDZ