[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 436

 
세미로미드 :

도움을 요청합니다.

"오류가 있었습니다"라는 주석에 어떻게 변수를 추가할 수 있습니까?

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point, "오류가 발생했습니다", 0);


문자열 문자열;

더블 엑스;

..............

..............


Stroka= StringConcatenate ("오류가 발생했습니다", DoubleToStr(x, 0) );

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point,Stroka, 0);

 
bercut0077 :

안녕하세요, 전문가 여러분, 지표에서 고문이받는 가치에 관심이 있습니다.

매개변수 및 변수의 상태를 나타내는 데 사용되는 특수 상수입니다. 다음 값일 수 있습니다.

끊임없는 의미 설명
없는 0 문자열의 빈 상태를 나타냅니다.
비어 있는 -하나 매개변수의 빈 상태를 나타냅니다.
EMPTY_VALUE 0x7FFFFFF 기본값은 null 값 포인터입니다. 사용자 지정 지표 에 사용
CLR_NONE 0xFFFFFFFF 색상이 없음을 나타냅니다.
WHOLE_ARRAY 0 배열 함수 와 함께 사용됩니다. 배열의 모든 요소가 처리되어야 함을 지정합니다.


16진수의 0x7FFFFFFF 는 10진수의 2147483647 과 같습니다.

저것들. 어떤 시점에서 빈 값이 표시기 버퍼에 나타납니다. 이것은 EA에서 볼 수 있는 것입니다. 표시기 버퍼의 "빈 값" 값을 직접 설정할 수 있습니다.

void SetIndexEmptyValue ( 정수 인덱스, 이중 값)

표시줄의 null 값을 설정합니다. 빈 값은 DataWindow에 그려지거나 표시되지 않습니다. 빈 값의 기본값은 EMPTY_VALUE입니다.
옵션:
인덱스 - 라인의 일련 번호입니다. 0에서 7 사이여야 합니다.
- 새 "공백" 값입니다.
 
peshihod :


저것들. 여는 순간이 중요한게 아니라 1~2분전에 오픈했나요?

포인트 2는 명확하지 않습니다. 모든 것이 흐릿합니다.

오픈 시간은 OrderOpenTime()에 의해 결정될 수 있습니다.

저것들. 여는 순간이 중요한게 아니라 1~2분전에 오픈했나요?


Мгновенное открытие

1.Моментальное(Сиюсекундное +0.5 - 2 секунды) определение вновь открывшегося торгового(не отложеных ордеров) ордера(Ордера открытого вручную и открытого спомощью советника).Система идентефецируюет ордер из друх вариантов (Sell или Byu) .

Если система определила ордер который рание не был открыт . то идет продолжение под номером 2.

2. Выполняеться какая то задача (Например,если Sell: Alert("Открытый ордер на продажу"+y);),(Например,если byu: Alert("Открыт ордер на покупку"+w);), всего 1-н раз,именно для этого ордера .

После того как еще открылся один ордер(толи системой, толи вручную ), система вновь действует с пункта 1 по пункт 2 .

 
peshihod :

문자열 문자열;

더블 엑스;

..............

..............


Stroka= StringConcatenate("오류가 발생했습니다", DoubleToStr(x, 0) );

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point,Stroka, 0);


멋진 조합) 음..
 
artmedia70 :

매개변수 및 변수의 상태를 나타내는 데 사용되는 특수 상수입니다. 다음 값일 수 있습니다.

예, 이것은 이해할 수 있지만 표시기가 이러한 빈 값을 치료할 수 있는 방법이 명확하지 않기 때문에 코드가 게시되었으며 실제 도움이 필요합니다. 즉, 표시기는 항상 1 또는 -1을 제공해야 합니다.
 
bercut0077 :
예, 이것은 이해할 수 있지만 표시기가 이러한 빈 값을 치료할 수 있는 방법이 명확하지 않기 때문에 코드가 게시되었으며 실제 도움이 필요합니다. 즉, 표시기는 항상 1 또는 -1을 제공해야 합니다.
표시줄에 빈 값을 설정하는 함수의 예를 들었습니다. 그렇지 않으면 할 수 있습니다. +1과 -1의 두 값만 필요하다면 빈 값이 나오면 과거 상태(+1 or -1)를 확인하고 빈 값 대신 입력한다. 그러면 버퍼에는 항상 +1 또는 -1이 있습니다.
+1의 값이 있다고 가정해 보겠습니다. 빈 값이 나타났습니다. 대신 버퍼에 계속 과거 값(+1)을 입력하고 -1이 표시되는 즉시 입력합니다.
이제 버퍼는 -1이 됩니다. 빈 값이 나타나면 바로 이전 값(현재 -1)을 확인하고 입력합니다.
이렇게하면 버퍼에 항상 +1 또는 -1이 있습니다.
 
artmedia70 :

고맙습니다. 또 다른 문제가 있었습니다...
 
semiromid :

