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

 
gince :

잘못된 개체를 표시하는 이유는 무엇입니까? 왼쪽 https://docs.mql4.com/ru/constants/objectconstants/arrows 코드 3을 가리키는 삼각형이 있어야 하며 위쪽 Wingdings 코드 241에 대한 화살표가 나타납니다.

프로그램 코드( ObjectSet(objName, OBJPROP_ARROWCODE , 3 ); )

자세히 읽으십시오. 자세한 내용은 기억나지 않지만 코드 3은 포함되어 있지 않습니다. 윙딩스.


추신; 메모에 있는 내용은 다음과 같습니다.

DRAW_ARROW 스타일이 있는 라인에 대한 화살표 값을 설정할 때 사용자 지정 표시기에 특수 화살표 코드를 사용할 수 없습니다 .

 
이것은 고문입니다.
AlexeyVik :

자세히 읽으십시오. 자세한 내용은 기억나지 않지만 코드 3은 포함되어 있지 않습니다. 윙딩스.


추신; 메모에 있는 내용은 다음과 같습니다.

DRAW_ARROW 스타일이 있는 라인에 대한 화살표 값을 설정할 때 사용자 지정 표시기에 특수 화살표 코드를 사용할 수 없습니다 .

이것은 Expert Advisor이며 기능을 포함합니다.

 
gince :
이것은 고문입니다.
상관없습니다.
 
AlexeyVik :
상관없습니다.

언제 가능합니까?

 
gince :
이것은 고문입니다.

동일한 Expert Advisor에는 두 번째 기능이 있습니다. 괜찮습니다. (ObjectSet(OBJ이름, OBJPROP_ARROWCODE, 1);)

 void f_ArrowOpen(
                   datetime openTime,
                   int action,
                   double lots,
                   string symb,
                   double openPrice
                  )
{
   color c;
   string op= "" ;
       if (action== 1 )
      {
         c=Blue;
         op= "BUY" ;
      }
       else if (action==- 1 )
      {
         c=Red;
         op= "SELL" ;
      }
   // order open arrow name:    #76840865 buy 0.05 EURUSDc at 1.30416

       string objName = StringConcatenate ( "#" , TimeToString (openTime, TIME_DATE | TIME_MINUTES ), " " , op, " " , lots, " " , symb, " at " , openPrice);
       ObjectCreate (objName, OBJ_ARROW , 0 , openTime, openPrice);
      ObjectSet(objName, OBJPROP_COLOR , c);
      ObjectSet(objName, OBJPROP_ARROWCODE , 1 );
      ObjectSetText(objName, "LOT: " + DoubleToStr(lots, 2 ));
}
//+------------------------------------------------------------------+ 
void f_ArrowClose(
                   datetime closeTime,
                   int action,           //íàïðàâëåíèå
                   double lots,
                   string symb,
                   double openPrice,
                   double closePrice,
                   double profit)
{
       color c;
       string op= "" ;
       if (action== 1 )
      {
         if (profit> 0 )c=Blue; else if (profit< 0 )c=Red; else c=Yellow;
         op= "cl_BUY" ;
      }
       else if (action==- 1 )
      {
         if (profit> 0 )c=Blue; else if (profit< 0 )c=Red; else c=Yellow;
         op= "cl_SELL" ;
      }
      
       string objName = StringConcatenate ( "#" , closeTime, " " , op, " " , lots, " " , symb, " at " , openPrice, " close at " , closePrice);
       ObjectCreate (objName, OBJ_ARROW , 0 , closeTime, closePrice);
      ObjectSet(objName, OBJPROP_COLOR , c);
      ObjectSet(objName, OBJPROP_ARROWCODE , 3 );
       //ObjectSetText(objName, StringConcatenate("Profit: ", profit));
}
 
말해 주세요. EA는 각 막대의 지표 신호를 기반으로 거래합니다. 그리고 각 틱 에서 조건을 확인하는 방법. 표시기의 조건은 다음과 같습니다.
정수 한계, 나는;
int counted_bars=IndicatorCounted(); // 이미 계산된 막대의 수
if (counted_bars<0) return(-1); // 가능한 오류 확인
if (counted_bars>0) counted_bars--; // 마지막으로 계산된 막대 다시 계산
한도=막대 개수 계산된 막대기; // 마지막으로 계산된 막대부터 시작
// - 1 - ============================ 블록 끝 =============== ======================

// - 2 - ====================== 기록에 표시기 표시 ================= = ====
for(i = 한계, i >= 0, i--)
{
FastMA = iMA(NULL, 0, FastMAPeriod, FastMAShift, FastMAMethod, FastMAPrice, i);
SlowMA = iMA(NULL, 0, SlowMAPeriod, SlowMAShift, SlowMAMethod, SlowMAPrice, i);

}
// - 2 - ============================ 블록 끝 =============== ======================

// - 3 - ================================================================================================================================== =====================
//if (LastBar != Time[0]) // 막대당 한 번
//{
이게 다야?
 
gince :

동일한 Expert Advisor에는 두 번째 기능이 있습니다. 괜찮습니다. (ObjectSet(OBJ이름, OBJPROP_ARROWCODE, 1);)

당신은 당신이 뭔가를 올바르게 이해하지 못한다고 내가 당신에게 확신을 줄 것이라고 생각합니까? 시간을 들여 실험하고 쓰여진 내용을 이해하려고 노력하는 것이 좋습니다.
 

좋은 오후에요 여러분.

이전 오픈 포지션 이 빨간색인 경우 주문이 실행되지 않도록 OrderSend 전에 어떤 조건을 추가해야 하는지 알려주세요. 평균을 피하기 위해.

 
Craft :

좋은 오후에요 여러분.

이전 오픈 포지션이 빨간색인 경우 주문이 실행되지 않도록 OrderSend 전에 어떤 조건을 추가해야 하는지 알려주세요. 평균을 피하기 위해.

일반적으로 검사는 다음과 같습니다.

주문선택(티켓, SELECT_BY_TICKET );

if(주문수익()<0) { }


그리고 괄호 안에 원하는 것을 넣을 수 있습니다. 예를 들어, "martin" 방법이 작동하도록 이것을 사용합니다)

 
좋은 저녁이에요! 고문이 어떻게 작동하는지 알려주실 수 있습니까? 기본 시작 기능에서 직접 return을 작성하면 EA가 작업을 종료합니까? 미리 감사드립니다!