Как сделать три последовательных условия?

Автор: slinger

Как сделать три последовательных условия? - Thu Sep 16 2010 01:02 AM

Господа Гуру!

Как сделать, что бы если сначала выполняется условие №1, то осуществляется переход к условию №2 и если и оно выполняется то переход на условия №3?
Классический вариант if then..

Смысл:
1. Беру длинную если Low < L3 (Ситуация 1)
2. Закрываю по стопу с убытком если Low < L4 (Ситуация 2) или с прибылью, если High > H3 (Ситуация 3)
Потом:
3. Если был стоп, то беру длинную, если Close > L3. Закрываю по стопу с убытком или тэйку с прибылью.

Проблема: когда закрывется длинная по стопу в Ситуации 2, то цена находится ниже L3, это соответствует 1ому условию и сразу начинают плодиться не нужные сделки. В этот момент мне нужно брать длинную только при условии, если цена уйдет выше L3.

Как это сделать?
всем спасибо.
Автор: Nektodron

Re: Как сделать три последовательных условия? - Thu Sep 16 2010 10:23 AM

Так просто скопируйте в условие 3 условие 2 с опреацией логичекого И.
Автор: slinger

Re: Как сделать три последовательных условия? - Thu Sep 16 2010 02:31 PM

Что то я не понял. Это все в одном блоке нужно написать? А, есть возможность сделать что бы логика переходила от одного блока к другому. типа если выполнилось условия 1ого блока, то идем на второй, если второго, то идем на третий.

Или в классическом варианте: Условие 1, если истина то идем на Условие 2, если лож - на Условие 3.

А, то что то мне подсказывает, что одним блоком тут ничего не пропишешь(

Господа Гуру!?
Если, кто решал подобную задачу - напишите, как добились поставленной цели. буду признателен.
Автор: Alvel

Re: Как сделать три последовательных условия? - Thu Sep 16 2010 10:26 PM

В блоке "Формула" записываем выражение типа:

condition ? first_expression : second_expression;

посмотрите описание http://msdn.microsoft.com/ru-ru/library/ty67wk28.aspx

создаете выражения любой сложности и вложенности, заключая вложенные выражения в скобки
Автор: slinger

Re: Как сделать три последовательных условия? - Fri Sep 17 2010 12:48 AM

ооо! вот это ближе к делу уже!
вопрос: а, можно в формуле писать if, elese?
Блок должен быть формула или логическая формула?
И как сделать что бы блок формула проверял выражение и возвращал например 3 значения переменной X, в зависимости от условий проверки. это реально вообще?
Далее я бы передал это значение на другой блок формула и все было бы хорошо)
Автор: slinger

Re: Как сделать три последовательных условия? - Fri Sep 17 2010 10:25 AM

И еще вопрос: как сделать проверку "была ли закрыта предыдущая позиция по стопу"? если была то открываемся по Условие 1, если нет, то по Условию 2.
Автор: Nektodron

Re: Как сделать три последовательных условия? - Fri Sep 17 2010 11:56 AM

Originally Posted By: slinger

И как сделать что бы блок формула проверял выражение и возвращал например 3 значения переменной X, в зависимости от условий проверки. это реально вообще?

Писали уже не один раз:
"условие ? значени1 : знаечние2"
например
"ema1 > ema2 ? ema1 : ema2"

Originally Posted By: slinger
И еще вопрос: как сделать проверку "была ли закрыта предыдущая позиция по стопу"? если была то открываемся по Условие 1, если нет, то по Условию 2.


Это сложнее. В API достаточно взять последнюю закрытую позицию и посмотреть название сигнала закрытия, если оно совпадает с названием сигнала стопа, то значит был стоп.
В кубиках пока в голову ничего не приходит. Но вроде я делал кубики поиска позиции по сигналу закрытия.
Автор: profit

Re: Как сделать три последовательных условия? - Fri Sep 17 2010 12:06 PM

DrowDownCount называется индикатор.считает отрицательные позиции.
Автор: slinger

