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

 
Summus_Digitus :
안녕 모두. 심각하고 시급한 문제인데 인터넷을 통째로 다 덮었다고 하는데... 일반적으로 MT4로 갈아타기로 하고 3일정도 꽤 오래 사용했습니다. 그리고 집에서 불을 끄고 나중에 컴퓨터를 켜고 처음으로 나를 보는 것 같았습니다. 프로그램 설정이 잘못되어 브라우저가 방문한 사이트를 잊어 버렸습니다! 별생각없었는데 갑자기 MT들어가는데 시스템스케치로 H4차트가 4개나 뜨는데 대체적으로 잘못된걸 보여주는데 항상 StartFX2로 같은가격을 확인했는데 시간간격을 열어보고싶다 H1과 D1 그리고 기다림 ... 나는 한 시간을 기다렸다. 두 번째 그는 하루에 업데이트되지 않을 것이지만 몇 년 동안 일반적으로 어떤 식 으로든 업데이트가 없습니다. "글쎄, 모든 것을 다시 설치하십시오"-당신이 말하면 "지옥에"라고 대답 할 것입니다. "글쎄, 누가 어떤 사이트인지 아는 사람에게서 일종의 소프트웨어 업데이트 표시기를 다운로드하십시오."라고 물으면 "두 번 지옥에나"라고 대답할 것입니다. 나는 정말로 돈을 계속 벌고 1로 컴퓨터 도움말을 교살하고 싶습니다. 그리고 우리는 보게 될 것입니다 :-)

흐느끼다! 솔직히 - 나는 그것을 읽고 비열한 눈물이 웃음과 함께 흔들리는 주둥이를 타고 흘러 내렸다 ...
 
VladTch :

모두 좋은 하루!

내 질문은 분명히 간단하지만 모든 기사를 샅샅이 뒤졌지만 답을 찾을 수 없었습니다. 반환 (-1) 연산자는 어떻게 작동합니까? 그는 통제권을 어디로 옮기나요? 이 코드에서 예를 들면 다음과 같습니다.

또 다른 리턴 ( 0 ) ;

대괄호에 0이 있고 대괄호가 없으면 모든 것이 명확해 보입니다. (-1)은 어떻습니까?

답변 해주셔서 감사합니다. :)

특수 기능 은 일반 기능입니다. 사용자 정의 함수로 호출할 수 있습니다. 그러나 한 가지 기능이 있습니다. 시스템 호출은 매개변수나 반환 값을 전달하지 않습니다.

 
Summus_Digitus :
안녕 모두. 심각하고 시급한 문제인데 인터넷을 통째로 다 덮었다고 하는데... 일반적으로 MT4로 갈아타기로 하고 3일정도 꽤 오래 사용했습니다. 그리고 집에서 불을 끄고 나중에 컴퓨터를 켜고 처음으로 나를 보는 것 같았습니다. 프로그램 설정이 잘못되어 브라우저가 방문한 사이트를 잊어 버렸습니다! 별생각없었는데 갑자기 MT들어가는데 시스템스케치로 H4차트가 4개나 뜨는데 대체적으로 잘못된걸 보여주는데 항상 StartFX2로 같은가격을 확인했는데 시간간격을 열어보고싶다 H1과 D1 그리고 기다림 ... 나는 한 시간을 기다렸다. 두 번째 그는 하루에 업데이트되지 않을 것이지만 몇 년 동안 일반적으로 어떤 식 으로든 업데이트가 없습니다. "글쎄, 모든 것을 다시 설치하십시오"-당신이 말하면 "지옥에"라고 대답 할 것입니다. "글쎄, 누가 어떤 사이트인지 아는 사람에게서 일종의 소프트웨어 업데이트 표시기를 다운로드하십시오."라고 물으면 "두 번 지옥에나"라고 대답할 것입니다. 나는 정말로 돈을 계속 벌고 1로 컴퓨터 도움말을 교살하고 싶습니다. 그리고 우리는 보게 될 것입니다 :-)

