Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 581

 
barudkinarseniy:
Здравствуйте господа форумчане!!! У меня такая делема. В будние дни тестировал советник был один результат, в выходной тестер выдает обсалютно другой результат! Подскажите пожалуйста почему так? 
 потому что на выходных спред расширяют
 
Sergey Gritsay:
 потому что на выходных спред расширяют
и уровень маржи я так понимаю уменьшается?! а это происходит именно когда рынок закрывается или раньше или это вообще от брокера зависит? 
 
Karputov Vladimir:

Вот панель диалогов с элементом управления CEdit (для наглядности пример сделан в виде одного файла) - в панели проверяются введённые символы. Допустимы только цифры:

Спасибо за код. Но еще вопрос такой. Скомпилировал код в мт5. Там в едите получается что вводить буквы все равно можно, просто в случае ввода букв при завершении ввода оно в едите пишет что "Допустымы только цифры". Но как сделать чтобы даже вводить буквы в едит нельзя было?
 
Andrey Zuev:
Спасибо за код. Но еще вопрос такой. Скомпилировал код в мт5. Там в едите получается что вводить буквы все равно можно, просто в случае ввода букв при завершении ввода оно в едите пишет что "Допустымы только цифры". Но как сделать чтобы даже вводить буквы в едит нельзя было?
Никак. Элемент управления на базе класса CEdit обрабатывает только событие ON_END_EDIT- (6)   // end of editing event - то есть событие окончание ввода.
 

Коллеги, пробую взять сигнал из вот этой строки:

 if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Сигнал на покупку

 но компилятор жалуется, что "Point - undeclared identifider".

это МТ5.

Разве это не предопредленная переменная? 

 
Andrey Koldorkin:

Коллеги, пробую взять сигнал из вот этой строки:

 if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Сигнал на покупку

 но компилятор жалуется, что "Point - undeclared identifider".

это МТ5.

Разве это не предопредленная переменная? 

Нет. Используй _Point
 
Andrey Koldorkin:

Коллеги, пробую взять сигнал из вот этой строки:

 if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Сигнал на покупку

 но компилятор жалуется, что "Point - undeclared identifider".

это МТ5.

Разве это не предопредленная переменная? 

Нужно использовать Point().

 

Спасибо.

Еще вопрос. Хочу взять значение кривой на текущей и последней закрытой свече, а так же на последней закрытой и предпоследней закрытой свече.

тут нужно использовать массив?  

У меня Машка имеет 3 входных параметра. Я пытаюсь выстроить к ней такое обращение, что:

//---------------------- 

double P0, P1, P2;                                   // Значение индикатора на текущей свече, последней закрытой свече

P0 = iCustom(NULL, 0,  "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на текущей свече

P1 = iCustom(NULL, 0,  "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на последней закрытой свече 

 P2 = iCustom(NULL, 0,  "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на предпоследней закрытой свече

//----------------------

три нижние строки нижние одинаковые, написал так, т.к. пока не пойму как узнать значение на предыдущей свече. Текущую он берет верно, через Алерт выводит корректно. 

 Возможно тут надо как-то задать цикл, где текущее будет записываться и с каждой новой свечей сдвигаться назад, становясь сначала последней закрытой, а потом уже и предпоследней закрытой свечей.

 

Как по-умному? )) 

 
Andrey Koldorkin:

Коллеги, пробую взять сигнал из вот этой строки:

 if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Сигнал на покупку

 но компилятор жалуется, что "Point - undeclared identifider".

это МТ5.

Разве это не предопредленная переменная? 

 а потом Вы пишите это:

Andrey Koldorkin:

Спасибо.

Еще вопрос. Хочу взять значение кривой на текущей и последней закрытой свече, а так же на последней закрытой и предпоследней закрытой свече.

тут нужно использовать массив?  

У меня Машка имеет 3 входных параметра. Я пытаюсь выстроить к ней такое обращение, что:

//---------------------- 

double P0, P1, P2;                                   // Значение индикатора на текущей свече, последней закрытой свече

P0 = iCustom(NULL, 0,  "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на текущей свече

P1 = iCustom(NULL, 0,  "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на последней закрытой свече 

 P2 = iCustom(NULL, 0,  "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на предпоследней закрытой свече

//----------------------

три нижние строки нижние одинаковые, написал так, т.к. пока не пойму как узнать значение на предыдущей свече. Текущую он берет верно, через Алерт выводит корректно. 

 Возможно тут надо как-то задать цикл, где текущее будет записываться и с каждой новой свечей сдвигаться назад, становясь сначала последней закрытой, а потом уже и предпоследней закрытой свечей.

 

Как по-умному? )) 

Так, всё таки: Вы пишите в МТ5 или в МТ4?

Добавлено: Правильно вставляем код на форуме 

 
Karputov Vladimir:

 а потом Вы пишите это:

Так, всё таки: Вы пишите в МТ5 или в МТ4?

Добавлено: Правильно вставляем код на форуме 

МТ5. Не судите строго, я только начинаю.

компилятор вроде не ругается. 

Причина обращения: