Помощь в кодировании - страница 20

 

база выхода по MACD

Мистер гуру, не могли бы вы помочь мне сделать этот советник закрывающим базу на пересечении MACD 0.

Я отредактировал, но для меня это слишком сложно... Большое спасибо.

Файлы:
1428maplus.mq4  30 kb
 

Ищу помощи в написании кода без хеджирования

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

Я надеюсь получить некоторую помощь с кусочком кода. У меня есть система поддержки и сопротивления, и я пытаюсь отредактировать ea, чтобы включить возможность хеджирования. (Поскольку я живу в США и работаю с брокером без хеджирования).

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

Поэтому я пытаюсь отредактировать код, чтобы включить эту опцию. Очевидно, что мне нужно вставить bool и установить его в false (что я и сделал), но я не уверен, куда двигаться дальше.

Советник является типичным советником поддержки/сопротивления. Он размещает отложенные ордера на расстоянии x от поддержки или сопротивления. На примере, если рынок находится в нисходящем тренде и бьет мою отложенную продажу и превращает ее в рыночный ордер, а затем тренд разворачивается, мне нужно удалить отложенные ордера на покупку (или запретить отложенные ордера на покупку), пока ордер на продажу не будет закрыт.

Советник также удаляет отложенные ордера по таймеру истечения срока действия и по окончании введенных торговых часов. Я не был уверен, смогу ли я модифицировать часть этого кода, чтобы сделать то, о чем я думаю.

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

void deletebuypending(int magic)

{

for(i=0;i<OrdersTotal();i++)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() &&

OrderMagicNumber()==magic &&

OrderType()==OP_BUYSTOP)

{

OrderDelete(OrderTicket());

}

}

}

void deletesellpending(int magic)

{

for(i=0;i<OrdersTotal();i++)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() &&

OrderMagicNumber()==magic &&

OrderType()==OP_SELLSTOP)

{

OrderDelete(OrderTicket());

}

}

}

Любая помощь или указание правильного направления будут приняты с благодарностью.

 

Спасибо за попытку помочь мне (снова переместив мою тему без комментариев). Я прочитал всю эту тему, но не увидел ничего, относящегося к тому, о чем я спрашивал. Я начал пытаться написать код самостоятельно.

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

Все еще надеюсь, что кто-нибудь сможет мне помочь.

if (hedge==false)

{

int total = OrdersTotal();

for(m=total-1;m>=0;m--)

{

OrderSelect(m, SELECT_BY_POS);

int type=OrderType();

int type1=OP_BUY;

int type2=OP_BUYSTOP;

int type3=OP_SELL;

int type4=OP_SELLSTOP;

if(type==type2 && type1>0)

{

OrderDelete(OrderTicket());

}

if(type==type4 && type3>0)

{

OrderDelete(OrderTicket());

}

}

}

 

Привет, Грегвендланд,

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

 

Спасибо, MrTools.

Я ценю это. Я понял, что вы сделали, переместив мою тему. Я просто не нашел ответов в предыдущих сообщениях. Я все еще работаю над этим. Кажется, я разобрался. Похоже, что он разрешает активный ордер и удаляет противоположный отложенный ордер. А также переключение между ними.

if (hedge==false)

{

int total = OrdersTotal();

for(m=total-1;m>=0;m--)

{

OrderSelect(m, SELECT_BY_POS);

if(OrderType()==OP_BUY)

{

deletesellpending(magic);

}

if(OrderType()==OP_SELL)

{

deletebuypending(magic);

}

}

}

[/PHP]

Now, it sort of brings up another question. The EA places objects and connecting lines to show where an order was opened and closed. With setting up the deletepending this way, My chart actually gets filled with continuous Sell/Buy Stop indicators immediately followed by closing/deleted indicators. This continues until there is no longer an open position.

So, what I'd like to try now is to figure out if I can put in a check at the ordering function to stop a pending order from even being placed. This will create a cleaner chart screen for me.

I know I figured that one out on my own, but I'm still looking for help since I am not very good with programming languages.

This is the Order Function:

[PHP]

