pomoc z zamykaniem po zakonczeniu swiecy

O jezykach programowania w platformach i nie tylko.
Staniol
Bywalec
Bywalec
Posty: 10
Rejestracja: 15 lis 2018, 17:44

pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: Staniol »

zamyka i otwiera mi transakcje po przecieciu srednich ale nawet w odstepach kiklu sekundowcyh a chcialbym zeby to sie dzialo po zamknieciu swiecy, jesli srednie sie przecinaja w swiecy 1h kilka razy to trace, chcialbym aby otwarlo pozycje na nowej swiecy jesli sa spelnione warunki i w razie wahan zeby sie nic nie dzialo dopiero jesli swieca sie zamknie i beda warunki do zamkniecia zeby wtedy zamykalo, tak wyglada kod prosze o pomoc

..............
extern double TakeProfit=60;
extern int TrailingStop=0;
extern int Slippage=3;
//+------------------------------------------------------------------+
// expert start function
//+------------------------------------------------------------------+
int start()
{
double MyPoint=Point;
if(Digits==3 || Digits==5) MyPoint=Point*10;

double TheStopLoss=0;
double TheTakeProfit=0;
if( TotalOrdersCount()==0 )
{
int result=0;
if((iMA(NULL,0,3,0,MODE_LWMA,PRICE_CLOSE,0)>iMA(NULL,0,7,0,MODE_LWMA,PRICE_CLOSE,0))&................
...............................
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL &&
OrderSymbol()==Symbol() &&
OrderMagicNumber()==MagicNumber
)
{
if(OrderType()==OP_BUY)
{
if((iMA(NULL,0,3,0,MODE_LWMA,PRICE_CLOSE,0)<iMA(NULL,0,7,0,MODE_LWMA,PRICE_CLOSE,0))) //here is your close buy rule
{
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);
}
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
{
if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
return(0);

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1499
Rejestracja: 09 sie 2009, 21:27
Lokalizacja: Głogów

Re: pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: personov »

W definicji iMA w nawiasie daj jeden zamiast zero ( ostatnia w nawiasie ). To numer świecy, z której brane są dane. Zero to świeca aktualna, która ciągle się zmienia. Jeden to ostatnia zamknięta świeca.
Solą życia jest kasa.

JAREK67
Maniak
Maniak
Posty: 2145
Rejestracja: 13 lip 2006, 11:21

Re: pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: JAREK67 »

Kod: Zaznacz cały

if((iMA(NULL,0,3,0,MODE_LWMA,PRICE_CLOSE,1)<iMA(NULL,0,7,0,MODE_LWMA,PRICE_CLOSE,1))&&(iMA(NULL,0,3,0,MODE_LWMA,PRICE_CLOSE,2)>iMA(NULL,0,7,0,MODE_LWMA,PRICE_CLOSE,2))) //here is your close buy rule

Staniol
Bywalec
Bywalec
Posty: 10
Rejestracja: 15 lis 2018, 17:44

Re: pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: Staniol »

Dzieki wielkie dam znac czy pomoglo

Staniol
Bywalec
Bywalec
Posty: 10
Rejestracja: 15 lis 2018, 17:44

Re: pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: Staniol »

A jak nastepna swieca bd sie wahac gora dol to bd otwierac i zamykac czy tylko na otwarciu otworzy lub zamknie?

JAREK67
Maniak
Maniak
Posty: 2145
Rejestracja: 13 lip 2006, 11:21

Re: pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: JAREK67 »

Staniol pisze:A jak nastepna swieca bd sie wahac gora dol to bd otwierac i zamykac czy tylko na otwarciu otworzy lub zamknie?
W warunkach otwierania też musisz zmienić:

Kod: Zaznacz cały

if((iMA(NULL,0,3,0,MODE_LWMA,PRICE_CLOSE,1)>iMA(NULL,0,7,0,MODE_LWMA,PRICE_CLOSE,1)&&(iMA(NULL,0,3,0,MODE_LWMA,PRICE_CLOSE,2)<iMA(NULL,0,7,0,MODE_LWMA,PRICE_CLOSE,2))

Staniol
Bywalec
Bywalec
Posty: 10
Rejestracja: 15 lis 2018, 17:44

Re: pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: Staniol »

Bardzo mi pomogles wszystko dziala jak chcialem wielkoe dzieki


Staniol
Bywalec
Bywalec
Posty: 10
Rejestracja: 15 lis 2018, 17:44

Re: pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: Staniol »

wszystko mi dziala tak jak prosilem,ale jeszcze jeden sie problem pojawil, przy duzych wahaniach zamyka mi na stop losie i na tej samej swiecy otwiera kolejna i zas zamyka, probowalem szukac tu na forum rozwiazania ale nie potrafie tego zrobic by na jednej swiecy byla jedno wejscie lub po jednym wejscu czas 4 godziny przerwy do nastepnego, probowalem z shiftbar new bar blokadami ale nie potrafie jedyny sposob to jak usunalem stopa i take profitwedy dziala to na zasadzie preciecia dodalem warunek i nie otwiera ale do konca to nie jet to

Awatar użytkownika
Mustafa
Pasjonat
Pasjonat
Posty: 649
Rejestracja: 20 lip 2010, 10:54
Lokalizacja: rewelacja

Re: pomoc z zamykaniem po zakonczeniu swiecy

Nieprzeczytany post autor: Mustafa »

Musisz zrobić dwie pętle sprawdzające za pomocą OrderSelect() czy były w zadanym czasie otwierane pozycje. Dwie ponieważ, pozycje mogą być wybierane z aktualnie otwartych lub historycznych co ustalamy parametrem; MODE_TRADES lub MODE_HISTORY. A potem if(OrderOpenTime()... lub/oraz OrderCloseTime()...

-- Dodano: czwartek 2018-11-22, 12:17 --

Zrób sobie np. taki uniwersalny model

Kod: Zaznacz cały

if(saOtwartePozycje())
{
  zarzadzajOtwartymiPozycjami();
}else{
  if(saSpełnioneWarunkiHandlu())
  {
    obliczWielkoscPozycji();
    otworzPozycje();
   }
}
dzięki temu jest przejrzyście i przy rozwoju projektu poszczególne funkcje możesz wygodnie modyfikować lub zmieniać kolejność wykonywania działań(funkcji).
but who cares

ODPOWIEDZ