Перейти к содержимому

Theme© by Fisana
 

Фотография
* * * * * 68 Голосов

Написание экспертов и индикаторов - бесплатно!


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 18761

#15166 tatianati

tatianati

    Не сидит в окопе

  • Пользователи
  • PipPipPipPipPip
  • 60 сообщений

Отправлено 05 July 2014 - 05:59

Шутите? Это хорошо!
в вашем случае, необходимо переделывать тех задание! иначе "девиз" не будет действовать!


ПИШИТЕ ТОЧНО!, предполагать, например будете у себя на тестировании потом.., если всё получиться конечно....

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

Здравствуйте.Пока стояла в очереди читала учебник по MQL4 и закодировала практически всё что нужно однако столкнулась с проблемой. Не могу переставить лимитник на тейкпрофит рыночного ордера. Итак всё по порядку: есть два лимитных ордера, когда один становится рыночным второй удаляю а хочу не удалять а переставить на Т/П рыночного.
Вот так удаляю
// просматриваю все открытые позиции и выставленные ордера
   int pos;
   for(pos=0; pos<OrdersTotal(); pos++)
 	{
  	// выделяю текущий ордер, чтобы получить о нем информацию
  	if (OrderSelect(pos, SELECT_BY_POS))
    	{
 		// Если маг. совпадает и это ОТКРЫТАЯ ПОЗИЦИЯ 
 		if ((OrderMagicNumber()==magic) && (OrderType()<=OP_SELL))
   	
      	{
   		// ищу второй отложенный ордер
   		
   		for(i=0; i<OrdersTotal(); i++)
        	{
          	if (OrderSelect(i, SELECT_BY_POS))
   			{
            	if ((OrderMagicNumber()==magic) && (OrderType()>OP_SELL))
 				{
   				// ордер найден - удаляю его.ВОТ ЗДЕСЬ ХОЧУ СДЕЛАТЬ МОДИФИКАЦИЮ ПЕРЕСТАВИТЬ ОРДЕР НА Т/П ОТКРЫТОЙ ПОЗИЦИИ
   				if (OrderDelete(OrderTicket()))
                	{
 					Print("Ордер удален");
                	}
   				else
                	{
 					Print("Ошибка ", GetLastError(), " при удалении ордера");
                	}
 				}
   			}
        	}
   		// выхожу из цикла
   		break;
      	} 
    	}
При том что уже переставляю лимитные ордера вслед за изменениями Хай / Лоу индикатора вот так:
for(i=OrdersTotal()-1; i>=0; i--) 
 	{OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  	if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic ) 
    	{//пересчитываю количество ордеров:
 		if(OrderType()==OP_BUY)  	{op_b++; }  
 		if(OrderType()==OP_SELL) 	{op_s++; }  
 		if(OrderType()==OP_BUYLIMIT) 
   		{b_lm++; 
        	if(low>0.2 && OrderOpenPrice()!=low) 
          	{//переношу лимитник на новый уровень
   			modify_limit_order(OP_BUYLIMIT, low);
   			Sleep(1000*10);
          	}
   		}
 		if(OrderType()==OP_SELLLIMIT)
   		{s_lm++; 
        	if(high>0.2 && OrderOpenPrice()!=high) 
          	{//переношу лимитник на новый уровень
   			modify_limit_order(OP_SELLLIMIT, high);
   			Sleep(1000*10);
          	}
   		}
    	}
Вот сама функция модификации
bool modify_limit_order(int type, double price) {  
   bool modify = false;
   if(type == OP_BUYLIMIT) //снизу
 	{   price_op=price;
 		price_sl=price_op-StopLs*Point;
 		price_tp=price_op+TakePr*Point;
 		if(!OrderModify(OrderTicket(),nd0(price_op),nd0(price_sl),
                        	nd0(price_tp),0,RoyalBlue) );
   		// print_error("Передвижка ","BUY-LIMIT");
 	}
   if(type == OP_SELLLIMIT) //сверху
 	{   price_op=price;
 		price_sl=price_op+StopLs*Point;
 		price_tp=price_op-TakePr*Point;
 		if(!OrderModify(OrderTicket(),nd0(price_op),nd0(price_sl),
                        	nd0(price_tp),0,OrangeRed));
   		// print_error("Передвижка","SELL-LIMIT");
 	}
 	
   return(modify);
  }
Предполагаю что после перестановки лимитного ордера на уровень Т/П противоположного рыночного нужно запретить переставлять по high / low индикатора.
Пожалуйста вместо удаления переставьте на Т/П.
  • Shipr это нравится

Благотворительный фонд поддержки молодых программистов

 


 
 

#15167 lilita

lilita

    В бою

  • Свой человек
  • PipPipPipPipPipPipPip
  • 150 сообщений

Отправлено 05 July 2014 - 10:11

Здравствуйте.Пока стояла в очереди читала учебник по MQL4 и закодировала практически всё что нужно однако столкнулась с проблемой. Не могу переставить лимитник на тейкпрофит рыночного ордера. Итак всё по порядку: есть два лимитных ордера, когда один становится рыночным второй удаляю а хочу не удалять а переставить на Т/П рыночного.

Предполагаю что после перестановки лимитного ордера на уровень Т/П противоположного рыночного нужно запретить переставлять по high / low индикатора.
Пожалуйста вместо удаления переставьте на Т/П.


// просматриваю все открытые позиции и выставленные ордера
   int pos;
   double SellOrderTP=0.0;
   double BuyOrderTP=0.0;
   for(pos=0; pos<OrdersTotal(); pos++)
        {
        // выделяю текущий ордер, чтобы получить о нем информацию
        if (OrderSelect(pos, SELECT_BY_POS))
        {
                // Если маг. совпадает и это ОТКРЫТАЯ ПОЗИЦИЯ 
                if ((OrderMagicNumber()==magic) && (OrderType()<=OP_SELL))
                {
                  if(OrderType()==OP_SELL){SellOrderTP=OrderTakeProfit();}
                  if(OrderType()==OP_BUY){BuyOrderTP=OrderTakeProfit();}
                  // ищу второй отложенный ордер
   				for(int i=0; i<OrdersTotal(); i++)
   				{
   				if (OrderSelect(i, SELECT_BY_POS))
   				{
   				if ((OrderMagicNumber()==magic) && (OrderType()>OP_SELL))
   				{
                        // ордер найден - удаляю его.ВОТ ЗДЕСЬ ХОЧУ СДЕЛАТЬ МОДИФИКАЦИЮ ПЕРЕСТАВИТЬ ОРДЕР НА Т/П ОТКРЫТОЙ ПОЗИЦИИ
                        /*if (OrderDelete(OrderTicket()))
                        {
                                        Print("Ордер удален");
                        }
 						else
                        {
                                        Print("Ошибка ", GetLastError(), " при удалении ордера");
                        }*/
                        if(OrderType()==OP_SELLLIMIT){if(!modify_limit_order(OP_SELLLIMIT, BuyOrderTP)){i--;Sleep(1000);continue;}}
                        if(OrderType()==OP_BUYLIMIT){if(!modify_limit_order(OP_BUYLIMIT, SellOrderTP)){i--;Sleep(1000);continue;}}
                    }
                    }
                    }
                    // выхожу из цикла
                break;
                  } 
 		}  
 		}

bool modify_limit_order(int type, double price) {  
   bool modify = false;
   if(type == OP_BUYLIMIT) //снизу
        {   price_op=price;
                price_sl=price_op-StopLs*Point;
                price_tp=price_op+TakePr*Point;
                modify=OrderModify(OrderTicket(),nd0(price_op),nd0(price_sl),
                                nd0(price_tp),0,RoyalBlue);
                // print_error("Передвижка ","BUY-LIMIT");
        }
   if(type == OP_SELLLIMIT) //сверху
        {   price_op=price;
                price_sl=price_op+StopLs*Point;
                price_tp=price_op-TakePr*Point;
                modify=OrderModify(OrderTicket(),nd0(price_op),nd0(price_sl),
                                nd0(price_tp),0,OrangeRed);
                // print_error("Передвижка","SELL-LIMIT");
        }
        
   return(modify);
  }
Код не проверен.
  • Shipr и tatianati это нравится
Торговля против тренда не является хорошей идеей, когда вы думаете об этом. Все, кажется, хотят выбрать верх или низ, но есть очень много последствий такого мышления.

#15168 amarlboro

amarlboro

    Рвется в бой

  • Свой человек
  • PipPipPipPipPipPip
  • 115 сообщений

Отправлено 05 July 2014 - 10:30


Shipr, спасибо большое-оперативненько. Ещё вопрос вдогонку: можно ли сделать, что бы при достижении нужного безубытка закрывалась вся серия ордеров(SevenFx 7a_byVlad)? Спасибо!

Прикрепленные файлы



#15169 MCM

MCM

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 35 сообщений

Отправлено 05 July 2014 - 11:14

Доброго времени суток. Помогите. пожалуйста. декомпилировать индикатор.

Прикрепленные файлы



#15170 yupyalta

yupyalta

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 884 сообщений

Отправлено 05 July 2014 - 12:37

Доброго времени суток. Помогите. пожалуйста. декомпилировать индикатор.


==================

Прикрепленные файлы


  • MCM это нравится
Важно только то сколько ты зарабатываешь, когда прав и сколько теряешь когда ошибаешься!

#15171 MCM

MCM

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 35 сообщений

Отправлено 05 July 2014 - 12:52


yupyalta, спасибо!!!



#15172 Viktor312

Viktor312

    Выпустил первую очередь

  • Пользователи
  • PipPipPip
  • 10 сообщений

Отправлено 06 July 2014 - 07:58

Здравствуйте!

Необходимо создать индикатор для MetaTrader 4, терминал предлогает работать с графиком и постоянным колебанием цен, для расчетов необходимо знать цифры, постоянно приходится измерять граффик, это не очень удобно, поэтому нужен индикатор (работа на часовом графике) который отоброжал бы:

надстрочье: график: отоброжение графика (пример: USD/JPY)

В первом столбце: дата (одного дня) в отдельном окне, это может быть вариант Microsoft Office Excel (самый лучший вариант) либо любой текстовик, на крайний случай подойдет платформа метотрейдера, если с нее можно будет копировать данные.

Во втором столбце цену максимума (за один пройденный день) в этом же окне.

В третьем столбце цену минимума (за один пройденный день) в этом же окне.

В четвертом столбце среднию цену между максимумом и минимумом (за один пройденный день) в этом же окне.

Возможно создать такой индикатор?

Пример во вложении.

Всем привет, кто нибудь смотрел индикатор? его можно сделать? плиз, очень нужен....

#15173 Shipr

Shipr

    Есть ещё порох в пороховницах

  • Заблокированные
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 863 сообщений

Отправлено 06 July 2014 - 08:03

Здравствуйте.


Пожалуйста вместо удаления переставьте на Т/П.


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

тестовые варрианты модификации отложенных ордеров.
надеюсь поможет...

сов выставляет два ордера. пример на двух селстопах,(с остальными, смысл тот же)

но речь пойдёт о втором ордере при условии когда первый ордер станет рыночным, начнётся его модификация....))

ваш код сохранил как смог.

//==============================================================================================ООО
SOV_tatianati==1 меняет(модифицирует) свой тейкпрофит на свою цену открытия, и закрывается в ноль.

SOV_tatianati==2 меняет свой тейкпрофит с 200 на 1500 пунктов

SOV_tatianati==3 меняет своё положение вверх на 150 пунктов и сбрасывает свой тейкпрофит

SOV_tatianati==4 менняет своё положение вниз на 150 пунктов,и менняет свой тейк профит на 1500,
и подтягивает стоплос на 500 пунктов.
//==============================================================================================ООО

Прикрепленные изображения

  • ПР.jpg

Прикрепленные файлы


  • tatianati это нравится

#15174 Shipr

Shipr

    Есть ещё порох в пороховницах

  • Заблокированные
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 863 сообщений

Отправлено 06 July 2014 - 08:05

Прикрепленные файлы



#15175 Shipr

Shipr

    Есть ещё порох в пороховницах

  • Заблокированные
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 863 сообщений

Отправлено 06 July 2014 - 08:06

Прикрепленные файлы


  • lik это нравится

#15176 Shipr

Shipr

    Есть ещё порох в пороховницах

  • Заблокированные
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 863 сообщений

Отправлено 06 July 2014 - 08:07

