[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 416

 
Boyark:

Подскажите плиз, как округлить rsi до целого числа, и как можно изменить период rsi (по умолчанию 14)?

Спасибо


iCustom(SymbolName,PeriodMinutes,"RSI",RSIPeriod,0,i)

NormalizeDouble(iCustom(SymbolName,PeriodMinutes,"RSI",RSIPeriod,0,i),0);
 

помогите поправить советника, должен работать на основе боллинжера и макди( не открывает ордера)

на рис 1 продает 2 покупает, хотел бы подвести его под евро /доллар 15мин

Файлы:
bb_macd_2.mq4  4 kb
 
costy_:



'RSIPeriod' - variable not defined C:\Program Files\Broco Trader\experts\scripts\RSI_to_File8.mq4 (53, 49)
 

Boyark:

'RSIPeriod' - variable not defined C:\Program Files\Broco Trader\experts\scripts\RSI_to_File8.mq4 (53, 49)

а округлить получилось, но период rsi не проходит ошибка. Если я правильно понял в скрипте не хватает данных по rsiperiod


NormalizeDouble (iCustom(SymbolName,PeriodMinutes,"RSI",0,i), 0));
Файлы:
 
pepicom:

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

Во-первых нужно файл выкладывать не .ex4, а .mq4, во-вторых он что на столько хорош этот советник? Приведите хоть примеры тестера стратегий что ли! А там уж люди подумают...
 

Из ветки "Помогите автоматизировать..." (ее уже нет):

ZeroWizard 08.12.2011 22:01

Раньше торговал чисто вручную и все ордера после совершения сделок выставлял ручками, как то не задумывался об упрощении своих операций, недавно что то меня всподвигнуло написать скрипт на выставление сделок и установки автоматом SL и TP, торговля значительно упростилась :) наделал я себе >20 скриптов и забил под горячие клавиши, вроде бы удобно:) некоторые скрипты открываю после получения прибыли или убытка предыдущего, сегодня подумал если я запускаю следующий скрипт в некоторых ситуациях в зависимости от прибыли или убытка, то почему бы не сделать советника который будет совершать следующую сделку в зависимости от результата предыдущей, в чем вас и прошу мне помочь...

вот сам скрипт... думаю очень простой))

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

//| trade.mq4 |

//| Copyright © 2004, MetaQuotes Software Corp. |

//| http://www.metaquotes.net/ |

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

#property copyright "Copyright © 2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"


#include <stdlib.mqh>

#include <WinUser32.mqh>

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

//| script "trading for all money" |

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

int start()

{

//----

if(MessageBox("Продать 1.5 "+Symbol()+" по цене Bid?",

"Script",MB_YESNO|MB_ICONQUESTION)!=IDYES) return(1);

//----

int ticket=OrderSend(Symbol(),OP_SELL,1.5,Bid,20,Bid+30*Point,Bid-30*Point,"order sell",255,0,Red);

if(ticket<1)

{

int error=GetLastError();

Print("Error = ",ErrorDescription(error));

return;

}

//----

OrderPrint();

return(0);

}

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

все скрипты одинаковые, меняется только объем, SL/TP, ограничение колебания рынка для совершения сделки ну и собственно Sell или Buy.

сделки закрываются по SL или по TP, во время сделки они не меняются.

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

запускаю советник, первая сделка в нем забита предположим Sell 1.4, SL 20, TP 30, рынок движется, и срабатывает SL, в советнике забито если срабатывает SL, то нужно выполнить сделку другую, например Buy 0.7, SL 20, TP30, а если бы сработал TP, то он открывает другую сделку с другими параметрами. бывает такое, что скрипт успешно не завершает свою работу, или спред превышает например границы TP или SL, или цена успела измениться на большую величину чем указана. в скрипте нужно реализовать, что бы он пытался открывать текущую сделку то тех пор пока не будут удовлетворены все условия и сделка не совершится. и еще нужно реализовать например если после к примеру 10ой сделки, сделка была закрыта с убытком, то советник начинает все сначала, с 1 сделки.

Может мудрено написал, и я уверен что кто знает язык MQL, то просто раз плюнуть это состряпать, надеюсь на помощь..

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

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

 
Mathemat:


