Diablo - страница 10

 
// Diablo v28.09.10
#property copyright "Jon Katana"
#property show_inputs
extern double Up=0;
extern double Down=0;
extern int Levels=0;
extern int Step=0;
extern double Vol=0;
extern int Spread=0;
int start()
{for(int i=0;i<(Levels-1);i++)
{OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(2*i*Step+Spread)*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_SELLSTOP,Vol,Down-2*i*Step*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+(2*i+1)*Step*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Down-((2*i+1)*Step-Spread)*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(2*i*Step+Spread)*Point,0,Up+(2*i-1)*Step*Point,Up+(2*i+2)*Step*Point,0,0);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+2*i*Step*Point,0,Up+((2*i+1)*Step+Spread)*Point,Up+(2*Step*(i-1)+Spread)*Point,0,0);
OrderSend(Symbol(),OP_SELLSTOP,Vol,Down-2*i*Step*Point,0,Down-((2*i-1)*Step-Spread)*Point,Down-((2*i+2)*Step+Spread)*Point,0,0);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Down-(2*i*Step-Spread)*Point,0,Down-(2*i+1)*Step*Point,Down-2*Step*(i-1)*Point,0,0);}
return(0);}


Изменения в Diablo v28.09.10:

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

+ полностью решена проблема часто встречающейся траектории "захват уровня и тренд в обратную сторону", так называемый "удар по стопам" - теперь все траектории такого типа прибыльны либо закрываются в нуле (ранее захват нечетного уровня и тренд в обратном направлении закрывался с минус одним коридором);

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

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

дайте цифры расстановки цен ордеров и обьемов - для любой круглой цены - пусть 1.4000
 
JonKatana:

т.е. ты настаиваешь на том, что если цена в конечном итоге ввыйдет за пределы двух уровней, которые находились рядом с уровнем входа по Дьябле, пускай даже если это займет несколько дней, то мы в + или 0?
 
IgorM:

дайте цифры расстановки цен ордеров и обьемов - для любой круглой цены - пусть 1.4000


ну тогда придется самостоятельно себе ответить ;D

берем делаем так:

//+------------------------------------------------------------------+
//|                                               Diablo_in_file.mq4 |
//|                                                            IgorM |
//|                               https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "IgorM"
#property link      "http://www.metaquotes.net"
#property show_inputs
extern double Up=0;
extern double Down=0;
extern int Levels=5;
extern int Step=100;
extern double Vol=0.1;
extern int Spread=18;
string FileName ="Diablo_in_file";

int start(){
int handle  = FileOpen(FileName ,FILE_CSV|FILE_READ|FILE_WRITE); 
               if ( handle ==-1 ) Print("Ошибка номер ",GetLastError()," при создании файла : "+FileName);
               else {
                     FileSeek(handle, 0, SEEK_END);
                     FileWrite(handle, "Запуск "+TimeToStr(TimeLocal(),TIME_DATE|TIME_MINUTES));
                     FileClose(handle);
               }


for(int i=0;i<(Levels-1);i++){
log(StringConcatenate(Symbol(),"OP_BUYSTOP / ",Up+(2*i*Step+Spread)*Point,0,0,0,0,0));
log(StringConcatenate(Symbol(),"OP_SELLSTOP / ",Down-2*i*Step*Point,0,0,0,0,0));
log(StringConcatenate(Symbol(),"OP_SELLLIMIT / ",Up+(2*i+1)*Step*Point,0,0,0,0,0));
log(StringConcatenate(Symbol(),"OP_BUYLIMIT / ",Down-((2*i+1)*Step-Spread)*Point,0,0,0,0,0));
log(StringConcatenate(Symbol(),"OP_BUYSTOP / ",Up+(2*i*Step+Spread)*Point,0,Up+(2*i-1)*Step*Point,Up+(2*i+2)*Step*Point,0,0));
log(StringConcatenate(Symbol(),"OP_SELLLIMIT /",Up+2*i*Step*Point,0,Up+((2*i+1)*Step+Spread)*Point,Up+(2*Step*(i-1)+Spread)*Point,0,0));
log(StringConcatenate(Symbol(),"OP_SELLSTOP / ",Down-2*i*Step*Point,0,Down-((2*i-1)*Step-Spread)*Point,Down-((2*i+2)*Step+Spread)*Point,0,0));
log(StringConcatenate(Symbol(),"OP_BUYLIMIT / ",Down-(2*i*Step-Spread)*Point,0,Down-(2*i+1)*Step*Point,Down-2*Step*(i-1)*Point,0,0));}
return(0);}