Re: Как сделать три последовательных условия? - Mon Sep 20 2010 10:45 AM

2 profit
а, где бы взять его?

2 Nektodron
Ситуация: 3 условия
1. EMA1>EMA2 то x=1
2. EMA1<EMA1 то x=2
3. EMA1=EMA2 то x=3
тоесть получится вот что: в блоке Формула пишем
EMA1>EMA2 ? 1:0 || EMA1<EMA2 ? 2:0 EMA1==EMA2 ? 3:0

Далее из этого блока подаем 3 стрелки на еще 3 блока Фломула, где пишем
1. Проверка==1 ?? условие
2. Проверка==2 ?? условие
3. Проверка==3 ?? условие

Далее, каждый их этих трех блоков соединяем с блоком открытия позиции.

Все верно?



Автор: Nektodron

Re: Как сделать три последовательных условия? - Mon Sep 20 2010 03:38 PM

Далее из этого блока подаем 3 стрелки на еще 3 блока Фломула, где пишем
1. Проверка==1 ?? условие
2. Проверка==2 ?? условие
3. Проверка==3 ?? условие


что хотите этим сделать? не понятно
Автор: profit

Re: Как сделать три последовательных условия? - Mon Sep 20 2010 03:43 PM

покопайтесь в моих предыдущих постах.я выкладывал уже сборник индикаторов своих ранее.
Автор: slinger

Re: Как сделать три последовательных условия? - Mon Sep 20 2010 04:30 PM

2profit
спасибо. поищу. если не найду - напишу.

2nektodron
я работаю с коридорами. если цена внутри коридора - одни условия открытия/закрытия. если сверху/снизу - другие. вот для чего.
но, сейчас вроде с другого края зашел.

2all
расскажите, как сделать, что бы была только одна сделка в день? без разницы прибыльная или убыточная.
Автор: Evrika

Re: Как сделать три последовательных условия? - Wed Sep 29 2010 12:28 PM

Раз назвали "его" визуальным програмированием, то собственно подскажите где посмтреть примеры скриптов (с блоками и связями) как это на деле связано!

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

Что то никак не соображу как это сделать из инструкции. Такое ощущение что на изучаемом когда то паскале проще написать чем здесь стрелочками соединять...

Заранее спасибо отозвавщимся.
Автор: Nektodron

Re: Как сделать три последовательных условия? - Wed Sep 29 2010 01:10 PM

http://www.tslab.ru/docs/online/index.html?quickguide.htm
В документации не пробовали?
Автор: Evrika

Re: Как сделать три последовательных условия? - Thu Sep 30 2010 09:52 AM

Originally Posted By: Nektodron
http://www.tslab.ru/docs/online/index.html?quickguide.htm
В документации не пробовали?


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

Даже простые примеры хоть бы как то где то расписали. Например блок "Вычесть": то что нужно вычитать и из чего надо вычитать связываем с блоком вычесть. Хорошо если это МАКД-гистрограмма - прога не дает тебе возможность поменять что из чего вычесть а определяет сама (циферки 1,2 на стрелочках), а в других случаях откуда я буду знать что из чего вычитается?

С условиями опять же у других прог все просто - элементарно пишешь в строчке связывая операторами (IF AND ...) а здесь с Вашими стрелками как все увязать?

Ну киньте ссылку на пример чтоб посмотреть можно было! Пожалуйста!
Автор: Evrika

Re: Как сделать три последовательных условия? - Sun Oct 03 2010 04:01 PM

