PDA

Zobacz pełną wersję : Kodowanie pomocy w d'Alembert Forex EA



crigtisa.gerraso.19
12-07-2014 16:28, 16:28
Cześć wszystkim,

Próbuję kodować EA, który obsługuje progresję d'alemberta (dla wszystkich, którzy nie znają progresji d'alembert:
http://www.bettingexpert.com/casino/roulette/egy/d’alembert-system)

Planujemy zacząć od 0,01 lota i SL 13 pipsówTP 14 pipsów.

Za każdym razem, gdy transakcja zbliża się do y, nowy handel otwiera się natychmiast z dodatkowymi 0,01 lotami, a po wygranej handlu następuje natychmiastowy handel z 0,01 lotami mniejszymi niż loteria zanim dojedziemy do 0,01 lota.


Przykład:

1. handlu 0.01 a partii

2. handlować 0,02 lotami

3. handlu 0,03 lot wiele

4. handlu 0,04 lot y

5. zamień 0,05 lota

6. handel 0,04 losów wygranych

7. handel 0,03 losów

8. handel 0.02 lot

9. handluj 0,01 lotem


Oto mój pierwszy próbny kod, ale nie działa on w testerze egii. :-(

Kto może pomóc?


Wstawiony kod/ --------------------------------------------- --------------------- /| A4.mq4 |/| Prawa autorskie © 2010, MetaQuotes Software Corp./| http://www.metaquotes.net |/ ----------------------------------------------- ------------------- #property copyright Copyright © 2010, MetaQuotes Software Corp. link #property http://www.metaquotes.net/ ---- -------------------------------------------------- ------------ /| zewnętrzne parametry wejściowe |/ ----------------------------------------------- ------------------- extern int MagicNumber_101 = 101000; extern int SL = 13; extern int TP = 14; double dXPoint = 1;/ ----------------------------------------------- ------------------- /| funkcja inicjalizacji eksperta |/ ----------------------------------------------- ------------------- int init () {//----/---- return (0); }/ ---------------------------------------------- -------------------- /| funkcja dezinicjalizacji eksperta |/ ----------------------------------------------- ------------------- int deinit () {//----/---- return (0); }/ ---------------------------------------------- -------------------- /| funkcja startu eksperta |/ ----------------------------------------------- ------------------- int start () {double Lotsize = 0,01; if (OrdersHistoryTotal () gt; = 1) {OrderSelect (OrdersHistoryTotal () - 1, SELECT_BY_POS); Lotsize = OrderLots (); } if (OrderProfit () lt; 0 OrdersHistoryTotal () gt; = 1) {Lotsize = Lotsize 0.01; } if (OrderProfit () gt; 0 OrdersHistoryTotal () gt; = 1 Lotsizegt; = 0.02) {Lotsize = Lotsize - 0,01; } if (OrdersHistoryTotal () lt; 1 min () == 00) {OrderSend (Symbol (), OP_BUY, 0.01, MarketInfo (Symbol (), MODE_ASK), 2, Bid-SL * Punkt, Licytacja TP * Punkt, kup, MagicNumber_101,0, CLR_NONE); } Sleep (120000); if (OrdersTotal () == 0 minuta () == 00) {OrderSelect (OrdersHistoryTotal () - 1, SELECT_BY_POS); if (OrderProfit () gt; 0 OrderType () == OP_BUY) {OrderSend (Symbol (), OP_BUY, 0.01, MarketInfo (Symbol (), MODE_ASK), 2, Bid-SL * Point, Bid TP * Point, kup , MagicNumber_101,0, CLR_NONE); } Sleep (120000); } if (OrdersTotal () == 0 minut () == 00) {if (OrderProfit () gt; 0 OrderType () == OP_SELL) {OrderSend (Symbol (), OP_SELL, 0.01, MarketInfo (Symbol (), MODE_BID ), 2, Ask SL * Point, Ask-TP * Point, sell, MagicNumber_101,0, CLR_NONE); } Sleep (120000); } if (OrdersTotal () == 0 minuta () == 00) {if (OrderProfit () lt; 0 OrderType () == OP_SELL) {OrderSend (Symbol (), OP_BUY, 0.01, MarketInfo (Symbol (), MODE_ASK), 2, Bid-SL * Punkt, Licytacja TP * Punkt, zakup, MagicNumber_101,0, CLR_NONE); } Sleep (120000); } if (OrdersTotal () == 0 minut () == 00) {if (OrderProfit () lt; 0 OrderType () == OP_BUY) {OrderSend (Symbol (), OP_SELL, 0.01, MarketInfo (Symbol (), MODE_BID ), 2, Ask SL * Point, Ask-TP * Point, sell, MagicNumber_101,0, CLR_NONE); } Sleep (120000); } return (0); }
Proszę nie komentować, jak usunąć swoje konto ... blabla
Po prostu dzielenie egii handlowej.

Pozdrowienia.

Darmesa
07-03-2021 16:42, 16:42
Wypróbuj to (w testerze, który jest ...): Wstawiony kod #property ścisłe wejście int SL = 130; input int TP = 140; podwójna partia = 0,01; bilet int; int OnInit () {bilet = OrderSend (Symbol (), OP_BUY, lot, Ask, 2, Ask-SL * Point, Ask TP * Point); jeśli (bilet gt; -1) zwróci INIT_SUCCEEDED; return INIT_FAILED; } void OnTick () {if (OrderSelect (0, SELECT_BY_POS)) return; OrderSelect (bilet, SELECT_BY_TICKET); if (OrderProfit () lt; 0.0) {lot = 0.01; ticket = OrderSend (Symbol (), OP_SELL, lot, Bid, 2, Bid SL * Point, Bid-TP * Point); } else {if (lot gt; 0.01) lot - = 0.01; ticket = OrderSend (Symbol (), OP_BUY, lot, Ask, 2, Ask-SL * Point, Ask TP * Point); }}

crigtisa.gerraso.19
07-03-2021 18:03, 18:03
Cześć rockit, dzięki! Czy to jest kod mql5? Pozdrowienia.

Darmesa
07-03-2021 19:24, 19:24
Nie, to jest oficjalny MQL4 od czasu budowy MT4 600 (obecnie 755). Drugi styl jest przestarzały i nie powinien już być używany. W każdym razie to ogranicza.

crigtisa.gerraso.19
07-03-2021 20:45, 20:45
Cześć rockit, chyba naprawiłem ... Wstawiony kod {if (OrderSelect (0, SELECT_BY_POS)) return; OrderSelect (bilet, SELECT_BY_TICKET); if (OrderProfit () lt; 0.0) {lot = 0.01; if (OrderType () == OP_BUY) {ticket = OrderSend (Symbol (), OP_SELL, lot, Bid, 2, Bid SL * Point, Bid-TP * Point); } if (OrderType () == OP_SELL) {ticket = OrderSend (Symbol (), OP_BUY, lot, Ask, 2, Ask-SL * Point, Ask TP * Point); }} else {if (lot gt; 0.01) lot - = 0.01; if (OrderType () == OP_SELL) {ticket = OrderSend (Symbol (), OP_SELL, lot, Bid, 2, Bid SL * Point, Bid-TP * Point); } if (OrderType () == OP_BUY) {ticket = OrderSend (Symbol (), OP_BUY, lot, Ask, 2, Ask-SL * Point, Ask TP * Point); } } Wielkie dzięki za twoje wsparcie!

crigtisa.gerraso.19
07-03-2021 22:05, 22:05
Cześć rockit, kod działa dobrze, z wyjątkiem faktu, że każdy nowy handel musi być otwarty z trendem, to znaczy: - jeśli długi handel kończy się zyskiem, to następny handel to długi handel - jeśli długi handel kończy się ą, następny handel jest krótką wymianą handlową - jeśli krótki handel kończy się zyskiem, następny handel jest krótkim handlem - jeśli krótki handel kończy się ą, następny handel jest długim handlem Pozdrawiam i dziękuję z góry