Mam zadanie kodu, pomóż proszę :)
Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki od 1 do 10 z 14

Wątek: Mam zadanie kodu, pomóż proszę :)

  1. #1
    1 Załącznik (y) Witam wszystkich pro programistów,
    Im Phong nowicjusz do MQL4. Uczę się

    Problem polega na tym, że próbuję zakodować prostą poziomą linię na głównym oknie. Otrzyma ona wartość z właściwości wejściowych, gdy pojawi się znacznik, kod sprawdzi, czy przesunę linię do nowej pozycji, otrzymam nową wartość. Więc kiedy zmienię timframe, linia pozioma nie będzie już ustawiona jako wartość wejściowa, powinna być utrzymywana na nową wartość.
    Czy ktokolwiek mógłby mi pokazać pomysły na zrobienie tego! lub Funkcje do badańkody ... ???
    Proste linie kodu próbują ...:

    Była bym bardzo wdzięczna

    Dziękuje wszystkim
    Phong,
    Dzielenie się jest dbaniem o innych!


  2. #2
    Cytat Zamieszczone przez ;
    Powinno to zrobić .../ ---------------------------------------- -------------------------- /| Phong.mq4 |/ ----------------------------------------------- ------------------- #property copyright Mn #property strict #property indior_chart_window extern double mLevel = 1.3200;/Poziom wyjściowy extern int mLineWidth = 2;/Szerokość linii kolor zewnętrzny mCol1 = clrBlue;/Kolor linii extern bool mDel = false;/Usuń linię przy wyjściu/ ----------------------------------------- ------------------------- int init () {jeśli (ObjectFind (LevelLine) == ...
    Dzięki futurespec! jesteś bardzo miły, widzę, że próbujesz nauczyć mnie więcej kodu, niż potrzebuję
    )! Właśnie nauczyłem się MQL4 z niczego przez kilka dni, aby zrobić mój własny prosty alarm
    . z twoją pomocą, mogę teraz zrobić to całkiem fajnie! szczęśliwy przyjaciel handlowy!

  3. #3
    Cytat Zamieszczone przez ;
    Cześć wszystkim pro programistom, Im Phong nowicjuszowi do MQL4. Uczę się
    Problem polega na tym, że próbuję zakodować prostą poziomą linię na głównym oknie. Otrzyma ona wartość z właściwości wejściowych, gdy pojawi się znacznik, kod sprawdzi, czy przesunę linię do nowej pozycji, otrzymam nową wartość. Więc kiedy zmienię timframe, linia pozioma nie będzie już ustawiona jako wartość wejściowa, powinna być utrzymywana na nową wartość. Czy ktokolwiek mógłby mi pokazać pomysły na zrobienie tego! lub Funkcje do badańkody ... ??? Proste linie kodu próbuję ...:Byłbym bardzo wdzięczny
    Dzięki...
    Usuwasz linię przy deinit ... więc za każdym razem, gdy przełączasz TF, indior musi przerysować go od zera. Więc zamień swoją funkcję deinit na poniższe: Wstawiony kod void OnDeinit (const int reason) {if (powód == REASON_REMOVE || reason == REASON_PARAMETERS || reason == REASON_RECOMPILE) ObjectsDelete (0, LevelLine); } A także dodaj następujące elementy przed utworzeniem obiektu: Wstawiony kod, jeśli (ObjectsFind (0, LevelLine) == -1)

  4. #4
    1 Załączniki To powinno zrobić ... Wstawiony kod/ --------------------------------- --------------------------------- /| Phong.mq4 |/ ----------------------------------------------- ------------------- #property copyright Mn #property strict #property indior_chart_window extern double mLevel = 1.3200;/Poziom wyjściowy extern int mLineWidth = 2;/Szerokość linii kolor zewnętrzny mCol1 = clrBlue;/Kolor linii extern bool mDel = false;/Usuń linię przy wyjściu/ ----------------------------------------- ------------------------- int init () {jeśli (ObjectFind (LevelLine) == -1) DrawLines (mLevel); return (0); }/ ---------------------------------------------- -------------------- void OnDeinit (const int mReason) {if (mReason! = REASON_CHARTCHANGE) ObjectDelete (LevelLine); Komentarz( ); powrót; }/ ---------------------------------------------- -------------------- int start () {double mNew = ObjectGet (LevelLine, OBJPROP_PRICE1); jeśli (mNew! = mLevel) Comment (New level =, DoubleToStr (mNew, Cyfry)); return (0); }/ ---------------------------------------------- -------------------- void DrawLines (double mLvl) {ObjectCreate (LevelLine, OBJ_HLINE, 0, 0, 0, 0, 0); ObjectSet (LevelLine, OBJPROP_STYLE, STYLE_SOLID); ObjectSet (LevelLine, OBJPROP_COLOR, mCol1); ObjectSet (LevelLine, OBJPROP_WIDTH, mLineWidth); ObjectSet (LevelLine, OBJPROP_BACK, true); ObjectSet (LevelLine, OBJPROP_SELECTED, true); ObjectSet (LevelLine, OBJPROP_PRICE1, mLvl); powrót; }/ ---------------------------------------------- --------------------------------------------- Dobrze zrobione za próbowanie zrobić swój własny kod, utrzymuj go. M.
    https://www.forex-instant.com/attach...5528713591.mq4

  5. #5
    Cytat Zamieszczone przez ;
    {quote} Usuwasz linię przy deinit ... więc za każdym razem, gdy przełączasz TF, indior musi przerysować go od zera. Więc zamień swoją funkcję deinit na: void OnDeinit (const int reason) {if (reason == REASON_REMOVE || reason == REASON_PARAMETERS || reason == REASON_RECOMPILE) ObjectsDelete (0, LevelLine); } A także dodaj następujące elementy przed utworzeniem obiektu: if (ObjectsFind (0, LevelLine) == -1)
    Wspaniały! dokładnie to, czego potrzebuję
    ). Dziękuję bardzo, życzę miłego dnia!

  6. #6
    Zadowolony, pomógł.
    Próbuj i eksperymentuj, a będziesz zaskoczony, co możesz osiągnąć. Nie lękajcie się, jest mało prawdopodobne, aby cokolwiek złamać. Powodzenia, M.

  7. #7
    Cytat Zamieszczone przez ;
    {quote} Świetnie! dokładnie to, czego potrzebuję
    ). Dziękuję bardzo, życzę miłego dnia!

  8. #8
    Cytat Zamieszczone przez ;
    Zadowolony, pomógł.
    Próbuj i eksperymentuj, a będziesz zaskoczony, co możesz osiągnąć. Nie lękajcie się, jest mało prawdopodobne, aby cokolwiek złamać. Powodzenia, M.
    Cześć futurespec, wydaje się, że uderzyłem w mur! :/Czy mógłbyś mi pomóc! Zauważyłem, że globalna zmienna, którą zadeklarowałem (poniżej to lastalert), przechowuje dane sklepu przez cały okres eksploatacji. za każdym razem, gdy zmieniam ramkę czasową wykresu, zostanie ona ustawiona jako domyślna, więc nie mogę użyć poprzednich danych, które zapisałem w zmiennej lastalert. Czy istnieje sposób przechowywania danych przez całą operację dane nie zostaną zresetowane jako domyślne do usunięcia indior ??? Oto kody opisujące problem: ------------------------------ #property strict #property indior_chart_window extern bool Indior_On = true; extern double mlevel; datetime lastalert; int OnInit () {return (INIT_SUCCEEDED); } int start () {if ((Bid gt; sexvel) (mlevelgt; 0)) {if ((TimeCurrent () - lastalert) gt; = 10 * 60)/następny alert na gt; = 10 min. od poprzedniego jeden. PlaySound (alert.wav); lastalert = TimeCurrent (); Komentarz (Last Alert at (string) lastalert - Cena jest powyżej poziomu (ciąg) młodzievel); } return (0); }

  9. #9
    Cytat Zamieszczone przez ;
    {zacytować}
    Hej, mistrzu, jak się masz?
    Mam problem z moim kodem dla Alertu! Czy możesz rzucić trochę światła na to? Czy istnieje sposób przechowywania danych przez całą operację dane nie zostaną zresetowane jako domyślne do usunięcia indior ??? ... Z góry dziękuję!

  10. #10

    Cytat Zamieszczone przez ;
    {quote} Czy jest jakiś sposób przechowywania danych przez całą operację dane nie zostaną zresetowane jako domyślne do usunięcia indior ???
    Cześć, spójrz na zmienne globalne. Zapisz wartość jako zmienną globalną i przeczytaj na każdym Init (). Usuń zmienną podczas usuwania indioru. GlobalVarialSet () GlobalVariablGet () itp. Pozdrawiam

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.