연대기에게!!!
 

왜 숫자를 색칠할 수 없습니까?

 #property indicator_chart_window
void start()
   {
string spred=DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD), 0);
   string lot=AccountFreeMargin()/(Bid)*0.002;
   string lots=StringSubstr(lot, 4, 1);
 
SetLabel("ЧИСЛО",   lots , ColorOnSign(lots), 5, 7, 1);}
  
   color ColorOnSign(double nu){
      color lcColor=Navy;
         if (nu<4) lcColor=Green;
         if (nu>6) lcColor=Red;
      return(lcColor);}
     
   void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
      if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
         ObjectSetText(nm, tx, fs);
         ObjectSet(nm, OBJPROP_COLOR    , cl);
         ObjectSet(nm, OBJPROP_XDISTANCE, xd);
         ObjectSet(nm, OBJPROP_YDISTANCE, yd);
         ObjectSet(nm, OBJPROP_CORNER   , cr);
         ObjectSet(nm, OBJPROP_FONTSIZE , 18);
      return(0);}

왜 숫자를 색칠할 수 없습니까?

 

기이한. 질문 같았습니다 :(

엮다!

 
Elektronik :

왜 숫자를 색칠할 수 없습니까?

 #property indicator_chart_window
void start()
   {
string spred=DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD), 0);
   string lot=AccountFreeMargin()/(Bid)*0.002;
   string lots=StringSubstr(lot, 4, 1);
 
SetLabel("ЧИСЛО",   lots , ColorOnSign(lots), 5, 7, 1);}
  
   color ColorOnSign(double nu){
      color lcColor=Navy;
         if (nu<4) lcColor=Green;
         if (nu>6) lcColor=Red;
      return(lcColor);}
     
   void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
      if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
         ObjectSetText(nm, tx, fs);
         ObjectSet(nm, OBJPROP_COLOR    , cl);
         ObjectSet(nm, OBJPROP_XDISTANCE, xd);
         ObjectSet(nm, OBJPROP_YDISTANCE, yd);
         ObjectSet(nm, OBJPROP_CORNER   , cr);
         ObjectSet(nm, OBJPROP_FONTSIZE , 18);
      return(0);}

왜 숫자를 색칠할 수 없습니까?

글쎄, 당신은 그것을 그렸지만 색상을 변경하려면 같은 종류이지만 다른 색상의 다른 개체를 만들어야 합니다! 그리고 개체를 변경하면 색상이 시각적으로 변경됩니다! 이렇게 이해합니다! 아니면 다른 의견이 있습니까? 나 자신은 이런 식으로 Masha의 색상을 변경했습니다.
 

나는 모든 것이 숫자에 관한 것이라고 생각합니다.

lots=StringSubstr(lot, 4, 1); 

아마도 프로그램은 그것을 한 자리 숫자로 이해합니다.

 
Elektronik :