Прикрепленные файлы



#15177 tana808

tana808

    В бою

  • Свой человек
  • PipPipPipPipPipPipPip
  • 188 сообщений

Отправлено 06 July 2014 - 11:21

ПОМОГИТЕ ПОЖАЛУЙСТА НЕ УСТАНАВЛИВАЕТСЯ НА ГРАФИК Download: 3_Level_ZZ_Semafor_TRO_MODIFIED_VERSION_006.mq4

#15178 tana808

tana808

    В бою

  • Свой человек
  • PipPipPipPipPipPipPip
  • 188 сообщений

Отправлено 06 July 2014 - 11:24

ПОСМОТРИТЕ ПОЖАЛУЙСТА ЕЩЁ И ЭТОТ ТОЖЕ НЕ УСТАНАВЛИВАЕТСЯ 3_Level_ZZ_Semafor_TRO_MODIFIED_VERSION_fixed.mq4

#15179 yupyalta

yupyalta

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 884 сообщений

Отправлено 06 July 2014 - 13:06

ПОСМОТРИТЕ ПОЖАЛУЙСТА ЕЩЁ И ЭТОТ ТОЖЕ НЕ УСТАНАВЛИВАЕТСЯ 3_Level_ZZ_Semafor_TRO_MODIFIED_VERSION_fixed.mq4


===========

Прикрепленные файлы


  • Trend это нравится
Важно только то сколько ты зарабатываешь, когда прав и сколько теряешь когда ошибаешься!

#15180 Trend

Trend

    Выпустил первую очередь

  • Пользователи
  • PipPipPip
  • 26 сообщений

Отправлено 06 July 2014 - 14:14

Откройте индикаторы в архивах если возможно с ЕХ4 в mq4 что-бы можно было их ковырять .Изображение

Прикрепленные файлы





Copyright © 2024 Your Company Name