Повозился на выходных - методом проб и ошибок, в простонародье называемом "метод научного тыка" потихоньку логика разработчиков начинает доходить. Вообще конечно лучше б в инструкции расписать подробно чем вариться в собственном соку и Вас на форумах отвлекать, например некоторые воросы остаюся все равно без ответа: предельное количство условий забиваемое в блоке формула (связанных &) или отдельно блоком "И", результат на выходе при различной связке блоков (некоторые блоки как я понял дают возможность связывать их как в прямом так и обратном направелении (меняется направление стрелки их соединяющей) и т.д.

Но в любом случае спасибо разработчикам за прогу (у нас в России на русском языке альтернатив нет!)
Автор: novikov433

Re: Как сделать три последовательных условия? - Thu Jul 11 2019 06:58 AM

А к каким блокам можно применять a ? b : (c ? d : e).
Не могу понять , как отключать стоп лосы, открыть позицию и т.д. Где подробнее почитать. Так же, нужно указывать true, false, либо достаточно просто да, нет после ?
Автор: novikov433

Re: Как сделать три последовательных условия? - Thu Jul 11 2019 07:01 AM

Проблема возникает с блоками открыть по рынку, т.к после премаркета и начала сессии когда открывается рынок по условию , алгоритм автоматически генерит сделки если осуилятор ><0, так и со стоп лосами - нужно как то указать, что ессли : в промежутке времени, первая сделка и т.д закрывается по стоп лосу и при этом осцилятор сильно отклоняется от 0, + большой АТР то сделку пропускают, использую 2 алгоритм до нового пересечения.
Автор: Stan

Re: Как сделать три последовательных условия? - Thu Jul 11 2019 09:56 AM

Originally Posted By: novikov433
А к каким блокам можно применять a ? b : (c ? d : e).
Не могу понять , как отключать стоп лосы, открыть позицию и т.д. Где подробнее почитать. Так же, нужно указывать true, false, либо достаточно просто да, нет после ?

Блоки логическая формула, формула, константа, какие нибудь индикаторы выдающие различные значения или тру или фальс, почти все кроме блоков открытия и закрытия позиции.
Автор: 433novikov

Re: Как сделать три последовательных условия? - Thu Jul 11 2019 03:22 PM

Ну вот например. Нужно убрать работу стоп лоса если атр выше 0.04, как к чему подключать, что писать правильно не понятно. https://ibb.co/sFzGs2x
Автор: 433novikov

Re: Как сделать три последовательных условия? - Thu Jul 11 2019 03:23 PM

Это просто 1 какое то условие, а что будет дальше, когда нужно указать, что если 1, 2 раза сработал стоп лос и осцилятор не пересек 0 уровень сделку + стоп лос не открывать.
Автор: 433novikov

Re: Как сделать три последовательных условия? - Thu Jul 11 2019 10:42 PM

Ну и что делать? такое только на c# можно реализовать? У меня лично логическое условие через тернарный оператор работает на отображение на графике сигнала, все остальное не работает.
Автор: Frend

Re: Как сделать три последовательных условия? - Fri Jul 12 2019 09:57 AM

Хоть сколько условий в необходимом для нас порядке мы легко можем сделать через логическая формула и обновляемое значение. Условие есть - накинули на ОЗ. Записали время или номер бара. Что бы очередность проверять. и дальше уже сравнение
Автор: ViL

Re: Как сделать три последовательных условия? - Fri Jul 12 2019 05:14 PM

Originally Posted By: 433novikov
Ну вот например. Нужно убрать работу стоп лоса если атр выше 0.04, как к чему подключать, что писать правильно не понятно. https://ibb.co/sFzGs2x

Внутри логической формулы(логические значения) Вы делаете синтаксис для Формулы(вещественные значения)
В данном случае достаточно оставить условие АТР>0.04, остальное стереть, и подать его на блоки выхода из позиции.
Таким образом, стоплосс будет работать, если атр больше 0.04
Если поменять знаки <> то, будет наоборот, стоп будет работать, только, если атр меньше 0.04
Автор: novikov433

Re: Как сделать три последовательных условия? - Sat Jul 13 2019 07:25 AM

Со стоп лосами разобрался. Теперь следующий шаг: получаю например я обновляемое значение осциллятора с прошлой сессии через обновляемое значение и хочу сделать открытие по рынку в 16.30.00 в акциях которые открываются без разрывов котировок. Далее если я правильно понимаю что бы реализовать логику открытия позиций 2,3,4... Алгоритма нужно просто дописать в логической формуле true к самому условию открытия позиций, и уже когда сброситься ОБ новой сделкой, то весь цикл не будет работать, пока получение нового ОБ по условию времени не станет true?
Хорошо, следующий вопрос - обновляемое значение "цепляться" на все блоки кроме стоп лос, у него в параметрах срабатывания так же может быть ОБ? Как в примере выше с АТР у меня.
Автор: novikov433

Re: Как сделать три последовательных условия? - Sat Jul 13 2019 07:30 AM

Со стоп лосами разобрался. Теперь следующий шаг: получаю например я обновляемое значение осциллятора с прошлой сессии через обновляемое значение и хочу сделать открытие по рынку в 16.30.00 в акциях которые открываются без разрывов котировок. Далее если я правильно понимаю что бы реализовать логику открытия позиций 2,3,4... Алгоритма нужно просто дописать в логической формуле true к самому условию открытия позиций, и уже когда сброситься ОБ новой сделкой, то весь цикл не будет работать, пока получение нового ОБ по условию времени не станет true?
Хорошо, следующий вопрос - обновляемое значение "цепляться" на все блоки кроме стоп лос, у него в параметрах срабатывания так же может быть ОБ? Как в примере выше с АТР у меня.
Автор: 433novikov

Re: Как сделать три последовательных условия? - Sat Jul 13 2019 09:06 AM

Почему не работает вход на открыть позицию по рынку в обновляемом значении? https://ibb.co/sRQjj2h
Для примера в качестве источника для сигнала используеться осцилятор https://ibb.co/ChVf9PX , нужно вбить условие при котором вход в сделку будет только тогда, как по началу нового дня осцилятор пересекет 0 на сел. в 16.30.00 должен работать совсем другой алгоритм, т.к индикатор нельзя настроить на работу от 16.00,16.10,16.20 и т.д вот если бы можно было оптимизировать так, было бы куда проще, а так придеться 2-3 лгоритма еще делать. Вот сижу ломаю голову, как реализовать.
Автор: 433novikov

Re: Как сделать три последовательных условия? - Sat Jul 13 2019 09:08 AM

Точто накая же система и со стоп лосами, нужно указать, что если был получен 1 стоп, то далее только когда нвоый сигнал и переворот происходит открытие аналогичной ситуации
Автор: ViL

Re: Как сделать три последовательных условия? - Tue Jul 16 2019 04:26 PM

Ничего не понял.
Задайте более точные вопросы.
https://ibb.co/sRQjj2h
Вот так точно нельзя делать, открытие позиции это не вещественное значение и не логическое значение.
Если нужна логика, то есть блоки "Есть активная позиция", если число, то какое именно? если Количество в позиции, то есть блок Количество, Время входа и т.д.
Автор: 433novikov

Re: Как сделать три последовательных условия? - Wed Jul 17 2019 12:27 PM

Нужен был блок наибольшее, при каком - то одном условии, нужно таким методом автоматически выбирать подходящий алгоритм при сравнении с условием в тернарном операторе https://www.youtube.com/watch?v=fSWguUhKe-E
Автор: Stan

Re: Как сделать три последовательных условия? - Wed Jul 17 2019 01:48 PM

блок наибольшее из значений это Max,который есть к сожалению только в 1.2. В 2,0 его не нашел! Но опять же возвращаемся к обычным логическим условиям, все то что вы написали можно сделать при помощи логического условия IfElse, или просто путем сравнения больше меньше, он(оно) вам и будет выбирать наибольшее и далее выбирать подходящий алгоритм.
Автор: ViL

Re: Как сделать три последовательных условия? - Thu Jul 18 2019 01:24 PM

блок вроде на месте:
https://www.screencast.com/t/0JMrEplc
Кстати, можно так: в формуле Math.Max(число,число)
Автор: Stan

Re: Как сделать три последовательных условия? - Fri Jul 19 2019 04:26 PM

Vil У меня вот так