Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1004

 
Ratmirf:

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

 C_1=iCCI(NULL,0,C_period,PRICE_TYPICAL,0);

C_2=iCCI(NULL,0,C_period,PRICE_TYPICAL,1);

C_3=iCCI(NULL,0,C_period,PRICE_TYPICAL,2);


 if(C_1 > C_2 > C_3)Opn_B=true;

 if(C_1 < C_2 < C_3)Cls_B=true;  

if (C_1 > C_2 && C_2 > C_3) Opn_B=true;

if (C_1 < C_2 && C_2 < C_3) Cls_B=true; 

 
paladin80:
if (C_1 > C_2 && C_2 > C_3) Opn_B=true;

if (C_1 < C_2 && C_2 < C_3) Cls_B=true; 

Огромное спасибо!
 

 Подскажите пожалуйста, что у меня здесь не так? Я хочу чтобы сделки закрывались в момент пересечения 70 сверху вниз (Buy), а 30 снизу вверх (Sell). Сделки почему то закрываются Buy гораздо ниже семидесяти, а Sell гораздо выше 30. RSI даже еще не успевает даже дойти до уровней 70 и  30. Спасибо!

R_1=iRSI(NULL,0,RSI_Period,PRICE_TYPICAL,0);

  R_2=iRSI(NULL,0,RSI_Period,PRICE_TYPICAL,1);

 if((R_1 < 70 && R_2 > 70)) Cls_B=true; 
  if((R_1 > 30 && R_2 < 30)) Cls_S=true;
 
Ratmirf:

 Подскажите пожалуйста, что у меня здесь не так? Я хочу чтобы сделки закрывались в момент пересечения 70 сверху вниз (Buy), а 30 снизу вверх (Sell). Сделки почему то закрываются Buy гораздо ниже семидесяти, а Sell гораздо выше 30. RSI даже еще не успевает даже дойти до уровней 70 и  30. Спасибо!

R_1=iRSI(NULL,0,RSI_Period,PRICE_TYPICAL,0);

  R_2=iRSI(NULL,0,RSI_Period,PRICE_TYPICAL,1);

 if((R_1 < 70 && R_2 > 70)) Cls_B=true; 
  if((R_1 > 30 && R_2 < 30)) Cls_S=true;

В предыдущем посте у вас было: if (C_1 < C_2 && C_2 < C_3) Cls_B=true; Теперь у вас та же переменная меняется при другом условии: if((R_1 < 70 && R_2 > 70)) Cls_B=true; Проверьте.

Попробуйте такой код:

double C_1=iCCI(NULL,PERIOD_CURRENT,C_period,PRICE_TYPICAL,0);
double C_2=iCCI(NULL,PERIOD_CURRENT,C_period,PRICE_TYPICAL,1);
double C_3=iCCI(NULL,PERIOD_CURRENT,C_period,PRICE_TYPICAL,2);

bool Opn_B=false, Opn_S=false;

if(C_1>C_2 && C_2>C_3) Opn_B=true;
if(C_1<C_2 && C_2<C_3) Opn_S=true;

//---
double R_1=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,0);
double R_2=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,1);

bool Cls_B=false, Cls_S=false;

if(R_1>70.0 && R_2<70.0) Cls_B=true; 
if(R_1<30.0 && R_2>30.0) Cls_S=true;
 

Всем доброго здравия!!!!

Уверен что уже неоднократно делалось подобное, но может быть ктонибудь подскажет формулу размера лота в зависимости от средств???

Типа если больше 2000 то лот 0.02, если больше 3000 то 0.03 и т.д. 

 
nikelodeon:

Всем доброго здравия!!!!

Уверен что уже неоднократно делалось подобное, но может быть ктонибудь подскажет формулу размера лота в зависимости от средств???

Типа если больше 2000 то лот 0.02, если больше 3000 то 0.03 и т.д. 

Формулы разные есть для расчетов
 
paladin80:

В предыдущем посте у вас было: if (C_1 < C_2 && C_2 < C_3) Cls_B=true; Теперь у вас та же переменная меняется при другом условии: if((R_1 < 70 && R_2 > 70)) Cls_B=true; Проверьте.

Попробуйте такой код:


Большое спасибо за помощь! Я сейчас разбираюсь как работает именно RSI советник. Так вот что интересно, на представленной ниже схеме, сделки открываются точно там где надо, а вот закрываются совершенно не там (я хочу чтобы сделки закрывались в момент пересечения 70 сверху вниз (Buy), а 30 снизу вверх (Sell). Рекомендованная Вами схема закрытия тоже не работает. Поставил период RSI на 2 и смотрю по М1. Где неточность, не могу понять. 

R_1=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,0);

R_2=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,1);


if(R_1>60 && R_2<60) Opn_B=true; 

if(R_1<40 && R_2>40)  Opn_S=true;


if(R_1<70.0 && R_2>70.0) Cls_B=true; 

if(R_1<30.0 && R_2<30.0) Cls_S=true;

 
Ratmirf:

Большое спасибо за помощь! Я сейчас разбираюсь как работает именно RSI советник. Так вот что интересно, на представленной ниже схеме, сделки открываются точно там где надо, а вот закрываются совершенно не там (я хочу чтобы сделки закрывались в момент пересечения 70 сверху вниз (Buy), а 30 снизу вверх (Sell). Рекомендованная Вами схема закрытия тоже не работает. Поставил период RSI на 2 и смотрю по М1. Где неточность, не могу понять. 

R_1=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,0);

R_2=iRSI(NULL,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,1);


if(R_1>60 && R_2<60) Opn_B=true; 

if(R_1<40 && R_2>40)  Opn_S=true;


if(R_1<70.0 && R_2>70.0) Cls_B=true; 

if(R_1<30.0 && R_2<30.0) Cls_S=true;

Уверены что последнее условие правильно написано
 
Vinin:
Уверены что последнее условие правильно написано
Так вот и думаю. Когда RSI проходит через уровень 60 снизу вверх прекрасно открывается Buy. По-моему все логично. R_2 идёт с отставанием от R_1 и условие правильное. Когда проходит сверху вниз через 40, открывается Sell. А вот почему не закрывается, там где хочу, т.е. Buy на 70 сверху вниз, а Sell на 30 снизу вверх, не пойму. А мне, для моей стратегии как раз и важно именно закрытие RSI на этом уровне. 
 
Ratmirf:
Так вот и думаю. Когда RSI проходит через уровень 60 снизу вверх прекрасно открывается Buy. По-моему все логично. R_2 идёт с отставанием от R_1 и условие правильное. Когда проходит сверху вниз через 40, открывается Sell. А вот почему не закрывается, там где хочу, т.е. Buy на 70 сверху вниз, а Sell на 30 снизу вверх, не пойму. А мне, для моей стратегии как раз и важно именно закрытие RSI на этом уровне. 
У вас ошибки со знаками > и <. Посмотрите внимательно как у меня было написано, я их специально красным цветом выделил.