grzegrzyw pisze: 27 lis 2020, 22:36
Ja stosuję zapis: int ticket = OrderSend (Symbol(),........ Sprawdź jaki masz zapis w dzienniku.
To się robi w celu sprawdzenia błędu wykonania kodu, czyli ERROR.
Oczywiście, należy to zawsze robić.
MetaEditor też o tym przypomina przy kompilacji kodu.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
grzegrzyw pisze: 27 lis 2020, 22:36
Ja stosuję zapis: int ticket = OrderSend (Symbol(),........ Sprawdź jaki masz zapis w dzienniku.
Dzięki za odpowiedź i pomoc. Niestety wiedziałem o tym int ticket i stosowałem go wcześniej i nie dawało to żadnego rezultatu, a wolałem nie inicjować tej zmiennej bo nie wiedziałem po co to się robi i do czego służy akurat w tym wypadku.
Dzięki za odpowiedź i pomoc. Zastosowałem podpunkty 1 oraz 3 ale bez efektu. Co do podpunktu drugiego, jak można zastąpić ten znak (==)? Chodzi mi bardziej o to w jaki sposób dodać poślizg do tego aby wyłapywało większy zakres. Próbowałem również robić taki warunek ale również bez skutku:
int najwyzszaCena = iHighest(_Symbol,PERIOD_D1, MODE_HIGH, 10, 0);
double vask = MarketInfo(_Symbol, MODE_ASK);
if (vask==najwyzszaCena)
//zinicjalizowanie vask zamiast Ask
Zapis 'NormalizeDouble" nie jest w tym przypadku konieczny, Ask i Bid zawsze są "znormalizowane", zapis ten jest konieczny gdy cena jest odczytywana z jakiegoś wskaźnika lub np. wartości linii trendu itp.
Zapis 'NormalizeDouble" nie jest w tym przypadku konieczny, Ask i Bid zawsze są "znormalizowane", zapis ten jest konieczny gdy cena jest odczytywana z jakiegoś wskaźnika lub np. wartości linii trendu itp.
Nie chce mi się sprawdzać, ale to jest kalkulacja.
Trzeba by sprawdzić co wyrzuca Print.
Kodując, łatwiej jest z założenia wyrzucić kalkulację przed OrderSend() i ją znormalizować z założenia, żeby potem nie mieć problemu.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Zastosowałem również taki skrypt:
int najwyzszaCena = iHighest(_Symbol,PERIOD_D1, MODE_HIGH, 10, 0);
int najnizszaCena = iLowest(_Symbol, PERIOD_D1, MODE_LOW, 10, 0);
if(Ask>=najwyzszaCena)
{
//int ticketBuy = OrderSend
}
if(Bid<=najnizszaCena)
{
//int ticketSell = OrderSend
}
Niestety otwiera tylko pozycje krótkie i nie w minimach z 10 dni lecz w losowych miejscach, po zmianie znaków otwiera również pozycje długie lecz też nie w miejscach maximum.(pozycje krótkie również są otwierane - również nie we właściwych - losowych miejscach).
blashka pisze: 30 lis 2020, 19:57
Zastosowałem również taki skrypt:
int najwyzszaCena = iHighest(_Symbol,PERIOD_D1, MODE_HIGH, 10, 0);
int najnizszaCena = iLowest(_Symbol, PERIOD_D1, MODE_LOW, 10, 0);
if(Ask>=najwyzszaCena)
{
//int ticketBuy = OrderSend
}
if(Bid<=najnizszaCena)
{
//int ticketSell = OrderSend
}
Niestety otwiera tylko pozycje krótkie i nie w minimach z 10 dni lecz w losowych miejscach, po zmianie znaków otwiera również pozycje długie lecz też nie w miejscach maximum.(pozycje krótkie również są otwierane - również nie we właściwych - losowych miejscach).
Takie coś "//" powoduje, że dana linijka nie jest czytana.
To służy do wstawiania sobie komentarzy własnych, czy opisów.
Naucz się najpierw co-nieco, zanim zaczniesz pisać eksperty, bo to może cię słono kosztować!
Poza tym, to przy takim warunku będzie ci otwierać zawsze, gdy Ask>=najwyzszaCena.
Dopóki warunek jest spełniony, to ci będzie otwierać trady, do końca depo.
Jeżeli, np. chcesz otwierać tylko jedną pozycję, to musisz napisać kod, który będzie czytał ile pozycji jest otwartych.
No i warunek musi to uwzględniać.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Sorry mój błąd z tym //. Wiem że znak ten służy do wstawiania komentarzy. Po prostu nie chciałem kopiować całego skryptu i myślałem że to będzie dla Was bardziej czytelne (najwyraźniej się myliłem ). Generalnie ilość pozycji mam już policzoną i otwiera tylko jedną pozycję. Cały skrypt jest dużo bardziej rozbudowany i miałem problem tylko z tym zagadnieniem. Jeżeli to nie kłopot a ułatwi to interpretację mogę wstawić cały kod i na tej podstawie będziecie mogli mi jakoś pomóc rozwiązać ten beznadziejny problem. Pozdrawiam.