포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 192

 
Desead :

물론 감사하지만 질문을 읽기에 너무 게으르다면 답변의 요점이 무엇입니까? 표시기의 레벨 작업에 사용할 수 있는 두 가지 기능에서 해당 값, 두께, 색상 및 스타일을 변경할 수 있습니다. 하지만 설명에 액세스할 수 없습니다. 다시 말하지만 답을 아는 사람이 있습니까? 어쩌면 직면?

내가 필요한 것을 볼 수 있도록 사진을 첨부했습니다.


그것은 결코 없었고 아마 결코 없을 것입니다.
 
yan720 :

그러면 이 기능이 작동하지 않을 것 같습니까? 나는 그것을 테스트하지 않았지만 그것이 작동하는 코드의 일부인 것 같습니다(이 Ilan은 최소한 디버깅된 것으로부터 분명히 재구축되었습니다). 아니면 여전히 서투른 코드입니까?




사용:

 void Modify_orders ( double AverPrice, double SLoss, double TProfit){
   double Stoplevel =  MarketInfo( Symbol (),MODE_STOPLEVEL);
   datetime GTCount_1 = 0 ;
   datetime GTCount_2 = 0 ;
   int ppos = 0 ;
   if ((AverPrice != 0 ) == TRUE){
       for (ppos = OrdersTotal () - 1 ; ppos >= 0 ; ppos--){
           if ( OrderSelect (ppos, SELECT_BY_POS, MODE_TRADES) == TRUE){
             if ((OrderSymbol() != Symbol () || OrderMagicNumber() != Magic || OrderType() >= 2 ) == TRUE) continue ;
             if ((OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) == TRUE){ 
             if ((OrderType() == 0 ) == TRUE){ 
               if (Bid - SLoss < Stoplevel * Point ){ SLoss = ND(Bid - Stoplevel * Point );}
               if (TProfit - Ask < Stoplevel * Point ){ TProfit = ND(Ask + Stoplevel * Point );}
            } else if ((OrderType() == 1 ) == TRUE){ 
               if (SLoss - Ask < Stoplevel * Point ){ SLoss = ND(Ask + Stoplevel * Point );}
               if (Bid - TProfit < Stoplevel * Point ){ TProfit = ND(Bid - Stoplevel * Point );}
               }
                  GTCount_1 = GetTickCount ();           
                  OrderModify(OrderTicket(), AverPrice, SLoss, TProfit, 0 , Yellow);  
                  GTCount_2 = GetTickCount () - GTCount_1;
                   // Print("Modify time(ms):   ", GTCount_2, "   /  Ticket: ", OrderTicket()," /  Time: ", TimeToStr (TimeCurrent(), TIME_SECONDS), " /  Average price: ",AverPrice, " /  SL: ",SLoss, " /  TP: ",TProfit); 
                 Sleep ( 33 );                
                }
            }
        } 
    }
}
double ND( double value){
   return ( NormalizeDouble (value, Digits ));
}
 
digits :


사용:

귀하의 기능은 거래 서버 오류를 처리하지 않습니다. OrderModify() 함수는 오류 처리 와 그에 대한 적절한 응답이 포함된 별도의 본격적인 함수로 발행되어야 합니다.

그리고 다시, 이것은 왜?

 if ((OrderSymbol() != Symbol () || OrderMagicNumber() != Magic || OrderType() >= 2 ) == TRUE) continue ;
if ((OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) == TRUE){

왜 버터 오일?

 
digits :


사용:


아니요, 우리는 그것을 사용하지 않습니다.
 

빵을 20불 사서 집에 와서 구매 가격을 5루블로 바꾸고 지갑에서 15루블 차이를 보면 이상할 텐데... 대박...;)

빵은 나중에 최소 35r(이익의 15r)에 재판매할 수 있지만 중개인은 절대 커미션을 주지 않을 것입니다 :-)

 

안녕하세요. MQL을 배우기 시작한지 며칠 후 사이트를 다시 읽어보았지만 답을 찾지 못했습니다. (초보자를 엄격하게 판단하지 마십시오)

얘들 아, 주문 마감 기능을 올바르게 작성하는 방법을 알려주십시오. 어쨌든 시도했지만 전혀 닫히지 않습니다 MA(5)와 MA(21)가 교차할 때 주문을 종료해야 하는 간단한 코드는 다음과 같습니다.