1.Моментальное(Сиюсекундное +0.5 - 2 секунды) определение вновь открывшегося торгового(не отложеных ордеров) ордера(Ордера открытого вручную и открытого спомощью советника).Система идентефецируюет ордер из друх вариантов (Sell или Byu) .

Если система определила ордер который рание не был открыт . то идет продолжение под номером 2.

2. Выполняеться какая то задача (Например,если Sell: Alert("Открытый ордер на продажу"+y);),(Например,если byu: Alert("Открыт ордер на покупку"+w);), всего 1-н раз,именно для этого ордера .

После того как еще открылся один ордер(толи системой, толи вручную ), система вновь действует с пункта 1 по пункт 2 .


나는 (보류 중인) 주문과 미결 주문이 다른 주문임을 이해합니다. 그리고 보류 중인 주문 이 열리면 작업이 원래 주문인 미결 주문으로 축소됩니다. 제대로 이해하면 어렵습니다.

과제는 무엇입니까? 하기가 더 쉬울까요?

 
전문가 여러분, 코드 변경을 도와주세요.
Cur_Trend без пустой величины, тоесть если появляется пустота, то нужно заменить последним известным значением
 #property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 LightBlue
#property indicator_color2 Magenta

double CrossUp[];
double CrossDown[];
double Cur_Trend[];
int CurrentTrend = 0 ;
int starttime = 0 ;
extern int FasterEMA = 5 ;
extern int SlowerEMA = 8 ;

int init()
  {
   IndicatorBuffers( 3 ); 
   SetIndexStyle( 0 , DRAW_ARROW , EMPTY);
   SetIndexArrow( 0 , 233 );
   SetIndexBuffer ( 0 , CrossUp);
   SetIndexStyle( 1 , DRAW_ARROW , EMPTY);
   SetIndexArrow( 1 , 234 );
   SetIndexBuffer ( 1 , CrossDown);
   SetIndexBuffer ( 2 , Cur_Trend);
   starttime = TimeLocal (); 
   return ( 0 );
  }

int deinit()
  {
   return ( 0 );
  }

int start() { 
   int limit, i, counter, loop, ii;
   double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter;
   double Range, AvgRange;
   int counted_bars=IndicatorCounted();
   if (counted_bars< 0 ) return (- 1 );
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;
   loop = 0 ;
   for (i = 0 ; i <= limit; i++) {
      counter=i;
      Range= 0 ;
      AvgRange= 0 ;
       for (counter=i ;counter<=i+ 9 ;counter++)
      {
         AvgRange=AvgRange+ MathAbs (High[counter]-Low[counter]);
      }
      Range=AvgRange/ 10 ;
      fasterEMAnow = iMA ( NULL , 0 , FasterEMA, 0 , MODE_EMA , PRICE_CLOSE , i);
      fasterEMAprevious = iMA ( NULL , 0 , FasterEMA, 0 , MODE_EMA , PRICE_CLOSE , i+ 1 );
      fasterEMAafter = iMA ( NULL , 0 , FasterEMA, 0 , MODE_EMA , PRICE_CLOSE , i- 1 );
      slowerEMAnow = iMA ( NULL , 0 , SlowerEMA, 0 , MODE_EMA , PRICE_OPEN , i);
      slowerEMAprevious = iMA ( NULL , 0 , SlowerEMA, 0 , MODE_EMA , PRICE_OPEN , i+ 1 );
      slowerEMAafter = iMA ( NULL , 0 , SlowerEMA, 0 , MODE_EMA , PRICE_OPEN , i- 1 ); 
       if ((fasterEMAnow > slowerEMAnow) && (fasterEMAprevious < slowerEMAprevious) && (fasterEMAafter > slowerEMAafter)) {
         CrossUp[i] = Low[i] - Range* 0.5 ;
         if ((loop == 0 ) && (CurrentTrend != 1 ))  {
            CurrentTrend = 1 ;
            Cur_Trend[ii]= CurrentTrend;
            }
         if (loop == 0 )  {
            loop = 1 ;
            }
      }
       else if ((fasterEMAnow < slowerEMAnow) && (fasterEMAprevious > slowerEMAprevious) && (fasterEMAafter < slowerEMAafter)) {
              CrossDown[i] = High[i] + Range* 0.5 ;
           if ((loop == 0 ) && (CurrentTrend != - 1 ))  {
              CurrentTrend = - 1 ;
              Cur_Trend[ii]= CurrentTrend;
           }
           if (loop == 0 )  {
              loop = 1 ;
          }
       }
   }
   return ( 0 );
}
 

친애하는 전문가 여러분!

다음 문제에 대한 귀하의 도움이 필요합니다. 2색 선을 그린 다음 하나의 색을 그리고 다른 색을 그리는 사용자 지정 표시기 가 있습니다. 현재 선이 어떤 색인지 결정하도록 고문을 어떻게 든 가르 칠 수 있습니까?

파일:
사유: