skrypt otwierający maksymalnego lota z margin free

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
tafams
Gaduła
Gaduła
Posty: 89
Rejestracja: 13 lut 2011, 23:45

skrypt otwierający maksymalnego lota z margin free

Nieprzeczytany post autor: tafams »

Czy jest możliwość stworzenia takiego skryptu ?

Skrypt miałby sprawdzać jaką wysokość lota może maksymalnie otworzyć ze środków free margin i taką pozycję otwiera.

np:

gramy w górę,
jest free margin 200 PLN i otwiera za 0,2 lota,
5 pipsów w górę szybko,
skrypt sprawdza free margin gdzie jest za te 5 pipsów 500 PLN i otwiera 0,5 lota
bo 0,55 lota było by juz za dużo na te 500 PLN

wyliczenia dałem oczywiście przypadkowe :)

Proszę o pomoc :)

Awatar użytkownika
CoVal
Gaduła
Gaduła
Posty: 320
Rejestracja: 06 paź 2005, 22:45

Nieprzeczytany post autor: CoVal »

oczywiscie napisanie takiego skryptu nie jest zadnym problemem, ustawienie kierunku pozycji i jego np. procentowej wielkosci w stosunku do free margin w czasie inicjalizacji byloby logicznym rozwiazaniem, tylko....

czemu by to mialo sluzyc ?
to raczej jest strategia kamikaze.... testujesz jak mozna najszybciej wyczyscic depo ??

Awatar użytkownika
tafams
Gaduła
Gaduła
Posty: 89
Rejestracja: 13 lut 2011, 23:45

Nieprzeczytany post autor: tafams »

Już tłumacze o co mi chodzi.

Grając normalnie w oparciu o LT często udaję się złapać duży ruch ok 100 pipsów.

Pomyślałem że otworzył bym rachunek w AM w PLN z dźwignią 1:500.
Przelewał bym tam początkowy kapitał w wysokości 50 PLN grał w oparciu o LT i w momencie gdy okazało by się to dobrym wejściem za 0.05 lota, dorzucał bym lota z free margin. Przy umiarkowanym stałym ruchu bez większych korekt można sporo zarobić.

Po otwarciu pozycji:

Grając 0,05 lota, margin mamy na poziomie 42,88 PLN.

50 PLN - 42,88 PLN = 7,12 PLN - (1 pips spreadu grając za 0,05 lota to 1,65 PLN)

czyli

7,12 PLN - 1,65 PLN = 5,47 PLN i to jest free margin zaraz po otwarciu zlecenia

Margin przy 0.01 lota to 8,58 PLN czyli taki potrzebujemy free margin by otworzyć drugą pozycję za 0.01 lota.

czyli

gdy moja pierwsza pozycja będzie na poziomie +1 pips to będę mógł otworzyć zlecenie za 0.01 lota bo :

5,47 PLN + (1,65 x 2) = 8,77

i tak dalej

Do satysfakcjonującego poziomu np TP

Grałbym tak od 50 PLN bo przy wielu otwartych pozycji trudno jest operować SL na wszystkich zleceniach. Po za tym SL lubią nie wchodzić. A Magrin Call przy otwartych pozycjach w wielkości np: 0,5 lota wycina przy 30 PLN pozostałych na rachunku.

Fajny byłby skrypt który otwierał by zlecenia za free margin z ustalonym TP.

Uruchamiam skrypt wychodzę z LT i wychodzę z domu, wracając sprawdzam czy zrealizował się TP z np 20 zleceń i na rachunku jest + 1000 PLN czy trzeba spróbować kolejny ruch.

To tak w skrócie.

ps: może taki skrypt byłby łatwiejszy do napisania na rachunku w USD bo tu nie wchodzi sytuacja przewalutowania

Awatar użytkownika
Cyb
Przyjaciel Forum
Przyjaciel Forum
Posty: 1907
Rejestracja: 25 mar 2009, 20:41

Nieprzeczytany post autor: Cyb »

Jeżeli to ma działać cały czas to potrzebne jest EA. Chociaż składnia będzie bardzo podobna...

Ribelo
Stały bywalec
Stały bywalec
Posty: 44
Rejestracja: 18 lut 2010, 20:28

Nieprzeczytany post autor: Ribelo »

Kod: Zaznacz cały

double CalculateLotSize ( double price1, double price2 ) {
   double allowed.exposure, normal.exposure, criminal.exposure;
   double free.margin = AccountFreeMargin();
   double tick.value = MarketInfo ( symbol, MODE_TICKVALUE ) ;
   double lot.step = MarketInfo ( symbol, MODE_LOTSTEP );
   double stop.points = MathAbs ( price1 - price2 );
   stop.points /= Point;
   double exposure = stop.points * tick.value; // exposure based on 1 full lot
   allowed.exposure = ( free.margin * risk.percent ) / 100;
  
   int TotalSteps = ( ( allowed.exposure / exposure ) / lot.step );
   double LotSize = TotalSteps * lot.step;
   double MinLots = MarketInfo ( symbol, MODE_MINLOT );
   double MaxLots = MarketInfo ( symbol, MODE_MAXLOT );
   if ( LotSize < MinLots ) {
      LotSize = MinLots;
   }
   if ( LotSize > MaxLots ) {
      LotSize = MaxLots;
   }
   return ( LotSize );
}
Łap kod na liczenie wielkości pozycji w zależności od wielkości stopa. Powinno w zupełności wystarczyć....

Wrzucasz do środka cenę po której chcesz otworzyć, jak i cenę stopa....a wypluwa lot.

Awatar użytkownika
tafams
Gaduła
Gaduła
Posty: 89
Rejestracja: 13 lut 2011, 23:45

Nieprzeczytany post autor: tafams »

och cho cho

dzięki Ribelo :)

kiepski programista jestem ... ale dzięki :)

ODPOWIEDZ