여러 수평선이 있습니다. 원칙적으로이 단계에서 두 줄 사이의 정의가 저에게 적합하고 나머지는 손으로 할 것입니다. 기성 스크립트나 이와 같은 표시기가 있을 수 있습니까? 당신의 응답을 주셔서 감사합니다.
당신이 너무 많이 필요하기 때문에 나는 당신에게 기성품 코드를 줄 것입니다. 여기에는 복잡한 것이 없습니다.
//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start()
{
/*
Скрипт
========== Lines_RASST ========
Является дополнением к скрипту Lines_Create. (Скрипт Lines_Create создаёт на графике 2 горизонтальные линии с именами UP_LEVEL и DOWN_LEVEL)
Скрипт Lines_RASST выводит на экран сообщение о том, сколько пунктов расстояние между двумя горизонтальными линиями
у которых миена UP_LEVEL и DOWN_LEVEL.
В силу того, что скрипт Lines_RASST имеет задержку в коде, надо не просто кинуть его на график, или не просто сделать
по скрипту двойной клик, надо ещё сразу сделать дополнительный одинарный клик левой кнопкой мыши по окну графика.
Только в этом случае надпись, говорящая о расстоянии появится и через 5 секунд исчезнет сама.
Если скрипт Lines_RASST вызван, а дополнительный клик по окну не сделан, то по прошествии 5 секунд скрипт выгрузится из оперативной
памяти, и Вы ни чего на экране не увидите, ни какой надписи (почему так сделан терминал я не знаю).
*/bool fm;
// --------------- Значения цены на горизонтальных линиях ---------------------------------double UpLevelPrice=ObjectGet( "UP_LEVEL" ,OBJPROP_PRICE1);
double DownLevelPrice=ObjectGet( "DOWN_LEVEL" ,OBJPROP_PRICE1);
// ---------------------------------------------------------------------------------------- //--------- калькулятор расстояний между этими линиями ---------------int Rasst=(UpLevelPrice-DownLevelPrice)/ Point ;
fm= ObjectCreate ( "DIAPAZON" , OBJ_LABEL , 0 , 0 , 0 );
if (fm== 0 || fm==- 1 ){// тут можно вывести сообщение об ошибке}
fm=ObjectSetText( "DIAPAZON" , "Канал = " +Rasst+ " pt." , 24 , "Verdana" , Blue );
if (fm== 0 || fm==- 1 ){// тут можно вывести сообщение об ошибке}
fm=ObjectSet( "DIAPAZON" , OBJPROP_CORNER , 0 );
if (fm== 0 || fm==- 1 ){// тут можно вывести сообщение об ошибке}
fm=ObjectSet( "DIAPAZON" , OBJPROP_XDISTANCE , 350 );
if (fm== 0 || fm==- 1 ){// тут можно вывести сообщение об ошибке}
fm=ObjectSet( "DIAPAZON" , OBJPROP_YDISTANCE , 315 );
if (fm== 0 || fm==- 1 ){// тут можно вывести сообщение об ошибке}
// ------------------------------------------------------------------Sleep ( 5000 );
//-------- удаляем надпись с экрана -----------------------------
fm= ObjectDelete ( "DIAPAZON" );
if (fm== 0 || fm==- 1 ){ // тут можно вывести сообщение об ошибке}
}
이것이 기본값입니다... 함수가 다음과 같이 호출되는 경우: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;
대답이 명확합니까?
반복합니다:
... 값이 36인 변수의 초기화는 매개변수를 지정하지 않고 함수를 호출한 경우에만 작동하는 것 같습니다.
... 어쨌든, double MyKoren(double MyValue=36){과 같은 구성을 사용하지 않는 것이 좋지만, 그대로 작성하려면 - double MyKoren(double MyValue){, 그렇지 않으면 나중에 왜 서브루틴이 작동하지 않는지 의아해 할 것입니다. 그래야 한다.
double MyKoren(double MyValue=36){과 같은 구조를 사용하고 double rex=(MyKoren()+1)...과 같은 호출이 뒤따를 때 제어력을 잃는 것은 케이크 조각임을 이해하십시오. 특히 초보자를 위해.
... 값이 36인 변수의 초기화는 매개변수를 지정하지 않고 함수를 호출한 경우에만 작동하는 것 같습니다.
... 어쨌든, double MyKoren(double MyValue=36){과 같은 구성을 사용하지 않는 것이 좋지만, 그대로 작성하려면 - double MyKoren(double MyValue){, 그렇지 않으면 나중에 왜 서브루틴이 작동하지 않는지 의아해 할 것입니다. 그래야 한다.
double MyKoren(double MyValue=36){과 같은 구조를 사용하고 double rex=(MyKoren()+1)...과 같은 호출이 뒤따를 때 제어력을 잃는 것은 케이크 조각임을 이해하십시오. 특히 초보자를 위해.
)))
그러나 페이지 번호는 기억될 것입니다.
또는 키가 생성됩니다 ...
;)
이것은 또 다른 스레드입니다 - 나는 길을 잃었습니다. 그리고 나는 당신의 용서를 구합니다.
내가 뭔가를 훔쳤다고 생각하는 이유는 무엇입니까? 이 표시기는 인터넷에서 mql 형식으로 무료로 사용할 수 있습니다. 디컴파일된 칠면조를 게시하지 않는 것과 무슨 관련이 있습니까? 저는 개인적으로 아무 것도 디컴파일하지 않았습니다. 그것을 발견하고 좋아하고 경고를 요청했습니다. 문제가 무엇입니까?
여러 수평선이 있습니다. 원칙적으로이 단계에서 두 줄 사이의 정의가 저에게 적합하고 나머지는 손으로 할 것입니다. 기성 스크립트나 이와 같은 표시기가 있을 수 있습니까? 당신의 응답을 주셔서 감사합니다.
저는 전문 프로그래머가 아니므로 기꺼이 도와드리고 싶지만...
여러 수평선이 있습니다. 원칙적으로이 단계에서 두 줄 사이의 정의가 저에게 적합하고 나머지는 손으로 할 것입니다. 기성 스크립트나 이와 같은 표시기가 있을 수 있습니까? 당신의 응답을 주셔서 감사합니다.
당신이 너무 많이 필요하기 때문에 나는 당신에게 기성품 코드를 줄 것입니다. 여기에는 복잡한 것이 없습니다.
double MyKoren( double MyValue= 36 ){ 행이 값 = 36으로 MyValue 변수를 초기화하기 때문에 올바르지 않습니다. 이는 의미가 없습니다. 값 =를 DlyaKornya 변수의 값에 전달하기 때문에 의미가 없습니다 .
이것이 기본값입니다... 함수가 다음과 같이 호출되는 경우: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;
대답이 명확합니까?
이것이 기본값입니다... 함수가 다음과 같이 호출되는 경우: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;
대답이 명확합니까?
반복합니다:
... 값이 36인 변수의 초기화는 매개변수를 지정하지 않고 함수를 호출한 경우에만 작동하는 것 같습니다.
... 어쨌든, double MyKoren(double MyValue=36){과 같은 구성을 사용하지 않는 것이 좋지만, 그대로 작성하려면 - double MyKoren(double MyValue){, 그렇지 않으면 나중에 왜 서브루틴이 작동하지 않는지 의아해 할 것입니다. 그래야 한다.
double MyKoren(double MyValue=36){과 같은 구조를 사용하고 double rex=(MyKoren()+1)...과 같은 호출이 뒤따를 때 제어력을 잃는 것은 케이크 조각임을 이해하십시오. 특히 초보자를 위해.
반복합니다:
... 값이 36인 변수의 초기화는 매개변수를 지정하지 않고 함수를 호출한 경우에만 작동하는 것 같습니다.
... 어쨌든, double MyKoren(double MyValue=36){과 같은 구성을 사용하지 않는 것이 좋지만, 그대로 작성하려면 - double MyKoren(double MyValue){, 그렇지 않으면 나중에 왜 서브루틴이 작동하지 않는지 의아해 할 것입니다. 그래야 한다.
double MyKoren(double MyValue=36){과 같은 구조를 사용하고 double rex=(MyKoren()+1)...과 같은 호출이 뒤따를 때 제어력을 잃는 것은 케이크 조각임을 이해하십시오. 특히 초보자를 위해.
)))
그러나 페이지 번호는 기억될 것입니다.
또는 키가 생성됩니다 ...
;)
이것은 또 다른 스레드입니다 - 나는 길을 잃었습니다. 그리고 나는 당신의 용서를 구합니다.
메일이 돌고 있습니다. (c) AS 푸쉬킨
도난당한 물건을 버리지 마십시오.
오늘의 좋은 시간 ... 조언자를 켜는 방법을 말할 수 없습니다. 예를 들어 Ilan_19가 여기에 게시되었습니다 ... Alpari 5-sign 에서 작업합니다 ... 설치했는데 작동하지 않습니다. .
오늘의 좋은 시간 ... 조언자를 켜는 방법을 말할 수 없습니다. 예를 들어 Ilan_19가 여기에 게시되었습니다 ... Alpari 5-sign에서 작업합니다 ... 설치했지만 작동하지 않습니다.. .
작동하지 않음 - 개념이 느슨합니다 ... 정확히 작동하지 않는 것, 일어나는 일 등 등.
Pilligrim :
거래하지 않습니다...