PDA

Zobacz pełną wersję : Strzałki? Alarmy



daysalavi
03-26-2007 05:28, 05:28
Jak to zrobić w mt4? Zaprogramowałem linię kodu tak, że gdy wystąpi pewien warunek, pojawi się Strzałka, ale strzałki pojawią się dla każdego taktu, dopóki nie wystąpi stan przeciwny. Jak sprawić, by strzałka dotyczyła tylko pierwszego taktu, gdy początkowo występuje warunek, a nie każdego kolejnego taktu? Po drugie, czy można zaprogramować alarm dźwiękowy dla tej strzałki i powiadomienia e-mail?

Oto kod strzałki: SetIndexStyle (1, DRAW_ARROW);
SetIndexArrow (1,233);

Tx
Thatchman

iresepgycho
08-19-2023 23:32, 23:32
Aby zapobiec ciągłym alarmom, sprawdź poprzednią wartość bufora. Jeśli nie jest ustawiony na EMPTY_VALUE (domyślam się, że nie zmodyfikowałeś wartości domyślnej), alertstrzałka zostały już rzucone i narysowane.

daysalavi
08-20-2023 00:53, 00:53
Tx za to. Próbowałem SetIndexBuffer (EMPTY_VALUE, AMAbuffer), ale to nie działa? Thatchman

iresepgycho
08-20-2023 02:14, 02:14
Przepraszam, źle zrozumiałeś. Używasz bufora w indeksie 1, aby narysować strzałki w prawo? Nie mogę powiedzieć, co wywołuje mała ilość napisanego kodu, ale załóżmy, że nazwałeś go buffer1 []; Wstawiony kod/ostrzega tylko wtedy, gdy nie ma alertu dla poprzedniego paska, jeśli (buffer1 # 91; 1 # 93; == EMPTY_VALUE) {//tutaj. } Ma sens?

paulapaola33
08-20-2023 03:35, 03:35
Tesla Doceniam twój czas, który może wydawać się głupim pytaniom, ale wciąż otrzymuję wszystkie strzały dla moich długich i krótkich sygnałów, kiedy chcę, aby strzały pojawiły się na pierwszym pasku, gdy to nastąpi./---- indiors SetIndexBuffer (1, IndiorLong); SetIndexStyle (1, IndiorLongSignal); SetIndexStyle (1, DRAW_ARROW, 0); if (IndiorLongSignal [1] == EMPTY_VALUE); SetIndexArrow (1,233); SetIndexBuffer (2, IndiorShort); SetIndexStyle (2, IndiorShortSignal); if (IndiorShortSignal [2] == EMPTY_VALUE); SetIndexStyle (2, DRAW_ARROW, 0); SetIndexArrow (2,234);
Jestem też całkiem nowy w tym zakresie, więc mogłem się mylić, ale wygląda na to, że ze średnikiem po instrukcji if nie będzie działać. Chciałem się też tego nauczyć.

daysalavi
08-20-2023 04:55, 04:55
Słuszna uwaga! LOL - teraz mam ciągłe krzyże na Long (choć 233 234 to strzały) i Solidną linię na krótkie! Mówi, że mam jeszcze trochę płonącego oleju!

iresepgycho
08-20-2023 06:16, 06:16
Chcesz tylko niebieską strzałkę, gdy MA się pojawi i czerwony, gdy MA się skończy? Wstawiony kod #property indior_chart_window #property indior_buffers 2 #property indior_color1 Niebieski # właściwość indior_color2 Czerwony zewnętrzny int MAPeriod = 21; extern int MAType = 3; extern int MAPrice = 2; extern int MAShift = 0;/---- bufory double bLongSignal # 91; # 93 ;; double bShortSignal # 91; # 93 ;; int init () {SetIndexBuffer (0, bLongSignal); SetIndexStyle (0, DRAW_ARROW, 0); SetIndexArrow (0,233); SetIndexBuffer (1, bShortSignal); SetIndexStyle (1, DRAW_ARROW, 0); SetIndexArrow (1234); return (0); } int start () {//Ustal, jak daleko wstecz do iteracji/Zawsze recalc ostatni pełny pasek int iBarsToCalc = Słupki - IndiorCounted (); if (iBarsToCalc lt; Bars) iBarsToCalc ; for (int i = iBarsToCalc-1; igt; = 0; i--) {double dMa0 = iMA (NULL, 0, MAPeriod, MAShift, MAType, MAPrice, i); podwójny dMa1 = iMA (NULL, 0, MAPeriod, MAShift, MAType, MAPrice, i 1); podwójny dMa2 = iMA (NULL, 0, MAPeriod, MAShift, MAType, MAPrice, i 2); if (dMa0; dMa1 dMa1 lt; = dMa2) bLongSignal # 91; i # 93; = dMa0; if (dMa0 lt; dMa1 dMa1 gt; = dMa2) bShortSignal # 91; i # 93; = dMa0; }}

daysalavi
08-20-2023 07:37, 07:37
Poprawny. Chciałbym dodać e-mail i alerty dźwiękowe, ale prawdopodobnie udałoby mi się to zrobić, gdybym mógł dostać strzały w prawo!

paulapaola33
08-20-2023 08:58, 08:58
Poprawny. Chciałbym dodać e-mail i alerty dźwiękowe, ale prawdopodobnie udałoby mi się to zrobić, gdybym mógł dostać strzały w prawo!
Że mogę ci pomóc.////extern bool EmailAlert; extern bool SoundON;///if (--- conditions ----) {Alert (short setup on, Symbol (),, Period (), min); if (EmailAlert == true) SendMail (Wiersz tematu, Krótki setup na (StringConenate (Symbol (),, Okres ()))); if (SoundON == true) PlaySound (alert2.wav); }

paulapaola33
08-20-2023 10:18, 10:18
Chcesz tylko niebieską strzałkę, gdy MA się pojawi i czerwony, gdy MA się skończy?
Dzięki, Tesla, jesteś świetny!

daysalavi
08-20-2023 11:39, 11:39
To kodowanie alarmowe jest doskonałe, ponieważ w większości miałem go, ale wypełniłeś luki. Pozostaje pytanie, jak zidentyfikować pierwszy pasek, gdy wystąpi warunek, aby alertye-maile pojawiły się tylko na tym pasku a nie każdy kolejny pasek? Może nie możesz tego zrobić w mt4? Nasze nie ma powodu, dlaczego ...

paulapaola33
08-20-2023 13:00, 13:00
To kodowanie alarmowe jest doskonałe, ponieważ w większości miałem go, ale wypełniłeś luki. Pozostaje pytanie, jak zidentyfikować pierwszy pasek, gdy wystąpi warunek, aby alertye-maile pojawiły się tylko na tym pasku a nie każdy kolejny pasek? Może nie możesz tego zrobić w mt4? Nasze nie ma powodu, dlaczego ...
Jestem pewien, że można to zrobić, widziałem, że to robią. Czy próbowałeś kodu Tesli?

daysalavi
08-20-2023 14:21, 14:21
Musi to być możliwe, ale jestem przeklęty, jeśli zdołam dowiedzieć się, jak mt4 może mieć swoje ograniczenia, ale nie sądzę, żeby to był jeden z nich. Ograniczenia są najprawdopodobniej gdzieś w mojej zdolności kodowania! Stanowiska Tesli miały sens, ale nie miały znaczenia. Miłego weekendu!