Перейти к содержанию
Форекс Форум трейдеров Академии «MasterForex-V»

Полезные скриптики


Рекомендуемые сообщения

Или может есть возможность связать два ордера, т.е. при закрытии одногоотпала необходимость в другом и его надо автоматически закрыть

если речь идёт о МТ4, то на данным момент самым удобным мне кажется вариант советника.

 

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

 

более удобным может оказаться использование глобальных переменных. тогда можно будет просто прописывать определённым образом пары ордеров и советник сможет все их "обслуживать".

 

Извиняюсь, у Вас случаем нет такого советника?

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 135
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Извиняюсь, у Вас случаем нет такого советника?

нет, такого нет. но если возникнет потребность - обращайтесь в личку. :smile:

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Написал по случаю небольшой советник для ведения ордеров - очень удобно использовать на демо-счетах при отработке стратегий. :-)

 

Функционал:

 

- умеет переводить позицию в безубыток

- умеет тралить позицию

- умеет ставить первоначальные уровни СтопЛосс и ТэйкПрофит

- умеет закрывать позицию с рынка при достижении указанного количества пунктов профита

- умеет работать с символом своего графика либо со всеми символами

- умеет работать с указанным мэджиком либо со всеми мэджиками

 

Tral.rar

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Уважаемые програмисты!!!

Есть потребность в индикаторе PIVOT с возможностью в ручную вносить параметры High, Low, Ciose по стандартной формуле

P=(H+L+C)/3

R1=2*P-L

R2=P+(R1-S1)

R2=H+2*(P-L)

S1=2*P-H

S2=P-(R1-S1)

S3=L-2*(H-P)

А он сам потом чертил все линии Pivot и R,S. на графиках.

Если нетрудно сделайте такой или подскажите где взять.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
Многие при тестировании своих ТС или МТС сталкиваются с открытием большого числа ордеров, в том числе и с установкой большого числа отложенных ордеров.

 

Посему, в качестве побочного продукта, я для себя набросал 2 простых скрипта:

 

1. УдалитьВсеОтложенники - скрипт удаляет все отложенные ордера, какие найдёт.

2. УдалитьВсеОткрытыеОрдера - скрипт закрывает все открытые в настоящий момент ордера.

 

[ в сети есть много разных вариаций, которые работают через пень-колоду, но в работе своих я уверен. :-) ]

 

Только не вешайте эти скрипты на хот-кеи.. Мало ли - ткнёте ещё случайно в реальной торговле!!

 

Распаковать и положить в папку - C:\Program Files\WHC Trader 4\experts\scripts (если у вас водники)

Clear.rar

 

Можно сделать так, что бы он не просто закрывал все ордера, а закрывал только с определенным коментарием.

Потомучто не всегда нужно закрывать все ордера...

Ссылка на комментарий
Поделиться на другие сайты

Можно сделать так, что бы он не просто закрывал все ордера, а закрывал только с определенным коментарием.

Потомучто не всегда нужно закрывать все ордера...

конечно можно! :-)

 

CloseComment.rar

Ссылка на комментарий
Поделиться на другие сайты

Может я что то не так делаю, но он не пашет.

открываю ордер пишу в коменте 1

 

запускаю скрипт в строке коментарии пишу 1

открытые true

отложники true

проскальзование 10

 

нажемаю окей, и нечего.

 

потом нажимаю сменить ТФ и вскакивает тобличка (вы действительно хотите удалить ордера с коментарим)

 

нажемаю окей, и нечего.

Изменено пользователем uran17
Ссылка на комментарий
Поделиться на другие сайты

Может я что то не так делаю, но он не пашет.

...

нажемаю окей, и нечего.

да, что-то не так. :rolleyes:

 

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

 

скрипт писал очень давно, но с тех пор у всех работает.. может какой-то билд МТ4 не тот. выкладываю с исходником :-)

 

а картинка должна быть такая (учтите, что пока вы думаете, баланс по ордерам конечно может измениться):

 

post-10159-1216961943_thumb.png

 

CloseComment_1.rar

Ссылка на комментарий
Поделиться на другие сайты

Привет ! Незнаю как тебя зовут ( Shu) , поэтому обращаюсь просто...

У меня проблема - не запускается скрипт , я выкладываю библиотеку , а ты глянь - может ошибка где , или я че то не так делаю ?

...и там еще по Стоплоссу та же фигня .

Просто скрипт оч полезный :smile: .А это ссыла - где я его взял http://www.mymmk.com/general/my_mql4/mql4_index.php

