int start(){
int StartHour= 8 ,StartMinute= 1 ; // Время 08:01int StopHour= 23 ,StopMinute= 58 ; // Время 23:58int StartTime=StartHour* 60 +StartMinute;
int StopTime=StopHour* 60 +StopMinute;
int CurrentMinutesFromDayStart=Hour()* 60 +Minute(); // Текущее время в минутах от начала дняif (CurrentMinutesFromDayStart>=StartTime && CurrentMinutesFromDayStart<=StopTime) {
// Для торговли внутри дня
}
// Ищем максимум
datetime td=iTime( Symbol (), PERIOD_D1 , 0 ); // Время открытия дневного бара в секундах от 01.01.1970int start= 0 ; // Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бараif (CurrentMinutesFromDayStart>StopTime) {
datetime ts=td+StopTime* 60 ; // конец временного диапазона в секундах от 01.01.1970
start= iBarShift( Symbol (), PERIOD_M1 ,ts, false ); // смещение бара, которому принадлежит ts
}
int count= 0 ; // Сколько баров до StartTimeif (CurrentMinutesFromDayStart>StartTime) {
ts=td+StartTime* 60 ; // начало временного диапазона в секундах от 01.01.1970
count= iBarShift( Symbol (), PERIOD_M1 ,ts, false ); // смещение бара, которому принадлежит ts
count= count-start; // Сколько баров длится временной интервал
}
double Maximum=iHigh( Symbol (), PERIOD_M1 ,iHighest( Symbol (), PERIOD_M1 ,MODE_HIGH,count,start)); //Находим максимум на заданном временном интервалеreturn ( 0 );
}
안녕하세요 여러분 아시는 분 답변 부탁드립니다! 낮에는 데스크톱 컴퓨터로 작업하면서 거래 신호(유료)를 구독 하고 밤에는 넷북에 두고 싶은데... 두 단말기에서 두 번 구독해야 하는 것 아닌가요? 질문은 이미 신호에 가입되어 있고 두 번째 터미널에서 열었는데 거기에 가입이 없기 때문입니다.... 더 정확한 질문입니다. 다른 터미널에서 동일한 구독(신호)을 실행할 수 있습니까(물론 동일한 계정에서)....
Forexman77 : 그럼에도 불구하고 주어진 기간에서 최대값을 찾는 방법은 무엇입니까? 그렇게 하려고 했고 확인을 위해 경고를 호출했지만 작동하지 않습니다.
글쎄, 나는 이미 썼고 이제는 이미 테스트했고 작동합니다.
#property copyright "Copyright 2013, Mikhail <Sepulca> Kozhemyako"#property link "ua3xcm@obninsk.ru"externint StartHour= 8 ;
externint StartMinute= 1 ;
externint StopHour= 23 ;
externint StopMinute= 58 ;
int OldBar;
int init() { OldBar= Bars - 1 ; return ( 0 );}
int deinit() { return ( 0 );}
int start(){
double Maximum;
int StartTime=StartHour* 60 +StartMinute;
int StopTime=StopHour* 60 +StopMinute;
int CurrentMinutesFromDayStart=Hour()* 60 +Minute(); // Текущее время в минутах от начала дняif (CurrentMinutesFromDayStart>=StartTime && CurrentMinutesFromDayStart<=StopTime) {
// Для торговли внутри дня
}
datetime td=iTime( Symbol (), PERIOD_D1 , 0 ); // Время открытия дневного бара в секундах от 01.01.1970int start= 0 ; // Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бараif (CurrentMinutesFromDayStart>StopTime) {
datetime ts=td+StopTime* 60 ; // конец временного диапазона в секундах от 01.01.1970
start= iBarShift( Symbol (), PERIOD_M1 ,ts, false ); // смещение бара, которому принадлежит ts
}
int count= 0 ; // Сколько баров до StartTimeif (CurrentMinutesFromDayStart>StartTime) {
ts=td+StartTime* 60 ; // начало временного диапазона в секундах от 01.01.1970
count= iBarShift( Symbol (), PERIOD_M1 ,ts, false ); // смещение бара, которому принадлежит ts
count= count-start; // Сколко баров длится временной интервал
Maximum=iHigh( Symbol (), PERIOD_M1 ,iHighest( Symbol (), PERIOD_M1 ,MODE_HIGH,count,start)); //Находим максимум на заданном временном интервале
}
else Maximum=- 1 ;
if (OldBar< Bars ){ Print ( "Текущее время в минутах=" ,CurrentMinutesFromDayStart, " Максимум с " ,StartTime, " минуты по " ,StopTime, " минуту =" ,DoubleToStr(Maximum, Digits ));OldBar= Bars ;}
return ( 0 );
}
이제 이 시간 범위에서 최대 가격을 찾아야 합니다. 나는 최대 가격을 찾을 수 있습니다:
그러나 시간 범위에 바인딩하려면 작동하지 않습니다. 방법을 알려주세요?Navayal, 그러나 테스트하지 않았습니다. 작동해야 할 것 같습니다
고문을 설정하는 방법?
그리고 완전히 "탱크에"있는 경우 자신을 숙지하십시오 .
고문을 설정하는 방법?
고문을 설정하는 방법?
그럼에도 불구하고 주어진 기간에서 최대값을 찾는 방법은 무엇입니까? 그렇게 하려고 했고 확인을 위해 경고를 호출했지만 작동하지 않습니다.
글쎄, 나는 이미 썼고 이제는 이미 테스트했고 작동합니다.
글쎄, 나는 이미 썼고 이제는 이미 테스트했고 작동합니다.
정말 감사합니다. 오늘 딱 떨어졌습니다. 그들은 키위 지갑에서 돈을 훔쳤습니다.
드라이버