EA cena otwarcia stawianie transakcji, M5

O jezykach programowania w platformach i nie tylko.
maniek16
Bywalec
Bywalec
Posty: 12
Rejestracja: 28 mar 2012, 20:13

EA cena otwarcia stawianie transakcji, M5

Nieprzeczytany post autor: maniek16 »

Witam,
Proszę o pomoc w sprawie stawiania transakcji na cenie otwarcia na interwale M5. Mam robota, który na danych historycznych zachowuje się dobrze jednak "na żywym" wykresie potrafi stawiać po die transakcje w ciągu minuty.

Zajmuje się programowaniem kilka dni, nie znam kodu, proszę o pomoc. pzdr

Czy coś jest nie tak w tym tekscie?:

//--- input parameters
extern int StopLoss=20;
extern int TakeProfit=50;
extern double Lots =0.1;
extern double DecreaseFactor=0;
extern double MovingPeriod=850;
extern double MovingShift=0;
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=2;
extern double MATrendPeriod=26;

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

maniek16 pisze:Czy coś jest nie tak w tym tekscie?:

//--- input parameters
extern int StopLoss=20;
extern int TakeProfit=50;
extern double Lots =0.1;
extern double DecreaseFactor=0;
extern double MovingPeriod=850;
extern double MovingShift=0;
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=2;
extern double MATrendPeriod=26;
Odpowiedź brzmi : to zależy.
To co wkleiłeś to zbyt mało, aby ocenić. To tylko ustawienia parametrów.
Solą życia jest kasa.

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Nieprzeczytany post autor: mike_05 »

Niedopracowane skrypty mają tak czasem, jak mt4 ma "za krótko" danych, a skrypt potrzebuje więcej, a z kolei nie posiada obsługi tego błędu. Zdarzało mi się tak mieć. Po odświeżeniu danych ustępowało.

maniek16
Bywalec
Bywalec
Posty: 12
Rejestracja: 28 mar 2012, 20:13

Nieprzeczytany post autor: maniek16 »

int Krótka=0;

int start()
{
{

double ma0=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
double ma1=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,1);
double Macd=iMACD(NULL,0,2,26,9,PRICE_CLOSE,MODE_MAIN,0);

if(ma0<ma1)
if(Macd>0)

{
OrderSend(Symbol(),OP_SELL,Lots,Ask,3,Bid+StopLoss*Point,Ask-TakeProfit*Point,"My order SELL",16384,0,Green);
}

}

return(0);
}

Dodano po 3 minutach:

Na M1 czy H1 można dodać w ust. parametrów sekunda=00; bądź minuta=00;
i dać:

int start()

{
if ( Minute()==Minuta)
{

ale nie wiem jak zrobić robota pod M5 (tylko ceny otwarcia)?
Kilka moich spostrzeżeń na temat Forex http://forex-u-mariana.blogspot.com/

Awatar użytkownika
xpep
Pasjonat
Pasjonat
Posty: 844
Rejestracja: 02 gru 2007, 11:50

Nieprzeczytany post autor: xpep »

maniek16 pisze:ale nie wiem jak zrobić robota pod M5 (tylko ceny otwarcia)?
czy tobie chodzi o jedna transakcje na jedna swiece M5? pisz jasniej bo program prosty ale ciezko rozczytac czego chcesz :wink:

maniek16
Bywalec
Bywalec
Posty: 12
Rejestracja: 28 mar 2012, 20:13

Nieprzeczytany post autor: maniek16 »

tak. jedna transakcja na jedna swiece M5.
Kilka moich spostrzeżeń na temat Forex http://forex-u-mariana.blogspot.com/

crn
Gaduła
Gaduła
Posty: 117
Rejestracja: 17 mar 2009, 22:07

Nieprzeczytany post autor: crn »

tak an szybko i bez kompilatora lae powinno dzialac

Kod: Zaznacz cały

bool onePerCandle(){
static int last_time;
   
   if(  last_time != iTime(0,0,0)  ){
    last_time = iTime(0,0,0);
    return( true );
  }

return ( false );
}

maniek16
Bywalec
Bywalec
Posty: 12
Rejestracja: 28 mar 2012, 20:13

Nieprzeczytany post autor: maniek16 »

Wyskakują błędy. Pewnie nie umiem dobrze tego umieścić w tekscie ale pokombinuje. Dzięki za pomoc:)

Dodano po 17 godzinach 19 minutach:

jakby ktos mial pomysl to prosze. pzdr
Kilka moich spostrzeżeń na temat Forex http://forex-u-mariana.blogspot.com/

crn
Gaduła
Gaduła
Posty: 117
Rejestracja: 17 mar 2009, 22:07

Nieprzeczytany post autor: crn »

dodaj w warunkach porstu onePerCandle() i powino dzialac

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

maniek16 pisze:Wyskakują błędy. Pewnie nie umiem dobrze tego umieścić w tekscie ale pokombinuje. Dzięki za pomoc:)
funkcje ktora napisal Ci crn umiesc na samym koncu kodu tak zeby miec pewnosc ze nie umieszczas jej wewnatzr funkcji start ;)

a przed funkcja OrderSend(...) sprawdz czy w/w funkcja zwraca true

np

Kod: Zaznacz cały

if(onePerCandle() ) OrderSend(...);
pozdrawiam
Andrzej PIerz
z poważaniem
Andrzej Pierz
FOREX-SERVICE

ODPOWIEDZ