MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 515

 
Ihor Herasko :

아주 이상한 질문입니다. 이것은 "파일로 의자를 켜는 방법"을 묻는 것과 같습니다.

우리는 똑똑하거나 완벽하게 대답 할 것입니다, 나는 또한 Mumu를 곱할 수 있습니다!?

스크립트를 사용하여 표시기 변수를 변경하는 방법에 대한 질문에 이상한 점은 무엇입니까!?

당신은 그것을하는 방법을 설명 할 수 없으므로 설명 할 수 있다고 말하면 그게 다입니다!

 
Игорь :

우리는 똑똑하거나 완벽하게 대답 할 것입니다, 나는 또한 Mumu를 곱할 수 있습니다!?

스크립트를 사용하여 표시기 변수를 변경하는 방법에 대한 질문에 이상한 점은 무엇입니까!?

당신은 그것을하는 방법을 설명 할 수 없으므로 설명 할 수 있다고 말하면 그게 다입니다!

표시기에 설정이 있습니다. 왜 세면대로 이 설정을 변경합니까?

이고르가 의미하는 바가 더 명확해졌습니까?

 
Игорь :

스크립트를 사용하여 표시기 변수를 변경하는 방법에 대한 질문에 이상한 점은 무엇입니까!?

여기에 기이함이 있습니다. 그에 대해 정확히 무엇이 이상한지 이해하기 위해 나는 이 모든 것을 유추로 번역했습니다.

스크립트는 하나의 프로그램입니다. 표시기는 다른 프로그램입니다. 표시기의 변수는 메모리 셀입니다. 결과적으로 스크립트로 (물리적으로) 메모리 셀을 선택하고 다른 것으로 교체해야 합니다. 물론 그러한 질문의 공식화는 당혹감을 불러일으킵니다.

결국, 필요한 것을 더 자세히 설명하는 대신 정리를 시작합니다.

 
Игорь :

친애하는 제발 말해!

스크립트를 사용 하여 차트에서 지표의 설정(특정 변수)을 어떻게 변경합니까!?

이것이 가능하다면 코드 조각이 바람직 할 것입니다 !!!

이에 대한 일반 API는 없지만 정말로 원한다면 할 수 있습니다 :-)

알고리즘은 다음과 같습니다.

- 차트의 모든 지표(하위 창 포함)를 스크롤하여 변경된 지표(이름/번호)에 대한 최대 정보 수집

- 차트 템플릿 저장

- 필요한 칠면조를 찾아 템플릿을 구문 분석합니다.

- 필요한 값을 변경

-ChartApplyTemplate

- (차트의 모든 지표와 어드바이저가 다시 로드되고 아마도 귀하의 것도 다시 로드될 것이며 아마도 여전히 WinAPI를 통해 파일을 복사해야 한다는 것을 잊지 마십시오)

일반적으로 야생 기모르 :-)

 
Игорь : 친애하는, 제발 말해주세요!
스크립트를 사용하여 차트에서 지표의 설정(특정 변수)을 어떻게 변경합니까!?
이것이 가능하다면 코드 조각이 바람직 할 것입니다 !!!

아주 간단해서 자주 하게 됩니다. 스크립트에 키를 할당할 수 있다는 것이 편리합니다. 예를 들어 Ctrl-z는 줄을 제거하고 Alt-z는 줄을 표시합니다. 첨부된 함수 GlobalVariableSet() 및 GlobalVariableGet() 예제를 참조하십시오. 아이디어는 다른 리소스에서 가져왔습니다 (진행자 Artyom Trishkin 수정).

파일:
xDEL.mq4  1 kb
 
STARIJ :

아주 간단해서 자주 하게 됩니다. 스크립트에 키를 할당할 수 있다는 것이 편리합니다. 예를 들어 Ctrl-z는 줄을 제거하고 Alt-z는 줄을 표시합니다. 첨부된 함수 GlobalVariableSet() 및 GlobalVariableGet() 예제를 참조하십시오. 다른 리소스에서 아이디어를 가져 왔습니다(진행자 Artyom Trishkin 수정).

다른 리소스에 대한 링크를 삭제하는 동안 어떤 이유로 파일 자체가 사라졌습니다.

다시 첨부해주세요.

 
Artyom Trishkin : 다른 리소스에 대한 링크를 삭제하는 동안 어떤 이유로 파일 자체가 사라졌습니다.

그리고 다른 리소스를 참조하는 것이 금지되어 있습니까? 그런 링크를 많이 봤습니다... 아니면 어떤 기준이 있는 건가요?

 
Artyom Trishkin :

다른 리소스에 대한 링크를 삭제하는 동안 어떤 이유로 파일 자체가 사라졌습니다.

다시 첨부해주세요.

보통 재료에 흠집이 날까 두렵고 추월할 수 없는 경쟁자가 있을 때 재료를 제거합니다.

그러나 이 포럼은 단순히 경쟁에서 벗어났고 그들은 무엇인가를 두려워합니다. 전제 조건이 없습니다.

 
Ihor Herasko :

주문이 개설되었는지 여부를 알 수 없다는 사실부터 시작하겠습니다. 이와 관련하여 수표가 없습니다. 따라서 개설 사실이 확인되지 않은 주문의 손절매 또는 이익실현 달성 여부를 확인하는 것은 무의미합니다.


시도했지만 작동하지 않습니다. 아마도 뭔가 잘못하고 있는 것 같습니다(

              {
                     //Цена открытия ордера
                    price= High [ 1 ]+OrderPoint* Point ;
                     //Стоп лосс
                    stoploss= Low [ 1 ]- Point ;
                     //Тэйк профит
                    takeprofit=price+price-stoploss;
                     //Установка отложенного ордера (с присвоением magic номера 100, чтобы потом можно было их выбрать и удалить)
                     OrderSend ( Symbol (), OP_BUYSTOP , 1 ,price, 3 ,stoploss,takeprofit, "PinBar Buy 1H" , 100 , 0 , clrGreen );
                         //Проверяет открылись ли (0 - не открылись вроде) и сколько штук открыто (в данном случае не открылись), чтобы потом выбрать (уточнить) 
                         for ( int i= 0 ; i< OrdersTotal (); i++)
                        {
                         //Выбираем все неоткрытые отложенные ордера?
                         OrderSelect (i, SELECT_BY_POS , MODE_TRADES );
                           //Если для выбранных ордеров с magic номером 100 текущая цена ушла ниже параметра стоплосса для этого отложенного ордера, то удаляем)
                           if (( OrderMagicNumber ()== 100 )&&( Low [ 0 ]<stoploss)) 
                           {
                           OrderDelete ( 100 );
                           }
                        }   
                 }
 
Ihor Herasko :

여기에 기이함이 있습니다. 그에 대해 정확히 무엇이 이상한지 이해하기 위해 나는 이 모든 것을 유추로 번역했습니다.

스크립트는 하나의 프로그램입니다. 표시기는 다른 프로그램입니다. 표시기의 변수는 메모리 셀입니다. 결과적으로 스크립트로 (물리적으로) 메모리 셀을 선택하고 다른 것으로 교체해야 합니다. 물론 그러한 질문의 공식화는 당혹감을 불러일으킵니다.

결국, 필요한 것을 더 자세히 설명하는 대신 정리를 시작합니다.

감사합니다