고맙습니다.

double ma50;

double ma51;

double ma210;

double ma211;

double ma550;

double Stoh;

int start()

{

//Open Orders--------------------------------------------------------------------------------

{

ma50=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0);

ma51=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1);

ma210=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,0);

ma211=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,1);

ma550=iMA(NULL,0,55,0,MODE_EMA,PRICE_CLOSE,0);

Stoh=iStochastic(Symbol(),5,5,3,3,MODE_SMA,1,MODE_MAIN,0);

if(OrdersTotal()==0 && ma50 > ma51 && ma50 > ma210 && ma51 < ma211 && ma210 > ma550 )

OrderSend(Symbol(),OP_BUY,Lots,Ask,0,0,0,"BUY",123,0,Red);

}

//Close Orders--------------------------------------------------------------------------------

{

if(OrdersTotal()==1 && ma50 < ma210 )

if(OrderSelect(10,SELECT_BY_POS)==true)

OrderClose(OrderMagicNumber(),Lots,Bid,1,CLR_NONE);

}

}


 
AlexCY :

안녕하세요. MQL을 배우기 시작한지 며칠 후 사이트를 다시 읽어보았지만 답을 찾지 못했습니다. (초보자를 엄격하게 판단하지 마십시오)

녀석들은 주문 마감 기능을 올바르게 작성하는 방법을 알려줍니다. 어쨌든 시도했지만 어떤 식 으로든 닫히지 않습니다 MA(5)와 MA(21)가 교차할 때 주문을 종료해야 하는 간단한 코드는 다음과 같습니다.

고맙습니다.

코드의 정확성은 귀하, 특히 귀하가 아닌 다른 누구도 이 용어가 의미하는 바에 직접적으로 의존합니다.

여기에서는 동일하지만 약간 더 잘못된 주문 마감 시도로 주문을 개설하려는 시도를 제시했습니다.

내가 조언 할 수있는 유일한 것은 - 언어를 더 공부하십시오. 너무 작은 기초가 오해의 주요 원인이기 때문에 서두를 것이 없습니다.

OrderClose 에 잘못된 매개변수가 있습니다. + 하나의 주문 에 대해 OrderSelect 는 숫자 0 으로 사용 됩니다. + 스프레드를 먹은 후 다음 틱 또는 두 틱에서 개봉 후 " ma50 < ma210"이 실행되지 않는다고 확신합니까?

도구 모음의 SRC 버튼을 통해 코드가 삽입됩니다.

 

안녕하세요.

새로운 추세선이 차트에 나타나는 순간을 지표 코드에서 잡아서 이 추세선의 이름을 얻어야 합니다.

각 눈금 의 모든 개체 목록을 추적하는 것 외에 개체 수가 변경된 순간을 수정한 다음 새로 그린 개체를 찾기 위해 전체 목록을 반복하는 것 외에... 더 저렴한 다른 방법이 있습니까? 그렇다면 그것을 구현하는 가장 좋은 방법은 무엇입니까?

 
satorifx :

안녕하세요.

새로운 추세선이 차트에 나타나는 순간을 지표 코드에서 잡아서 이 추세선의 이름을 얻어야 합니다.

각 눈금의 모든 개체 목록을 추적하고 개체 수가 변경된 순간을 수정한 다음 새로 그린 개체를 찾기 위해 전체 목록을 반복하는 것 외에... 더 저렴한 다른 방법이 있습니까? 그렇다면 그것을 구현하는 가장 좋은 방법은 무엇입니까?


그리고 오브젝트가 직접 적용된 부분에 위의 처리로 블록에 링크를 추가?
 
ALXIMIKS :

그리고 오브젝트가 직접 적용된 부분에 위의 처리로 블록에 링크를 추가?
정확히 어떤 부분에 대해 이야기하고 있습니까? 추세선을 적용하는 2가지 방법이 있습니다. 나만의 스크립트(예, 거기에 무엇이든 추가할 수 있음)와 MT4 도구를 사용하여 적용된 표준 추세선(여기에는 아무 것도 추가할 수 없음)이 있습니다. 어떤 식으로든 추세선 그리기를 추적하는 작업입니다.