
czyli na funkca ma byc poza start a odwołanie do niej tylko pomiedzy znaczkami start
Kod: Zaznacz cały
bool zdarzenie_wystapilo=false;
datetime czas = 0;
Kod: Zaznacz cały
if(ma100>ma50)
{
zdarzenie_wystapilo = true;
czas = TimeCurrent();
}
Kod: Zaznacz cały
if(zdarzenie_wystapilo && czas > czas +1h)
{
....// tu wpisac kod do wykonania
zdarzenie_wystapilo = false; // resetujemy stan i czekamy na kolejne
czas=0;
}
Kod: Zaznacz cały
int deinit()
{
ObjectsDeleteAll(0, OBJ_ARROW);
}
void drawSignals(int i)
{
if(checkForBuy(i))
{
ObjectCreate("ArrowBuy"+Time[i], OBJ_ARROW, 0, Time[i], Low[i] - 5*Point);
ObjectSet("ArrowBuy"+Time[i],OBJPROP_ARROWCODE, 241);
}
if(checkForSell(i))
{
ObjectCreate("ArrowSell"+Time[i], OBJ_ARROW, 0, Time[i], High[i] + 10*Point);
ObjectSet("ArrowSell"+Time[i],OBJPROP_ARROWCODE, 242);
}
}
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars - counted_bars;
for(int i=0; i<limit; i++)
{
Map[i] = costam;
drawSignals(i);
}
return(0);
}
Kod: Zaznacz cały
NormalizeDouble(AccountFreeMargin() * maximumRisk / 1000.0, 2);
Kod: Zaznacz cały
if(OrderSelect(short2, SELECT_BY_TICKET)==true)
{
if(OrderCloseTime()==0 && TimeCurrent()< OrderOpenTime()+3000)
{
OrderClose(short2,lot,Bid,2);
}
}
Moze tak:siersciuch pisze:Chciałbym zeby mi zamykało zlecenie po np 50 minutach. to 50minut mnoze razy 60 wychodzi 3000 sekund, ale jak je dodać do Orderopentime() ?Kod: Zaznacz cały
if(OrderSelect(short2, SELECT_BY_TICKET)==true) { if(OrderCloseTime()==0 && TimeCurrent()< OrderOpenTime()+3000) { OrderClose(short2,lot,Bid,2); } }
Kod: Zaznacz cały
if(TimeCurrent()-OrderOpenTime() >= 3000)