Wszystkie pytania dozwolone początkujących programistów
Re: Wszystkie pytania dozwolone początkujących programistów
Witam
Poszukuje programisty o pseudonimie silesia?
Poszukuje programisty o pseudonimie silesia?
Re: Wszystkie pytania dozwolone początkujących programistów
Witam jestem totalnie zielony w temacie wiec pytanie moze byc idiotyczne a interesuje mnie czy jest mozliwosc stworzenia indykatora ktory bedzie suma dwoch roznych kursow (np. kursu ropy i usd/pln) oraz czy istnieje mozliwosc wyswietlenia na jednym wykresie kilku kursow?
Z gory dzieki
Z gory dzieki

Re: Wszystkie pytania dozwolone początkujących programistów
Powiedzcie mi czemu mi to nie chce dzialac?
to oczywiscie nie jest caly kod, ale chodzi mi o to jak to zapisac zeby po kazdej transakcji lot mi sie zwiekszal o 0.1.
raz tylko dodaje 0.1 tak jakby petla raz sie wykonywala
z gory dzieki
Kod: Zaznacz cały
int start()
{
double lot=1;
lot = lot +0.1;
if(otwarcie<banda2 && cenaB<banda2) OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,Ask+10*Point,"",1,0,Blue);
if(otwarcie>banda1 && cenaA>banda1) OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,Bid-10*Point,"",3,0,Red);
}
//Print("lot: ", lot);
Print("Error: ", GetLastError());
//----
return(0);
}
raz tylko dodaje 0.1 tak jakby petla raz sie wykonywala
z gory dzieki
- por. Borewicz
- Gaduła
- Posty: 93
- Rejestracja: 25 cze 2014, 11:58
Re: Wszystkie pytania dozwolone początkujących programistów
Dodaj słowo kluczowe static przed deklaracją zmiennej lot.
Więcej o zmiennych lokalnych i statycznych:
http://docs.mql4.com/basis/variables/local
http://docs.mql4.com/basis/variables/static
Więcej o zmiennych lokalnych i statycznych:
http://docs.mql4.com/basis/variables/local
http://docs.mql4.com/basis/variables/static
Re: Wszystkie pytania dozwolone początkujących programistów
hmm dalej nie chula, mam jakies dziwne wielkie jakby losowe wartosci lota
-
- Bywalec
- Posty: 5
- Rejestracja: 06 gru 2014, 17:27
Re: Wszystkie pytania dozwolone początkujących programistów
Witam
Mam problem ze startem w MT4 edytor strategii. po zrobieniu prostego EA i skompilowaniu dopisałem zmienną stoplose i po tym jak kompilowałem pokazuje się błąd taki jak na załączonym zdjęciu. Co może być powodem błędu?
Mam problem ze startem w MT4 edytor strategii. po zrobieniu prostego EA i skompilowaniu dopisałem zmienną stoplose i po tym jak kompilowałem pokazuje się błąd taki jak na załączonym zdjęciu. Co może być powodem błędu?
Kod: Zaznacz cały
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#property strict
input double takeprofit = 200;
input double stoplose = 200;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
-
- Gaduła
- Posty: 132
- Rejestracja: 27 sie 2011, 13:10
Re: Wszystkie pytania dozwolone początkujących programistów
swer tam nie ma pętli. Kod wykonuje się na nowo przy każdym ticku, dostajesz "losowe" wartości lota w zależności od ilości ticków pomiędzy sygnałami.
Re: Wszystkie pytania dozwolone początkujących programistów
Jeśli macie chwile weźcie to, skompilujcie u siebie i sprawdzcie czy chodzi u was, napisalem teraz nawet osobna funkcje zeby zwiekszalo lota i juz nie mam pomyslow co jest nie tak. sa dwie instrukcje Print z "lot" i "LOT" ktore pokazuja wartosci normalnego lota i tego co mialbyc zwiekszony.
#property copyright "Copyright © 2010, Swer"
#property link "http://www.metaquotes.net"
extern static double lot =1;
double zwieksz()
{
lot = lot + 1;
return(lot);
}
bool isNewBar()
{
static int prevTime;
if(Time[0]!=prevTime)
{
prevTime=Time[0];
return(true);
}
else
{
return(false);
}
}
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//double iOpen(string symbol, int timeframe, int shift)
//if(Hour()>=7&&Hour()<12)
//{
double banda1;
double banda2;
double cenaA;
double cenaB;
double otwarcie;
bool nowaSwieca=isNewBar();
double wiekszylot=zwieksz();
cenaB = Bid;
cenaA = Ask;
banda1 = iBands(NULL,0,20,2,0,0,1,1);
banda2 = iBands(NULL,0,20,2,0,0,2,1);
otwarcie=iOpen(NULL,PERIOD_M5,0);
//Print("banda1: ", banda1);
//Print("banda2: ", banda2);
//Print("Open: ", otwarcie);
//Print("cena: ", cenaA);
Print("lot: ", lot);
Print("LOT: ", wiekszylot);
if(OrdersTotal()<1)
{
if(otwarcie<banda2 && cenaB<banda2) OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,Ask+10*Point,"",1,0,Blue);
if(otwarcie>banda1 && cenaA>banda1) OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,Bid-10*Point,"",3,0,Red);
}
Print("Error: ", GetLastError());
//----
return(0);
}
-
- Gaduła
- Posty: 132
- Rejestracja: 27 sie 2011, 13:10
Re: Wszystkie pytania dozwolone początkujących programistów
Podpowiedz: zwiększaj lot po wysłaniu zleceń a nie po każdym ticku...
Re: Wszystkie pytania dozwolone początkujących programistów
ok dzieki David_Plavko zaskoczylo działa jak powinno 