//+------------------------------------------------------------------+

//| TP2BreakevenIf.mq4 |

//| I_D |

//| http://www.mymmk.com/ |

//+------------------------------------------------------------------+

#property copyright "I_D"

#property link "http://www.mymmk.com/"

#property library

 

//+------------------------------------------------------------------+

//| ВЫСТАВЛЕНИЕ ТЕЙКПРОФИТА В БЕЗУБЫТОК + N п. ПРИ ЛОССЕ В Х п. |

//| iLoss - лосс, пунктов (вместе со спрэдом), при котором |

//| выставляем тейкпрофит в безубыток + iZepoPlus пунктов |

//+------------------------------------------------------------------+

void TP2BreakevenIf(int iTicket,int iLoss,int iZepoPlus)

{

 

int i; // counter

double dBid, dAsk;

 

// проверяем переданные значения

if ((iZepoPlus<0) || (iLoss+iZepoPlus<MarketInfo(Symbol(),MODE_STOPLEVEL)) || (!OrderSelect(iTicket,SELECT_BY_TICKET)))

{

Print("Установка тейкпрофита функцией TP2BreakevenIf () невозможна из-за некорректности значений переданных ей аргументов.");

return(0);

}

 

if (OrderType()==OP_BUY)

{

dBid = MarketInfo(Symbol(),MODE_BID);

// если текущий курс ниже курса открытия позиции на iLoss пунктов или больше

if ((OrderOpenPrice()-dBid)+MarketInfo(Symbol(),MODE_SPREAD)>=iLoss*Point)

OrderModify(iTicket,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+iZepoPlus*

Point,OrderExpiration(),Red);

}

 

if (OrderType()==OP_SELL)

{

dAsk = MarketInfo(Symbol(),MODE_ASK);

// если текущий курс ниже курса открытия позиции на iLoss пунктов или больше

if ((dAsk-OrderOpenPrice())>=iLoss*Point)

OrderModify(iTicket,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()-iZepoPlus*Point,OrderExpiration(),Blue);

}

}

//+------------------------------------------------------------------+

Ссылка на комментарий
Поделиться на другие сайты

Короче говоря , порылся я на том сайте ( что указал ссылку )...и понял что делаю что то не так ...

Не будешь так любезен Shu , на понятном языке ( :smile: ) объяснить - что и куда " засовывать " ...и как ( как для " чайника " )

...Я в MQL явно не спец :wink:

Заранее благодарен .

С Уважением , Алексей .

Ссылка на комментарий
Поделиться на другие сайты

Короче говоря , порылся я на том сайте ( что указал ссылку )...и понял что делаю что то не так ...

Не будешь так любезен Shu , на понятном языке ( :smile: ) объяснить - что и куда " засовывать " ...и как ( как для " чайника " )

...Я в MQL явно не спец :wink:

только что увидел сообщение, но где-то в другой ветке видел, что тебе уже ответили на твой вопрос! :happy:

Ссылка на комментарий
Поделиться на другие сайты

Короче говоря , порылся я на том сайте ( что указал ссылку )...и понял что делаю что то не так ...

Не будешь так любезен Shu , на понятном языке ( :smile: ) объяснить - что и куда " засовывать " ...и как ( как для " чайника " )

...Я в MQL явно не спец :wink:

только что увидел сообщение, но где-то в другой ветке видел, что тебе уже ответили на твой вопрос! :happy:

Да... ответили. Только не то что я хотел бы услышать .

Ты не мог бы нечто подобное "собрать" , только отдельно работающее ?

Уж больно хорошая функция у того скрипта .

Ссылка на комментарий
Поделиться на другие сайты

Примерно вот так используется (советник):

 

TakeUP.rar

 

Параметры:

 

Loss - лосс, пунктов (вместе со спрэдом), при котором выставляем тейкпрофит в безубыток

ZepoPlus - сколько пунктов

Ссылка на комментарий
Поделиться на другие сайты

Примерно вот так используется (советник):

 

TakeUP.rar

 

Параметры:

 

Loss - лосс, пунктов (вместе со спрэдом), при котором выставляем тейкпрофит в безубыток

ZepoPlus - сколько пунктов

 

Приветствую всех хакеров! :biggrin:

 

Саш я тут вот по такому делу! Опробовали мы с Лёшей (chert) этот скрипт и вот какие первые впечатления!

Может я чё не разобрался, но Работает он задом на перёд!!

 

1. ZepoPlus - работает совсем по другому, т.е. как только сделка переходит в "+" Сразу же выставляется тейк на количество пипов, которое указанно в ZepoPlus! И потом этот тейк при достижении - просто срабатывает!

 

Для чего функция Loss - я так и не разобрался!

 

 

Если не против, попытаюсь ещё раз обьяснить что именно дожно родиться:

 

Открыта сделка - при достижении конкретно указанной котировки (ну или можно в пипах) должет выставиться StopLoss - т.е. в безубыток на указанное количество пипов!

 

Зараенее благодарен за помощь!!!

 

С Уважением Павел

Ссылка на комментарий
Поделиться на другие сайты

Примерно вот так используется (советник):

 

TakeUP.rar

 

Параметры:

 

Loss - лосс, пунктов (вместе со спрэдом), при котором выставляем тейкпрофит в безубыток

ZepoPlus - сколько пунктов

 

Приветствую всех хакеров! :biggrin:

 

Саш я тут вот по такому делу! Опробовали мы с Лёшей (chert) этот скрипт и вот какие первые впечатления!

Может я чё не разобрался, но Работает он задом на перёд!!

 

1. ZepoPlus - работает совсем по другому, т.е. как только сделка переходит в "+" Сразу же выставляется тейк на количество пипов, которое указанно в ZepoPlus! И потом этот тейк при достижении - просто срабатывает!

 

Для чего функция Loss - я так и не разобрался!

 

 

Если не против, попытаюсь ещё раз обьяснить что именно дожно родиться:

 

Открыта сделка - при достижении конкретно указанной котировки (ну или можно в пипах) должет выставиться StopLoss - т.е. в безубыток на указанное количество пипов!

 

Зараенее благодарен за помощь!!!

 

С Уважением Павел

Нет ,Паша . этот работает правильно ...

Александр (Shu) я так понимаю нам не тот скрипт нужен , а вот этот

//+------------------------------------------------------------------+

//| ВЫСТАВЛЕНИЕ СТОПЛОССА В БЕЗУБЫТОК + N п. ПРИ ПРОФИТЕ В Х п. |

//| iLoss - лосс, пунктов (вместе со спрэдом), при котором |

//| выставляем тейкпрофит в безубыток + iZepoPlus пунктов |

//+------------------------------------------------------------------+

void SL2BreakevenIf(int iTicket,int iProfit,int iZepoPlus)

{

 

int i; // counter

double dBid, dAsk;

 

// проверяем переданные значения

if ((iZepoPlus<0) || (iProfit-iZepoPlus<MarketInfo(Symbol(),MODE_STOPLEVEL)) || (!OrderSelect(iTicket,SELECT_BY_TICKET)))

{

Print("Установка стоплосса функцией SL2BreakevenIf () невозможна из-за некорректности значений переданных ей аргументов.");

return(0);

}

 

if (OrderType()==OP_BUY)

{

dBid = MarketInfo(Symbol(),MODE_BID);

// если текущий курс ниже курса открытия позиции на iLoss пунктов или больше

if (dBid-OrderOpenPrice()>=iProfit*Point)

if (OrderStopLoss()<OrderOpenPrice()+iZepoPlus*Point)

OrderModify(iTicket,OrderOpenPrice(),OrderOpenPrice()+iZepoPlus*Point,OrderTakeP

rofit(),OrderExpiration(),Red);

}

 

if (OrderType()==OP_SELL)

{

dAsk = MarketInfo(Symbol(),MODE_ASK);

// если текущий курс ниже курса открытия позиции на iLoss пунктов или больше

if (OrderOpenPrice()-dAsk>=iProfit*Point)

if ((OrderStopLoss()==0) || (OrderStopLoss()>OrderOpenPrice()-iZepoPlus*Point))

OrderModify(iTicket,OrderOpenPrice(),OrderOpenPrice()-iZepoPlus*Point,OrderTakeProfit(),OrderExpiration(),Blue);

}

}

//+------------------------------------------------------------------+

 

Плюс привязка к конкретному ордеру (если ордеров много ) .

..Хм... думаю я правильно рассуждаю ... :smile:

Получается : нужен советник который привязываем к конкретному ордеру (или графику , но с указанием конкретного ордера ), и который при прохождении цены в "+"( в положительную сторону ) определенное кол-во пп - переводил этот ордер в Б/У ( т.е. переводил Стоп-лосс в положение " +1 "... надеюсь свои мысли выложил в понятной форме :wink:

С уважением , Алексей !

Заранее спасибо за внимание уделенное Нам с Пашей .

Ссылка на комментарий
Поделиться на другие сайты


×
×
  • Создать...