Из ветки "Помогите автоматизировать..." (ее уже нет):

ZeroWizard 08.12.2011 22:01

Раньше торговал чисто вручную и все ордера после совершения сделок выставлял ручками, как то не задумывался об упрощении своих операций, недавно что то меня всподвигнуло написать скрипт на выставление сделок и установки автоматом SL и TP, торговля значительно упростилась :) наделал я себе >20 скриптов и забил под горячие клавиши, вроде бы удобно:) некоторые скрипты открываю после получения прибыли или убытка предыдущего, сегодня подумал если я запускаю следующий скрипт в некоторых ситуациях в зависимости от прибыли или убытка, то почему бы не сделать советника который будет совершать следующую сделку в зависимости от результата предыдущей, в чем вас и прошу мне помочь...

вот сам скрипт... думаю очень простой))

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

//| trade.mq4 |

//| Copyright © 2004, MetaQuotes Software Corp. |

//| http://www.metaquotes.net/ |

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

#property copyright "Copyright © 2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/&quot;


#include <stdlib.mqh>

#include <WinUser32.mqh>

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

//| script "trading for all money" |

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

int start()

{

//----

if(MessageBox("Продать 1.5 "+Symbol()+" по цене Bid?",

"Script",MB_YESNO|MB_ICONQUESTION)!=IDYES) return(1);

//----

int ticket=OrderSend(Symbol(),OP_SELL,1.5,Bid,20,Bid+30*Point,Bid-30*Point,"order sell",255,0,Red);

if(ticket<1)

{

int error=GetLastError();

Print("Error = ",ErrorDescription(error));

return;

}

//----

OrderPrint();

return(0);

}

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

все скрипты одинаковые, меняется только объем, SL/TP, ограничение колебания рынка для совершения сделки ну и собственно Sell или Buy.

сделки закрываются по SL или по TP, во время сделки они не меняются.

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

запускаю советник, первая сделка в нем забита предположим Sell 1.4, SL 20, TP 30, рынок движется, и срабатывает SL, в советнике забито если срабатывает SL, то нужно выполнить сделку другую, например Buy 0.7, SL 20, TP30, а если бы сработал TP, то он открывает другую сделку с другими параметрами. бывает такое, что скрипт успешно не завершает свою работу, или спред превышает например границы TP или SL, или цена успела измениться на большую величину чем указана. в скрипте нужно реализовать, что бы он пытался открывать текущую сделку то тех пор пока не будут удовлетворены все условия и сделка не совершится. и еще нужно реализовать например если после к примеру 10ой сделки, сделка была закрыта с убытком, то советник начинает все сначала, с 1 сделки.

Может мудрено написал, и я уверен что кто знает язык MQL, то просто раз плюнуть это состряпать, надеюсь на помощь..

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

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

в скрипте сделано подтверждение на совершение сделки, в советнике подтверждений на сделку не нужно, если только на самую первую, когда советник включается.
 
Интересует самый простой способ, как узнать, есть или нет в данный момент открытые ордера по данной валютной паре? Не нужно вообще с ними ничего делать, только узнать наличие хотя бы одного ордера.
 
WTL:
Интересует самый простой способ, как узнать, есть или нет в данный момент открытые ордера по данной валютной паре? Не нужно вообще с ними ничего делать, только узнать наличие хотя бы одного ордера.
double vs=0,vb=0;
for (int i=0;i<OrdersTotal();i++){
   if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol()) {
   if (OrderType()==OP_BUY) vb+=1;
   if (OrderType()==OP_SELL) vs+=1;
   }
Подсчитывает количество ордеров на покупку и продажи по символу графика.
 

Как реализовать советник такого типа:

Sell SL-30 TP-10 --> убыток --> Sell SL-30 TP-10 --> убыток --> Sell SL-30 TP-10 --> убыток --> Sell SL-30 TP-10 --> убыток --> Sell SL-30 TP-10 --> убыток --> Sell SL-30 TP-10 --> ПРИБЫЛЬ (возврат к самому началу) и так по кругу.

Причина обращения: