Один сигнал -- одна сделка - страница 2

 
tara:

И об этом речи не было.

Три пути (как в сказке): 1) В клуб телепатов; 2) Решить задачу для двух МА, а там будет видно; 3) Дать формально строгое описание задачи.

Лучше если по этому условию открывается окно, и из него выскакивает монетка. :)
 
Это, безусловно, лучше:)
 
PAZITIV:
Если так совпадает сигнал -- отлично. А если скажем быстрые машки пересеклись раньше, а с тяжёлой -- позже. Или если есть 3 индюка и какой то всегда запаздывает, но мы никогда не знаем какой. Как тогда быть? 


Фаза луны где нить в системе присутствует? Ну... мало ли.. а то щас распишут решения как надо с тяжелыми и легкими машками, тремя поочередно (да с неизвестной очередностью) запаздывающими индикаторами, а потом оп - сюрприииииз.
 

Да, прошу прощения. Недостаточно точно описал хотелку. 

Вот простая стратегия на нескольких индюках. Вход на покупку. Свеча закрывается выше голубой EMA20 по хаям , при этом Синяя линия индикатора RSI ( отдельное окно) выше уровня 55 и выше МА10 в этом же окне ( МА применяем к Previous Indocator Data ). Вот как сделать так, что бы при совпадении всех этих параметров сов входил на покупку с тейком и стопом. И после ждал сигнала на продажу. Т.е. на одном сигнале на покупку, должна быть совершена одна сделка на покупку. И после ожидание противоположного сигнала. Про входы на откатах и тп. пока не говорю

 http://storage4.static.itmages.ru/i/13/0201/h_1359705213_4350509_0cdddff412.jpeg

 

Если проблема в переключении: 

if (sell() && sell)

 { OpenSell(); sell=false;}

if (buy() && !sell)

 {OpenBuy(); sell=true;} 

Если с непониманием как наложить машку на Rsi, например или вообще с написанием всего сова, т.е. глобальная проблема, то лучше в учебник или в соответствующую ветку за $$.

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

Закажите сов у профи, описав все нюансы (составьте техзадание, это и для вас будет не лишним, начнете лучше понимать систему). Для некоторых тут и пары часов работы не будет. 

 
shi:

Если проблема в переключении: 

if (sell() && sell)

 { OpenSell(); sell=false;}

if (buy() && !sell)

 {OpenBuy(); sell=true;} 

Если с непониманием как наложить машку на Rsi, например или вообще с написанием всего сова, т.е. глобальная проблема, то лучше в учебник или в соответствующую ветку за $$.

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

Закажите сов у профи, описав все нюансы (составьте техзадание, это и для вас будет не лишним, начнете лучше понимать систему). Для некоторых тут и пары часов работы не будет. 

Так в том то и дело, что советник я написал. Работает он как нужно, за исключением момента, который обсуждается в ветке. И у меня множество практически работающих советников, кроме такого неприятного бага. 
 
PAZITIV:
Всем здравствуйте. Недавно столкнулся с такой проблемой. Допустим, что есть стратегия на машках ( чисто для примера). Вход осуществляется при пересечении машек в ту или иную сторону. Вот скрин. Свеча входа отмечена стрелкой
По стратегии нужно войти с тейком 10 пипсов. Через некоторое время, сделка закрывается по тейку. Но сигнал входа -- пересечение машек -- всё ещё в силе. Как "объяснить" советнику, что этот сигнал мы уже использовали и нужно ждать нового сигнала, а не входить ещё раз и ещё раз на этом же сигнале. 
Идея в том, что бы использовать один сигнал для одной сделки. Может кто поделится дельной наработкой или хотя бы толковым алгоритмом.
Дык сделайте задержку на 1 фрейм.

Примерно так


if ( iTime(Symbol(),PERIOD_H1,Delay)< LastorderTime  ) return(0);

 

Вот пример реализации этого принципа именно на МАшках. Смена сигнала определяется параметром fb_ControlBeginChangeTrend. Там и функция и её применение в индикаторе для контроля работы кода.

 
Если после ФАКТА покупки сигнал на покупку должен игнорироваться, то флаг надо менять именно по факту открытия позиции. И все :(
 
Vladimir Paukas:
Дык сделайте задержку на 1 фрейм.

Примерно так


if ( iTime(Symbol(),PERIOD_H1,Delay)< LastorderTime  ) return(0);

Уважаемый а как вставить и куда ее ? 
Причина обращения: