
https://www.mql5.com/en/code
Nie za bardzo wierze, że to ma coś wspólnego z naukąSkullknead pisze: ↑24 kwie 2020, 12:57W jakim celu? W imię naukiraposo gdzie najlepiej zacząć poszukiwania skryptu?
Pewnie jeszcze nie wie za bardzo jak liczone jest equity w takim przypadku, że ma jeszcze spread i jak kupi to po ask, sprzeda po bid, że ma prowizje od otwarcia i zamknięcia, albo ogólnie od pozycji, że u jednego broka możesz w ten sposób zwiększyć dźwignię (głównie z MT4) a u innego nie za bardzo jest sens używania takiego "hedge" bo inaczej liczone jest balance i equiy od pozycji przeciwstawnych, że nie da się zlecić wypłaty środków jeśli masz otwarte pozycje i to co zostanie nie wystarcyz na zabezpieczenie pozycji hehe itd. Na słowo hedge przychodza mi do głowy 2 osoby: sardo nunspa i Spekulant PL (wcześniej miał chyba inny nick), jakieś wychodzenia z hedgy, defensywne hedge i tym podobne historie.Cblondyn pisze: ↑24 kwie 2020, 16:03Nie za bardzo wierze, że to ma coś wspólnego z naukąSkullknead pisze: ↑24 kwie 2020, 12:57W jakim celu? W imię naukiraposo gdzie najlepiej zacząć poszukiwania skryptu?
A jesli wpadł ci do głowy "genialny" pomysł rozgrywania pseudo systemu "Hedga" to proponuje poczytać
Powodzenia i wielu zysków życze
system-hedge-t30922.html
Jestem na 15 stronie instrukcji z 300 do mt4 więc raczej wielu rzeczy za bardzo nie wiem.-rookie- pisze: ↑24 kwie 2020, 19:31Pewnie jeszcze nie wie za bardzo jak liczone jest equity w takim przypadku, że ma jeszcze spread i jak kupi to po ask, sprzeda po bid, że ma prowizje od otwarcia i zamknięcia, albo ogólnie od pozycji, że u jednego broka możesz w ten sposób zwiększyć dźwignię (głównie z MT4) a u innego nie za bardzo jest sens używania takiego "hedge" bo inaczej liczone jest balance i equiy od pozycji przeciwstawnych, że nie da się zlecić wypłaty środków jeśli masz otwarte pozycje i to co zostanie nie wystarcyz na zabezpieczenie pozycji hehe itd. Na słowo hedge przychodza mi do głowy 2 osoby: sardo nunspa i Spekulant PL (wcześniej miał chyba inny nick), jakieś wychodzenia z hedgy, defensywne hedge i tym podobne historie.Cblondyn pisze: ↑24 kwie 2020, 16:03Nie za bardzo wierze, że to ma coś wspólnego z naukąSkullknead pisze: ↑24 kwie 2020, 12:57W jakim celu? W imię naukiraposo gdzie najlepiej zacząć poszukiwania skryptu?
A jesli wpadł ci do głowy "genialny" pomysł rozgrywania pseudo systemu "Hedga" to proponuje poczytać
Powodzenia i wielu zysków życze
system-hedge-t30922.html
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| hedge_strategy_demo_2504202.mq4 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
int ticket;
int counter = 0;
int n = 0;
bool start = false;
int magicNumber = 16384;
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason) {}
void OnTick()
{
int i;
if (!start) {
sendOrder(OP_BUY, 0.01, Ask);
//sendOrder(OP_SELL, 0.01, Bid);
start = true;
}
for (i = 0; i <= OrdersTotal(); i++) {
if(OrderSelect(i, SELECT_BY_POS))
Print(ticket + " " + i + " " + counter + " || " + OrderType() + " " + OrderProfit() + " " + OrderMagicNumber() + " " + AccountMargin());
}
RefreshRates();
}
void sendOrder(int cmd, double volume, double price)
{
ticket = OrderSend(Symbol(),cmd,volume,price,3,0,0,"My order"+counter,magicNumber,0,clrNONE);
counter++;
}
Początkowo chciałem coś dla przykładu wklepać ale potem przeszła mi ochota, bo w sumie po co... Chciałem tylko jakoś nakierować kolegę. Bo można wykorzystać np magic number do grupowania tych pozycji i przy prostej (naiwnej) implementacji otwierać pozycje o tym samym magic number i np przy stracie 25% kapitału pooczątkowego obliczyć w którą stronę otworzyć pozycje przeciwstawną i jakiej wielkości. Czyli przykładowa funkcja calchedge. Potem wysłać zlecenie funkcja sendhedge z warunkiem który sprawdza w zmiennej globalnej czy aktualna wartość magic number zgadza się z tym co zostało pobrane w calchedge do zmiennej "m", i to jest przekazane jako 4 parametr w funkcji sendhege. Następnie ta wartość jest zwiększana (zwiększasz licznik) i kolejne pozycje są z nowym magic number. Dzięki temu jest prosta metoda grupowania. Ale to nie jest jedyna metoda. Chciałem coś dać konkretniej poza samym gadaniem, ale mi przeszło potemninjaproject pisze: ↑26 kwie 2020, 11:52Ten skrypt wyśle tylko 1 zlecenie, Buy.
I do tego będzie to tylko 1 próba, i tyle.
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| hedge_strategy_demo_2504202.mq4 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
int ticket;
int counter = 0;
int n = 0;
bool start = false;
int magicNumber = 16384;
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason) {}
// główna pętla programu
void OnTick() {
if ((AccountEquity() / AccountBalance()) <= 0.75)
calchedge();
}
void calchedge()
{
double res, dl, dp, a, b;
int m;
for (i = 0; i <= OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS)) {
if (OrderProfit() > 0) {
a++;
dp += OrderLots();
} else {
b++;
dl += OrderLots();
}
// pobierz magic number
m = OrderMagicNumber();
}
}
res = dp - dl;
if (a > b) {
sendOrder(OP_BUY, res, Ask, m);
} else {
sendOrder(OP_SELL, res, Bid, m);
}
}
void sendhedge(int cmd, double volume, double price, int magic)
{
if (magic == magicNumber) {
ticket = OrderSend(Symbol(),cmd,volume,price,3,0,0,"My order"+counter,magicNumber,0,clrNONE);
magicNumber++; // zwiększ wartość magic number
counter++;
}
}
void sendOrder(int cmd, double volume, double price)
{
ticket = OrderSend(Symbol(),cmd,volume,price,3,0,0,"My order"+counter,magicNumber,0,clrNONE);
counter++;
}