[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 126
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну тогда подскажи как отредактировать код что б не походил на взломанный ели ты всё понимаешь . я пришел на ветку для новичков. И в первый раз на форуме . а мне тут такой красивый ответ .
"У гениальных людей гениальный ответ "
Переменным названия придай "читабельные".
Да нет, не без стопа. Я ж кусок выложил только. Вот функцию безубытка моя:
В строке ясно видно, что если стоп рассчитаный равен тому, который есть уже, то модификации не будет! Верно же? Значит проверка то изначально и была? Но пока в старте не вбил очередное условие перед функцией модификации ошибка 1 выскакивала постоянно:
Вот почему.... это я и хочу понять. Вроде я всё описал досканально.У меня функция служит для всех модификаций как установка СЛ и ТП, перевод в Б/У, трал позиций и ордеров с попытками и проверками на ошибки.
А в старте только нужно прописывать выбор позиции, условия и предупредительные меры. Вот функция:
Маленькая да удаленькая!Для новичков в первую очередь:
Спасибо! обязательно прочту .
Мир не без добрых людей.
Переменным названия придай "читабельные".
у меня есть советник обыкновенный мартин "Ilan" . хочу чтоб он модифицировал не все открытые ордера . а только начальный и последний ордер по T/P Хочу сделать помощника для себя . сможешь помоги . вот его код
/* Так и до бана не далеко */Всем привет.Я беру значения индикаторов в отдельном окне с уже сформерованного бара (т.е. с бара №1),которые считаю один раз на баре №0 на первом его тике.Всё работает быстро и правильно.НО стоит выключить компьютер и через какое-то время снова включить,то индикаторы продолжают исправно работать,а вот их значений на то время,когда был выключен компьютер нет.Просто пустое место.Т.е. есть значения индикаторов ДО выключения и ПОСЛЕ включения компьютера.Но стоит только переключиться туда-обратно с ТФ наТФ - все "пропавшие" значения появляются.Индикаторы стандартные - CCI,AO и т.п.Коды брал с форумов,их прилагаю.Объясните,пожалуйста,где я не прав и чего не понимаю.
Код №1 ------ int start() { //-------------------------------------------------------------------- Fun_New_Bar(); // Обращение к ф-ии if (New_Bar==false) // Если бар не новый.. return; // ..то уходим //-------------------------------------------------------------------- int counted_bars=IndicatorCounted(), limit; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(int i=0;i<limit;i++) //------------------------------- { КОД ИНДИКАТОРА } //------------------------------- return(0); } //+------------------------------------------------------------------+ void Fun_New_Bar() // Ф-ия обнаружения .. { // .. нового бара static datetime New_Time=0; // Время текущего бара New_Bar=false; // Нового бара нет if(New_Time!=Time[0]) // Сравниваем время { New_Time=Time[0]; // Теперь время такое New_Bar=true; // Поймался новый бар } } //-------------------------------------------------------------------- Код №2 ------ int start() { if (NewBar() == true) { int counted_bars=IndicatorCounted(), limit; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(int i=0;i<limit;i++) //------------------------------- { КОД ИНДИКАТОРА } //------------------------------- } return(0); } //+------------------------------------------------------------------+ bool NewBar() { static datetime lastbar = 0; datetime curbar = Time[0]; if(lastbar!=curbar) { lastbar=curbar; return (true); } else { return(false); } } Код №3 ------ //--- buffers double ExtMapBuffer1[]; //--- for one bar datetime Last,New; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(0,ExtMapBuffer1); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { New=Time[0]; if(Last!=New) { int counted_bars=IndicatorCounted(), limit; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //---- for(int i=0;i<limit;i++) //------------------------------- { КОД ИНДИКАТОРА } //------------------------------- Last=New; } //---- return(0); } //+------------------------------------------------------------------+ Код №4 ------ int start() { if(last>=Time[0]) return; int counted_bars=IndicatorCounted(), limit; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //---- for(int i=0;i<limit;i++) //------------------------------- { КОД ИНДИКАТОРА //------------------------------- last=Time[0]; } //---- return(0); } //+------------------------------------------------------------------+У меня функция служит для всех модификаций как установка СЛ и ТП, перевод в Б/У, трал позиций и ордеров с попытками и проверками на ошибки.
А в старте только нужно прописывать выбор позиции, условия и предупредительные меры. Вот функция:
Маленькая да удаленькая!Ничего себе :) Благодарю. Нужно "осмотреть" обязательно!
у меня есть советник обыкновенный мартин "Ilan" . хочу чтоб он модифицировал не все открытые ордера . а только начальный и последний ордер по T/P Хочу сделать помощника для себя . сможешь помоги . вот его код
Вообще нужно "отсеять" закрытые ордера, не считая магика и символа, конечно. Дальше выбрать начальный и последний ордера для модификации.
У тебя OrderSelect(g_pos_300, SELECT_BY_POS, MODE_TRADES); - это последний ордер.
А OrderSelect(0, SELECT_BY_POS, MODE_TRADES); - это будет первый ордер.
Ветка эта с вопросами по языку, я ответил тебе на вопрос. Переделкой ботов тут не занимаются. Но выше всё есть для того чтоб это включить в эксперт при малейшем понимание языка. Надеюсь, помог...
у меня есть советник обыкновенный мартин "Ilan" . хочу чтоб он модифицировал не все открытые ордера . а только начальный и последний ордер по T/P Хочу сделать помощника для себя . сможешь помоги . вот его код
Для отлова нужных позиций пользуйтесь "Полезными функциями" от Кима на почти все возможные случаи!
https://www.mql5.com/ru/forum/131859
Вообще нужно "отсеять" закрытые ордера, не считая магика и символа, конечно. Дальше выбрать начальный и последний ордера для модификации.
У тебя OrderSelect(g_pos_300, SELECT_BY_POS, MODE_TRADES); - это последний ордер.
А OrderSelect(0, SELECT_BY_POS, MODE_TRADES); - это будет первый ордер.
Ветка эта с вопросами по языку, я ответил тебе на вопрос. Переделкой ботов тут не занимаются. Но выше всё есть для того чтоб это включить в эксперт при малейшем понимание языка. Надеюсь, помог...
Всем привет.Я беру значения индикаторов в отдельном окне с уже сформерованного бара (т.е. с бара №1),которые считаю один раз на баре №0 на первом его тике.Всё работает быстро и правильно.НО стоит выключить компьютер и через какое-то время снова включить,то индикаторы продолжают исправно работать,а вот их значений на то время,когда был выключен компьютер нет.Просто пустое место.Т.е. есть значения индикаторов ДО выключения и ПОСЛЕ включения компьютера.Но стоит только переключиться туда-обратно с ТФ наТФ - все "пропавшие" значения появляются.Индикаторы стандартные - CCI,AO и т.п.Коды брал с форумов,их прилагаю.Объясните,пожалуйста,где я не прав и чего не понимаю.
Код №1