- Главная
- Сообщество
- Программирование
- whats wrong with this code?
Edit Your Comment
whats wrong with this code?
Участник с Oct 23, 2012
355 комментариев
Jul 31, 2016 at 06:54
Участник с Oct 23, 2012
355 комментариев
if(max_spread_filter && (Ask-Bid)/myPoint>max_spread) enableopen=false;
gives a critical error when trying to backtest?
gives a critical error when trying to backtest?
if you follow the flock like sheep you always end up stepping in shit!
forex_trader_25447
Участник с Dec 21, 2010
131 комментариев
Aug 01, 2016 at 03:51
Участник с Dec 21, 2010
131 комментариев
Possible errors :
1. Type of 'max_spread_filter' not 'bool'
2. 'myPoint' == 0.0
1. Type of 'max_spread_filter' not 'bool'
2. 'myPoint' == 0.0
Участник с Nov 14, 2015
325 комментариев
Aug 01, 2016 at 11:27
Участник с Nov 14, 2015
325 комментариев
Divide by zero is the only critical error that can give. Basically myPoint is 0.
Участник с Jul 29, 2011
5 комментариев
Aug 04, 2016 at 05:58
Участник с Jul 29, 2011
5 комментариев
very difficult to say without seeing how u declared the variables like max_spread_filter.. at first glance altho its not required always you should bracket the execution portion after your if statement runs. If youd like me to help I'd have to see more of the code. One more thing, it doesnt look like MyPoint has any value. Again, very difficult to say just from one snippet of code bc we need to see the declarations and how the code flows.
Losers Average Losers && Never throw good $ after bad trading.
Участник с Oct 23, 2012
355 комментариев
Aug 05, 2016 at 04:01
Участник с Oct 23, 2012
355 комментариев
extern bool max_spread_filter=true;
extern double max_spread=5.0;
double myPoint, mySpread, myStopLevel,myTickValue,myTickSize,myLotValue;
int myDigits;
init:
SetPoint();
start:
bool enableopen = true;
if(max_spread_filter && (Ask-Bid)/myPoint<max_spread) enableopen=false;
if(enableopen)
function:
void SetPoint()
{
myPoint = MarketInfo(Symbol(),MODE_POINT);
mySpread = MarketInfo(Symbol(),MODE_SPREAD);
myDigits = MarketInfo(Symbol(),MODE_DIGITS);
myStopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL);
myTickValue = MarketInfo(Symbol(),MODE_TICKVALUE);
myTickSize = MarketInfo(Symbol(),MODE_TICKSIZE);
myLotValue = myTickValue/myTickSize;
if(
myDigits==3 ||
myDigits==5
)
{
myPoint = myPoint * 10;
mySpread = mySpread / 10;
myStopLevel = myStopLevel / 10;
myDigits = myDigits -1;
}
}
extern double max_spread=5.0;
double myPoint, mySpread, myStopLevel,myTickValue,myTickSize,myLotValue;
int myDigits;
init:
SetPoint();
start:
bool enableopen = true;
if(max_spread_filter && (Ask-Bid)/myPoint<max_spread) enableopen=false;
if(enableopen)
function:
void SetPoint()
{
myPoint = MarketInfo(Symbol(),MODE_POINT);
mySpread = MarketInfo(Symbol(),MODE_SPREAD);
myDigits = MarketInfo(Symbol(),MODE_DIGITS);
myStopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL);
myTickValue = MarketInfo(Symbol(),MODE_TICKVALUE);
myTickSize = MarketInfo(Symbol(),MODE_TICKSIZE);
myLotValue = myTickValue/myTickSize;
if(
myDigits==3 ||
myDigits==5
)
{
myPoint = myPoint * 10;
mySpread = mySpread / 10;
myStopLevel = myStopLevel / 10;
myDigits = myDigits -1;
}
}
if you follow the flock like sheep you always end up stepping in shit!
forex_trader_25447
Участник с Dec 21, 2010
131 комментариев
Aug 05, 2016 at 04:45
Участник с Dec 21, 2010
131 комментариев
I see some syntax errors .
You probably know some other language , and try to write as You know.
You have to write like this :
double myPoint, mySpread, myStopLevel,myTickValue,myTickSize,myLotValue;
int myDigits;
init()
{
SetPoint();
}
start()
{
bool enableopen = true;
if(max_spread_filter && (Ask-Bid)/myPoint<max_spread) enableopen=false;
if(enableopen) {} // HERE write OPERATOR for this 'if'
}
// function // No such word in MQL
// Everything below is OK.
You probably know some other language , and try to write as You know.
You have to write like this :
double myPoint, mySpread, myStopLevel,myTickValue,myTickSize,myLotValue;
int myDigits;
init()
{
SetPoint();
}
start()
{
bool enableopen = true;
if(max_spread_filter && (Ask-Bid)/myPoint<max_spread) enableopen=false;
if(enableopen) {} // HERE write OPERATOR for this 'if'
}
// function // No such word in MQL
// Everything below is OK.
*Коммерческое использование и спам не допускаются и могут привести к аннулированию аккаунта.
Совет: Размещенные изображения или ссылки на Youtube автоматически вставляются в ваше сообщение!
Совет: введите знак @ для автоматического заполнения имени пользователя, участвующего в этом обсуждении.