s-r.original.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «s-r.original.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торговый советник для платформы MetaTrader 4. Он определяет уровни поддержки и сопротивления на графике и на их основе открывает отложенные ордера BuyStop и SellStop.
Советник осуществляет управление позициями с помощью трейл-стопа и модифицирует отложенные ордера при изменении рыночных уровней. Расчёт объёма сделки учитывает свободный баланс счёта и параметры риска, заданные пользователем.
Встроенная очистка устаревших графических объектов поддерживает актуальность отображения на графике. Советник работает в рамках стандартного обработчика событий MetaTrader 4.
Настройки программы
| Настройка | Описание |
|---|---|
| MaximumRisk | Максимальный коэффициент риска, определяющий долю свободного баланса, используемую для расчёта объёма сделки. |
| DecreaseFactor | Коэффициент уменьшения лота при наличии убыточных сделок в истории. |
| Magic | Магический номер для идентификации ордеров, управляемых советником. |
| comment | Текстовый комментарий, добавляемый к ордерам советника. |
Поиск по коду файла
extern double MaximumRisk =0.02;
extern double DecreaseFactor =3;
extern int Lot.Margin =1000;
extern int Max.Trendlines =55;
extern double Magic =321;
extern string comment ="m S-R";
int b,s,ticket,ChartPeriod;
double buy,sell,btsl,stsl,b.mod,s.mod,bsl.mod,ssl.mod,bsl,ssl;
double spread;spread=Ask-Bid;
int slip;slip=spread/Point;
double fifteen;
int init(){
// код доступен только после оплаты
}
int deinit(){return(0);}
int start(){
// код доступен только после оплаты
}
void PosCounter() {
b=0;s=0;
for(int cnt=0;cnt<=OrdersTotal();cnt++) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) {
if(OrderType()==OP_SELL) s++;
if(OrderType()==OP_SELLSTOP) s++;
if(OrderType()==OP_BUY) b++;
if(OrderType()==OP_BUYSTOP) b++;}}}
void BuySell() {
for(int c=0;c<ObjectsTotal();c++) {
if(ObjectGetValueByShift(ObjectName(c),0)>Ask) {
buy=ObjectGetValueByShift(ObjectName(c),0)+spread;}
if(ObjectGetValueByShift(ObjectName(c),0)<Bid) {
sell=ObjectGetValueByShift(ObjectName(c),0)-spread;}}}
void TrailStop() {
for(int i=0;i<OrdersTotal();i++) {
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && IsTradeAllowed()) {
if(OrderType()==OP_BUY) {
for(int p=0;p<ObjectsTotal();p++) {
if(ObjectGetValueByShift(ObjectName(p),0)<Bid &&
ObjectGetValueByShift(ObjectName(p),0)>OrderOpenPrice() &&
ObjectGetValueByShift(ObjectName(p),0)>OrderStopLoss()) {
btsl=ObjectGetValueByShift(ObjectName(p),0);}
if(btsl>0 && btsl>OrderStopLoss()) {
OrderModify(OrderTicket(),OrderOpenPrice(),btsl,
OrderTakeProfit(),OrderExpiration(),Olive);}}}
if(OrderType()==OP_SELL) {
for(int k=0;k<ObjectsTotal();k++) {
if(ObjectGetValueByShift(ObjectName(k),0)>Ask &&
ObjectGetValueByShift(ObjectName(k),0)<OrderOpenPrice() &&
ObjectGetValueByShift(ObjectName(k),0)<OrderStopLoss()) {
stsl=ObjectGetValueByShift(ObjectName(k),0);}
if(stsl>0 && stsl<OrderStopLoss()) {
OrderModify(OrderTicket(),OrderOpenPrice(),stsl,
OrderTakeProfit(),OrderExpПоказано первые 50% кода (символов: 6116)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.