[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 291

 
uriy:
icas:

Правило простое: разберись сам с чужой программой. Ошибка 4107 - неправильно выставлен SL (если память мне не изменяет(может ТП), нормализуйте данные при открытии (модификации) ордеров. см
https://forum.mql4.com/ru/25607 Я там уже побывал!Совали носом,но ни каких резултатов.Спасб

Я тоже через это проходил (как и все присутствующие)... Ещё небольшое усилие - получиться всё!!! Можем помочь разобраться, нужна дополнительная информация (напрмер: исходник). Ещё вспомнил: надо проверить MODE_STOPLEVEL, может он больше, чем предлагаемый SL (TP).
 
uriy:
Ребят может вы поможите!Я в програмирровании полный ноль!Советник скачан с этого сайта.На тесте истории идёт как положено,но также всегда выходят ошибки 4107,и не торгует на демо!
ERR_INVALID_PRICE_PARAM 4107 Неправильный параметр цены для торговой функции


Ищите ошибку в функции открытия ордеров. Либо в передаваемых в неё параметрах.

ЗЫ. Посмотрел код этой игрушки - в нём нет проверки на допустимый уровень установки ордеров - StopLevel. Хотя при нарушении ограничения по стоплевелу ошибка будет 130. Ищите, разбирайтесь. Но на реал его ставить нельзя.

 

поясните, как работает iLowest или iHighest???

int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

symbol - Символьное имя инструмента, на данных которого будет производиться поиск. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
type - Идентификатор таймсерии. Может быть любым из значений иденитификаторов таймсерий.
count - Число элементов таймсерии (в направлении от текущего бара в сторону возрастания индекса), среди которых должен быть произведен поиск.
start - Индекс (смещение относительно текущего бара) начального бара, с которого начинается поиск наибольшего значения. Отрицательные значения игнорируются и заменяются нулевым значением.

не понятно последнее...

int iHighest(Symbol(),0,MODE_HIGH,7,0) - вот если напишу так, то значит ли это, что он будет искать максимальные значения, начиная с текущего бара и заканчивая 7ми барами назад. Верно?

или так...

int iHighest(Symbol(),0,MODE_HIGH,7,7) - или этот вариант? чтоб он искал с 7-го по 1й? не пойму

 
CLAIN:

поясните, как работает iLowest или iHighest???

int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

symbol - Символьное имя инструмента, на данных которого будет производиться поиск. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
type - Идентификатор таймсерии. Может быть любым из значений иденитификаторов таймсерий.
count - Число элементов таймсерии (в направлении от текущего бара в сторону возрастания индекса), среди которых должен быть произведен поиск.
start - Индекс (смещение относительно текущего бара) начального бара, с которого начинается поиск наибольшего значения. Отрицательные значения игнорируются и заменяются нулевым значением.

не понятно последнее...

int iHighest(Symbol(),0,MODE_HIGH,7,0) - вот если напишу так, то значит ли это, что он будет искать максимальные значения, начиная с текущего бара и заканчивая 7ми барами назад. Верно?

или так...

int iHighest(Symbol(),0,MODE_HIGH,7,7) - или этот вариант? чтоб он искал с 7-го по 1й? не пойму


iHighest(Symbol(),0,MODE_HIGH,7,0);
 
Vinin:



большое спасибо
 
splxgf:

И что даст скрипт?

Обычно терминал отключается от сети, из нестандартного таймфрема пишется файл CSV и затем подгружается вместо любого символа и периода, на этом периоде и ведется тестирование. Правда по ценам открытия, но других вариантов особо нет.


К сожалению терминал не принимает подмен ))). При тесте пишет что отсутствуют данные для нужного таймфрейма. При попытке подгрузить инородный таймфрейм в Архиве котировок через импорт ничего не происходит.

Остается вариант советник-скрипт.

 
ZZZEROXXX:


К сожалению терминал не принимает подмен ))). При тесте пишет что отсутствуют данные для нужного таймфрейма. При попытке подгрузить инородный таймфрейм в Архиве котировок через импорт ничего не происходит.

Остается вариант советник-скрипт.

Дык, примет, если обмануть. Файл переименовывается в любой стандартный символ, который терминал знает. На клочке бумажки записывается для памяти, кого во что переименовал. Терминал отключается от сети, чтобы подставные котировки не переписывались настоящими. Достаешь свой клочок, смотришь, что тестировать, и тестируешь :))
 
ZZZEROXXX:


К сожалению терминал не принимает подмен ))). При тесте пишет что отсутствуют данные для нужного таймфрейма. При попытке подгрузить инородный таймфрейм в Архиве котировок через импорт ничего не происходит.

Остается вариант советник-скрипт.

Если ничего не получается прочтите наконец документацию

https://www.mql5.com/ru/articles/1368

 

granit77, splxgf

Дык я все так и делал, по логике. Кроме одного но - пытался импортировать .hst с нужным мне TF, но он его не ел. Попробую с .csv как в инструкции. (Но ведь это нонсенс, право же.)

Благодарю за сцылку.

 
ZZZEROXXX:

granit77, splxgf

Дык я все так и делал, по логике. Кроме одного но - пытался импортировать .hst с нужным мне TF, но он его не ел. Попробую с .csv как в инструкции. (Но ведь это нонсенс, право же.)

Благодарю за сцылку.

Ссылка блеск. Дмитрий рулит. Уже пол-форума так делают, а Вы все тормозите :))