기이한. 질문 같았습니다 :(

엮다!

예, 추가하고 실수로 삭제했습니다. 복원하지 않았습니다.

다음과 같이 색상을 변경하십시오.

ObjectSet(nm, OBJPROP_COLOR , cl);

색상을 변경하는 위치가 코드에 표시되지 않습니다.

=============

알아낸 곳...

다음과 같아야 합니다.

   void SetLabel( string nm, string tx, color cl, int xd, int yd, int cr= 0 , int fs= 9 )
    {
      ObjectCreate (nm, OBJ_LABEL , 0 , 0 , 0 );
     ObjectSetText(nm, tx, fs);
     ObjectSet(nm, OBJPROP_COLOR    , cl);
     ObjectSet(nm, OBJPROP_XDISTANCE , xd);
     ObjectSet(nm, OBJPROP_YDISTANCE , yd);
     ObjectSet(nm, OBJPROP_CORNER   , cr);
     ObjectSet(nm, OBJPROP_FONTSIZE , 18 );
    }

개체를 다시 만드는 것을 두려워하지 마십시오. 최적화되어 있습니다. 객체가 생성되면 변경되는 속성만 변경됩니다. 저것들. 다시 생성되지 않습니다.

중괄호를 같은 수준에 두십시오. 그렇지 않으면 블록이 시작되고 끝나는 위치, 쓰여진 내용을 즉시 이해하지 못할 것입니다.

확실히 ColorOnSign() 매개변수에 문제가 있습니다. 매개변수는 이중이지만 문자열을 삽입합니다.

SetLabel( "ЧИСЛО" , lots, ColorOnSign(StrToDouble(lots)), 5 , 7 , 1 );

또는

 color ColorOnSign( string sLots)
 {
   double nu = StrToDouble(sLots);
   color lcColor=Navy;
   if (nu< 4 ) lcColor=Green;
   if (nu> 6 ) lcColor=Red;
   return (lcColor);
 }
 

안녕하세요! 내가 그것을 알아낼 수 있도록 도와주시고, 가능하다면 코드를 알려주십시오.

나는 올빼미에 다음 트롤이 있습니다 ->

         for ( int v = OrdersTotal () - 1 ; v >= 0 ; v -- ){       
                 if ( OrderSelect (v, SELECT_BY_POS, MODE_TRADES)){           
                         if (OrderSymbol()== Symbol () && OrderMagicNumber()==Magic){ 
                                 //+=================================================================================+
                                 ///+================================Обычный трал ====================================+
                                 if (TralSimple){
                                         if (OrderType() == OP_SELL){
                                                 if ((OrderOpenPrice()-Ask) > ( Point *TrailingStop)){ 
                                                         if ((OrderStopLoss() > (Ask+ Point *TrailingStop)) || (OrderStopLoss()== 0 )){
                                                                OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ Point *TrailingStop,OrderTakeProfit(), 0 ,Red);
                                                        }
                                                }
                                        }
                                         //+=================================================================================+
                                         if (OrderType() == OP_BUY){
                                                 if ((Bid-OrderOpenPrice()) > ( Point *TrailingStop)){
                                                         if (OrderStopLoss() < Bid- Point *TrailingStop || (OrderStopLoss()== 0 )){
                                                                OrderModify(OrderTicket(),OrderOpenPrice(),Bid- Point *TrailingStop,OrderTakeProfit(), 0 ,Blue);  
                                                        }
                                                }
                                        }
                                }                                  
--------------------------------------------

이제 후행은 각 양수 틱 후에 정지점을 이동합니다. 나는 이것을 다음과 같이 하고 싶다:

첫 번째 패스 - 양수 틱으로 트레일은 정류장을 1포인트 이동하고 쌍이 얼마나 올라갔는지에 따라 이동합니다.

두 번째 패스 - 스킨 패스 중에 1씩 증가하고 특정 단계(5)를 설정하는 일부 변수 x를 사용합니다. 각 패스(단계)*x에서

등.

문제는 증가하는 승수로 이 단계를 조이는 방법입니다. 그리고 여러 포지션의 경우 이 승수는 포지션마다 다르기 때문에

 
berezhnuy :

안녕하세요! 내가 그것을 알아낼 수 있도록 도와주시고, 가능하다면 코드를 알려주십시오.

나는 올빼미에 다음 트롤이 있습니다 ->

이제 후행은 각 양수 틱 후에 정지점을 이동합니다. 나는 이것을 다음과 같이 하고 싶다:

첫 번째 패스 - 양수 틱으로 트레일은 정류장을 1포인트 이동하고 쌍이 얼마나 올라갔는지에 따라 이동합니다.

두 번째 패스 - 스킨 패스 중에 1씩 증가하고 특정 단계(5)를 설정하는 일부 변수 x를 사용합니다. 각 패스(단계)*x에서

등.

문제는 증가하는 승수로 이 단계를 조이는 방법입니다. 그리고 여러 포지션의 경우 이 승수는 포지션마다 다르기 때문에


포물선 같은 것을 기준점에 상대적인 계산 - 가격 및 개장 시간