void log(string ss){
   int handle  = FileOpen(FileName ,FILE_CSV|FILE_READ|FILE_WRITE);
      if ( handle ==-1 ) Print("Ошибка номер ",GetLastError()," при создании файла : "+FileName);
      else {
            FileSeek(handle, 0, SEEK_END);
            FileWrite(handle, ss);
            FileFlush(handle);
            FileClose(handle);
      }
      
}

получаем:

Запуск 2010.09.29 00:16
EURUSDOP_BUYSTOP / 1.35900000
EURUSDOP_SELLSTOP / 1.356900000
EURUSDOP_SELLLIMIT / 1.359800000
EURUSDOP_BUYLIMIT / 1.356100000
EURUSDOP_BUYSTOP / 1.35901.35781.360800
EURUSDOP_SELLLIMIT /1.358801.361.35700
EURUSDOP_SELLSTOP / 1.356901.35811.354800
EURUSDOP_BUYLIMIT / 1.357101.35591.358900
EURUSDOP_BUYSTOP / 1.36100000
EURUSDOP_SELLSTOP / 1.354900000
EURUSDOP_SELLLIMIT / 1.361800000
EURUSDOP_BUYLIMIT / 1.354100000
EURUSDOP_BUYSTOP / 1.36101.35981.362800
EURUSDOP_SELLLIMIT /1.360801.3621.35900
EURUSDOP_SELLSTOP / 1.354901.35611.352800
EURUSDOP_BUYLIMIT / 1.355101.35391.356900
EURUSDOP_BUYSTOP / 1.36300000
EURUSDOP_SELLSTOP / 1.352900000
EURUSDOP_SELLLIMIT / 1.363800000
EURUSDOP_BUYLIMIT / 1.352100000
EURUSDOP_BUYSTOP / 1.36301.36181.364800
EURUSDOP_SELLLIMIT /1.362801.3641.36100
EURUSDOP_SELLSTOP / 1.352901.35411.350800
EURUSDOP_BUYLIMIT / 1.353101.35191.354900
EURUSDOP_BUYSTOP / 1.36500000
EURUSDOP_SELLSTOP / 1.350900000
EURUSDOP_SELLLIMIT / 1.365800000
EURUSDOP_BUYLIMIT / 1.350100000
EURUSDOP_BUYSTOP / 1.36501.36381.366800
EURUSDOP_SELLLIMIT /1.364801.3661.36300
EURUSDOP_SELLSTOP / 1.350901.35211.348800
EURUSDOP_BUYLIMIT / 1.351101.34991.352900

запускаем https://www.mql5.com/ru/code/9921

имеем:

УРА!БИС! МАЭСТРО! ВАША СИСТЕМА БЕЗУБЫТОЧНА! МОЖНО СМЕЛО ТОРГОВАТЬ!!!!!!!

действительно, по такой системе расстановки ордеров Вы нашли именно тот путь который привел к полному безубытку Ваше системы расстановки ордеров, одно плохо - профитом так и не запахло, с учетом маржи, мне необходимо залить в ДЦ 869 USD, сколько выставлял ордера, профиту больше 10USD ни разу не было, и с учетом спреда и проскальзования накапало в итоге -16USD убытков, в рынке 32 ордера, теперь образовался полный замок - куда бы цена не пошла бы убытки мы не несем, но и профиту тож не увидим

В итоге я так и не понял - зачем все это? вливать 1к денег чтобы получить 10USD неизвестно на какие сутки? 

Файлы:
log.rar  2 kb
 
IgorM:


действительно, по такой системе расстановки ордеров Вы нашли именно тот путь который привел к полному безубытку Ваше системы расстановки ордеров, одно плохо - профитом так и не запахло, с учетом маржи, мне необходимо залить в ДЦ 869 USD, сколько выставлял ордера, профиту больше 10USD ни разу не было, и с учетом спреда и проскальзования накапало в итоге -16USD убытков, в рынке 32 ордера, теперь образовался полный замок - куда бы цена не пошла бы убытки мы не несем, но и профиту тож не увидим

В итоге я так и не понял - зачем все это? вливать 1к денег чтобы получить 10USD неизвестно на какие сутки?

Образовавшиеся пары свободных ордеров (без Take Profit и Stop Loss), где Sell выше Buy, можно закрывать командой "Закрыть встречным". Каждое такое закрытие высвобождает часть залога, возвращает спреды и фиксирует прибыль размером в один коридор между ордерами. Пары нужно закрывать последовательно, двигаясь либо сверху вниз, либо снизу вверх по ценовой вертикальной шкале.
 
JonKatana:
Образовавшиеся пары свободных ордеров (без Take Profit и Stop Loss), где Sell выше Buy, можно закрывать командой "Закрыть встречным". Каждое такое закрытие высвобождает часть залога, возвращает спреды и фиксирует прибыль размером в один коридор между ордерами. Пары нужно закрывать последовательно, двигаясь либо сверху вниз, либо снизу вверх по ценовой вертикальной шкале.


отличная идея! и как я не сообразил сразу?! если идет цена вверх, то покупаем, если вниз то продаем!

в интернете же все написано уже: 

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

все! срочно на реал с Diatlom

ЗЫ: топикстартер, как бы Вам подоходчивей объяснить, что  безрисковой торговли не может быть - в этой ветке Вы показали еще один бестолковый пример безиндикаторной торговли - типа все на математических расчетах, типа траектория движения цены, типа на истории углядели, НО увы - в ветке лавина, там пахло профитом, там было увеличение рисков - увеличение обьемов последующих ордеров, для перекрытия убыточных, здесь же - в этой ветке все "белое и пушистое" - лот фиксированный, уровни сам юзер выбирает, все кул! За исключением профита - нет, но и убытков нет, а если и есть профит то он просто случаен и не более - успел сообразить и цена пошла за соображениями профит, не успел ну значит жди пока в теоретический безубыток выдет, только главное депо посильнее чтобы маржу выдержало

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


отличная идея! и как я не сообразил сразу?! если идет цена вверх, то покупаем, если вниз то продаем!

ЗЫ: топикстартер, как бы Вам подоходчивей объяснить, что безрисковой торговли не может быть - в этой ветке Вы показали еще один бестолковый пример безиндикаторной торговли - типа все на математических расчетах, типа траектория движения цены, типа на истории углядели, НО увы - в ветке лавина, там пахло профитом, там было увеличение рисков - увеличение обьемов последующих ордеров, для перекрытия убыточных, здесь же - в этой ветке все "белое и пушистое" - лот фиксированный, уровни сам юзер выбирает, все кул! За исключением профита - нет, но и убытков нет, а если и есть профит то он просто случаен и не более - успел сообразить и цена пошла за соображениями профит, не успел ну значит жди пока в теоретический безубыток выдет, только главное депо посильнее чтобы маржу выдержало

Неважно, куда пошла цена после образования пары безстоповых ордеров, где Sell выше Buy - выше этой пары или ниже. Между этими ордерами уже +1 коридор, только он не зафиксирован, так как оба ордера открыты. Такую пару ордеров на соседних уровнях можно закрыть, высвободив залог и зафиксировав прибыль - для Diablo они уже роли не играют. Залоги в этом случае малы - вместо зависших у вас 32 ордеров залога не было бы вообще - все их можно закрыть попарно, высвободив спреды и получив +16 коридоров между ордерами в прибыли (+160 пунктов при ваших параметрах).

Прибыльных траекторий гораздо больше, чем тех, на которых возможны убытки.

 

Обращение к администрации: не надоела ещё сия профанация?

Или доводы "тут сложилась своя аудитория" оправдывает сие?