if((count(OP_BUYSTOP,magic)+count(OP_BUY,magic))<maxtrades && buy && tpb<tradesperbar && IsTradeAllowed())

{

// -- Taken out coding to shorten post

ticket=OrderSend(Symbol(),OP_BUYSTOP,ilots,resistance+distance*pt,slippage*mt,sl,tp,comment+"Bid: "+DoubleToStr(Bid,5),magic,expire,Blue);

if(ticket<=0)

{

Print("Error Occured : "+errordescription(GetLastError()));

}

else

{

tps++;

Print("Order opened : "+Symbol()+" Buy @ "+Ask+" SL @ "+sl+" TP @"+tp+" ticket ="+ticket);

}

}

if((count(OP_SELLSTOP,magic)+count(OP_SELL,magic))<maxtrades && sell && tpb<tradesperbar && IsTradeAllowed())

{

// -- Taken out coding to shorten post

ticket=OrderSend(Symbol(),OP_SELLSTOP,ilots,support-distance*pt,slippage*mt,sl,tp,comment+"Ask: "+DoubleToStr(Ask,5),magic,expire,Red);

if(ticket<=0)

{

Print("Error Occured : "+errordescription(GetLastError()));

}

else

{

tpb++;

Print("Order opened : "+Symbol()+" Sell @ "+Bid+" SL @ "+sl+" TP @"+tp+" ticket ="+ticket);

}

}

Я подумал, что если я поставлю что-то вроде && OP_SELL==false (или OP_BUY==false в разделе ордеров на продажу ). Это правильная идея?

 

Счетчик баров для MT4 - IndicatorCounter

Приветствую всех.

Это мой первый пост.

Мне нужна помощь от всех, кто может.

Я разработал свой первый советник для MT4, используя генератор кода и модифицируя его после компиляции, и я пытаюсь:

1. После входа выходить из сделки, например, через 15 баров.

2. Количество баров для выхода можно изменить в разделе "extern int".

Советник торгует по заданным параметрам RSI и в настоящее время выходит по TP, SL и TS (трейлинг-стоп).

Я хотел бы также выходить, например, по истечении 10 или 15 баров.

Я пробовал как сумасшедший, но не могу заставить его работать.

Буду очень признателен, если кто-нибудь сможет мне помочь.

Я прикрепил советник, чтобы любой мог взглянуть.

Будьте здоровы и наилучшие пожелания

cj

Файлы:
 
freefreecj:
Привет всем.

Это мое первое сообщение.

Мне нужна помощь от всех, кто может.

Я разработал свой первый советник для MT4, используя генератор кода и модифицируя его после компиляции, и я пытаюсь:

1. После входа выходить из сделки, например, через 15 баров.

2. Количество баров для выхода можно изменить в разделе "extern int".

Советник торгует по заданным параметрам RSI и в настоящее время выходит по TP, SL и TS (трейлинг-стоп).

Я хотел бы также выходить, например, по истечении 10 или 15 баров.

Я пробовал как сумасшедший, но не могу заставить его работать.

Буду очень признателен, если кто-нибудь сможет мне помочь.

Я прикрепил советник, чтобы любой мог взглянуть.

Будьте здоровы и наилучшие пожелания

cj

Привет Cj,

Переместил вас сюда, надеюсь, вы найдете решение здесь, в этой теме, или кто-нибудь заглянет и поможет.

 

Спасибо MrTools

Спасибо MrTools

 

Привет всем,

Мне нужен индикатор, который может выдавать звуковое и коробочное оповещение для

a) Покупка, когда Low пересекает выше 34 EMA максимумов вверх

b) Продавать, когда High пересекает 34 EMA минимумов вниз.

Может ли кто-нибудь помочь мне, пожалуйста?

Любая помощь будет оценена по достоинству.

Заранее спасибо

с уважением,

Sahilsri

 

...

Mladen...почему Squize MA не показывает полосы там, где находится стрелка...насколько я понимаю, она должна показывать полосы, когда MA подходят на определенное расстояние друг к другу?

Файлы:
a.tpl  2 kb
a_2.jpg  161 kb
Причина обращения: