Wszystkie pytania dozwolone początkujących programistów
Re: Wszystkie pytania dozwolone początkujących programistów
Niestety to już próbowałem i nie pomaga.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
A to nie powinno być tak, przypadkiem?
Kod: Zaznacz cały
double PoziomMAX =High[iHighest(NULL,0,MODE_HIGH,iBarEnd-iBarBegin+1,iBarBegin)];
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
Re: Wszystkie pytania dozwolone początkujących programistów
To nie to. Obliczenie samo w sobie działa poprawnie. Zarówno na testerze jak i na koncie rzeczywistym. Problem pojawia się tylko w momencie, gdy chcę na sztywno zmienić w kodzie zamiast 0 na PERIOD_M1.ninjaproject pisze: ↑22 lis 2021, 20:54A to nie powinno być tak, przypadkiem?Kod: Zaznacz cały
double PoziomMAX =High[iHighest(NULL,0,MODE_HIGH,iBarEnd-iBarBegin+1,iBarBegin)];
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
A, to chyba wiem!Szymon_P pisze: ↑22 lis 2021, 21:32To nie to. Obliczenie samo w sobie działa poprawnie. Zarówno na testerze jak i na koncie rzeczywistym. Problem pojawia się tylko w momencie, gdy chcę na sztywno zmienić w kodzie zamiast 0 na PERIOD_M1.ninjaproject pisze: ↑22 lis 2021, 20:54A to nie powinno być tak, przypadkiem?Kod: Zaznacz cały
double PoziomMAX =High[iHighest(NULL,0,MODE_HIGH,iBarEnd-iBarBegin+1,iBarBegin)];
No bo gdy chcesz stosować sztywny TF, to nie możesz szukać High[iHighest()], tylko iHigh(_Symbol,PERIOD_M1,iHighest());
High[] jest odnośnie tego interwału, na którym jest wykres obecnie.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
Re: Wszystkie pytania dozwolone początkujących programistów
To jest to!!! Działa prawidłowo. Dzięki!!!ninjaproject pisze: ↑22 lis 2021, 20:54
A, to chyba wiem!
No bo gdy chcesz stosować sztywny TF, to nie możesz szukać High[iHighest()], tylko iHigh(_Symbol,PERIOD_M1,iHighest());
High[] jest odnośnie tego interwału, na którym jest wykres obecnie.
Re: Wszystkie pytania dozwolone początkujących programistów
Cześć coderzy
A ja mam taki mały problemik. Chcę ustawić sobie stoploss na 10 pipsów, ale wyskakuje mi OrderSend error 130.. wiadomo o co chodzi, przy podwojeniu wartości sl wszystko działa jak należy.
Jednak sprawdzam wartość minimalną jaką mogę ustawić dzięki funkcji i argumentom MarketInfo(Symbol(), MODE_FREEZELEVEL);
Wartość wynosi 0.0, czyli na mój tok rozumowania wychodzi na to, że żaden limit tu nie obowiązuje. Można to w jakiś inny sposób rozwiązać i ominąć te śmieszne restrykcje ? Próbowałem z OrderModify(), oraz OrderClose() i błąd ten sam.
A ja mam taki mały problemik. Chcę ustawić sobie stoploss na 10 pipsów, ale wyskakuje mi OrderSend error 130.. wiadomo o co chodzi, przy podwojeniu wartości sl wszystko działa jak należy.
Jednak sprawdzam wartość minimalną jaką mogę ustawić dzięki funkcji i argumentom MarketInfo(Symbol(), MODE_FREEZELEVEL);
Wartość wynosi 0.0, czyli na mój tok rozumowania wychodzi na to, że żaden limit tu nie obowiązuje. Można to w jakiś inny sposób rozwiązać i ominąć te śmieszne restrykcje ? Próbowałem z OrderModify(), oraz OrderClose() i błąd ten sam.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
Ten error nie wynika z powodu restrykcji, skoro broker ma STOPLEVEL = 0.sob-forex pisze: ↑27 lis 2021, 00:16Cześć coderzy
A ja mam taki mały problemik. Chcę ustawić sobie stoploss na 10 pipsów, ale wyskakuje mi OrderSend error 130.. wiadomo o co chodzi, przy podwojeniu wartości sl wszystko działa jak należy.
Jednak sprawdzam wartość minimalną jaką mogę ustawić dzięki funkcji i argumentom MarketInfo(Symbol(), MODE_FREEZELEVEL);
Wartość wynosi 0.0, czyli na mój tok rozumowania wychodzi na to, że żaden limit tu nie obowiązuje. Można to w jakiś inny sposób rozwiązać i ominąć te śmieszne restrykcje ? Próbowałem z OrderModify(), oraz OrderClose() i błąd ten sam.
Ty masz jakiś błąd w kodzie.
Stawiam na to, że masz błędnie obliczone punkty/pipsy.
10 pipsów dla Forex = 100 points.
Ale już dla CFD_Index może być inaczej, i nie ma na to reguły.
Może występować przypadek, kiedy EA ci wysyła zlecenie z SL = 1 pips, albo nawet 0.1 pips, a cena się poruszy na tyle, że wyskoczy error 130. Albo, dla zlecenia OP_SELL, spread > SL.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
Re: Wszystkie pytania dozwolone początkujących programistów
Głównym instrumentem na którym EA będzie pracować to para walutowa GBP/USD i z reguły SL i TP obliczam w ten sposób, przyjmując, że instrument ma system kwotowania na 5 miejsc po przecinku.
Kod: Zaznacz cały
int stops = 100;
double LongStopLoss = Ask - (stops * _Point);
LongStopLoss = NormalizeDouble(LongStopLoss, _Digits);
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
I tu masz problem.sob-forex pisze: ↑28 lis 2021, 19:25Głównym instrumentem na którym EA będzie pracować to para walutowa GBP/USD i z reguły SL i TP obliczam w ten sposób, przyjmując, że instrument ma system kwotowania na 5 miejsc po przecinku.Kod: Zaznacz cały
int stops = 100; double LongStopLoss = Ask - (stops * _Point); LongStopLoss = NormalizeDouble(LongStopLoss, _Digits);
Kupujemy po cenie Ask, ale sprzedajemy po cenie Bid.
Czyli, StopLoss dla transakcji Long to transakcja sprzedaży po cenie Bid.
Czyli, jest tak jak pisałem - spread.
A więc:
Kod: Zaznacz cały
int stops = 100;
double LongStopLoss = Bid - (stops * _Point);
LongStopLoss = NormalizeDouble(LongStopLoss, _Digits);
double ShortStopLoss = Ask + (stops * _Point);
ShortStopLoss = NormalizeDouble(ShortStopLoss, _Digits);
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
Re: Wszystkie pytania dozwolone początkujących programistów
Witam,
mam skrypt, którym obliczam Time1, Time2, PoziomMAX, PoziomMIN, PoziomSredni. Zastanawiam się jak obliczyć Time3 czyli czas kiedy cena osiągnęła poziom średni/środkowy (np. na której świecy H1).
mam skrypt, którym obliczam Time1, Time2, PoziomMAX, PoziomMIN, PoziomSredni. Zastanawiam się jak obliczyć Time3 czyli czas kiedy cena osiągnęła poziom średni/środkowy (np. na której świecy H1).
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.