[WARNING CLOSED!] Any newbie question, so as not to clutter up the forum. Professionals, don't go by. Can't go anywhere without you. - page 228

 
alsu >> :

because iHighest only works with timeseries. For other arrays the ArrayMaximum analogue

So, I'll have to make trouble with arrays :( Thanks for the help!

 

Hello!!!

Can you please tell me how to implement the menu "Parameters" in custom indicators when you call them?

I mean I know how to create external variables and enter their values in the menu "Input parameters", but I want to create a menu just like in specific indicators with substitution of variables and Russian explanations of what value we introduce, not only to see a soulless variable name and remember what number is encoded in the program body (for example " Apply to the indicatorapply to" in the indicator code is an integer which is checked on condition switch, and we choose from a list "open, close, etc..д")...

 

Hello, help please can't understand... I have an EA that works on oscillator signals, opens positions after crossing zero. I want to make it open a position when current bar has closed and the signal has formed. It may open and close a position a few times in a minute :) Until the signal adjusts.

Here is the code:


extern double Lot = 0.1;
extern double Per = 14;
bool gi_84 = TRUE;
int gi_88 = 366;
double gd_92 = 0.02;
double gd_100 = 0.2;
int g_period_108 = 14;
int gi_112 = 50;
int g_slippage_116 = 0;



void start() {
int l_cmd_52;
int l_ticket_56;

string l_symbol_0 = Symbol();
double l_isar_8 = iCustom(NULL,0, "daytrend-t01",Per,0,0);
double l_isar_9 = iCustom(NULL,5, "daytrend-t01",Per,0,0);
int l_cmd_40 = -1;
int l_ord_total_44 = OrdersTotal();
Lot = MathMax(Lot, MarketInfo(l_symbol_0, MODE_MINLOT))
for (int li_48 = l_ord_total_44; li_48 > 0; li_48--) {
if (OrderSelect(li_48 - 1, SELECT_BY_POS) == TRUE) {
l_cmd_52 = OrderType();
if (OrderSymbol() != l_symbol_0 || l_cmd_52 < OP_BUY || l_cmd_52 > OP_SELL) continue;
l_ticket_56 = OrderTicket();
RefreshRates();
if (l_cmd_52 < OP_SELL) {
if (l_isar_8 > 0) {
while (OrderClose(l_ticket_56, Lot, Bid, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
continue;
}
} else {
if (l_isar_8 < 0 ) {
while (OrderClose(l_ticket_56, Lot, Ask, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
continue;
}
}
l_cmd_40 = l_cmd_52;
}
}
if (l_cmd_40 < OP_BUY && g_period_108 == 0 || DayOfYear() < gi_88) {
RefreshRates();
if (l_isar_8 < 0 && l_isar_9 < 0 ) while (OrderSend(l_symbol_0, OP_BUY, Lot, Ask, g_slippage_116, 0, 0) == 0) FunError(gi_112);
else
if (l_isar_8 > 0 && l_isar_9 > 0 ) while (OrderSend(l_symbol_0, OP_SELL, Lot, Bid, g_slippage_116, 0, 0) == 0) FunError(gi_112);
}
}

void FunError(int ai_0) {
Sleep(ai_0);
RefreshRates();
}

void deinit() {
}
 
nikkola >> :

Ask the author.

 
TheXpert >> :

Ask the author.

I wish I could find him :)

 
good afternoon, downloading history from 1999, this error pops up

2009.09.15 15:49:05	HistoryBase: not enough memory 'USDJPY1' [3231513 bars]
2009.09.15 15:49:05	Memory handler: cannot allocate 142197836 bytes of memory


is there not enough memory, does anyone know what kind of error this is?
 
nikkola >> :

I wish I could find him :)

Look for it, don't flash your decompiled code here and hope for free help.

 
NEKSUS_ >> :
What kind of memory is it, does anyone know what kind of error it is in the first place?

RAM, I can't remember how to fix it, but reducing the depth of history should help.

 
TheXpert >> :

>> Look it up, don't flash your decompiled code around here and hope for free help.

I didn't decompile it, I got it that way...

 
TheXpert >> :

reducing the depth of the story should help.

That's the problem, you can't, the system needs all the history