MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 308

 
MosheDayan :

친구,이 상황에서 올바르게 벗어나는 방법 ... 표시기는 CSV에서 두 개의 수평선을 그립니다 (빨간색 - 하루의 시작부터 끝까지) 파란색 - 지난 날의 광선, 다른 가격 수준 . 그러나 이러한 수준이 동일한 가치/가격을 갖는 날이 있습니다. 선이 일치할 때 Ray(파란색)가 표시되고 차트에 빨간색 선이 보이지 않지만 물리적으로 존재하도록 상황에서 올바르게 빠져 나오는 방법 ... 즉, 투명했다.

지금 - Draw_Level("빨간색", 빨간색, DRAW_NONE, STYLE_SOLID,0); 선 그리기를 중지하지만 그 아래의 Ray도 보이지 않습니다. 고맙습니다.

개체가 생성되는 순서에 주의하십시오. 그리고 Draw_Level()이란 무엇입니까? 아무도 익숙하지 않은 사용자 정의 함수를 언급하는 이유는 무엇입니까?

 
Artyom Trishkin :

안녕하세요. 정확히 무엇을 하려고 했습니까? 첨부된 코드 2개만 보입니다. 당신을 위해 모든 것을 해 줄 누군가가 필요하다면 프리랜서 가 바로 그것입니다.

그리고 자신이 노력하고 있다면 정확히 무엇을 하고 있는지, 그리고 이해하지 못하는 부분을 보여주십시오.

좋은 오후, 아르템! 올바른 메모. 예, 코드와 함께 Word 파일을 첨부합니다. 빌린 알고리즘에서 코드에 추가한 내용은 빨간색으로 강조 표시됩니다. 코드의 메커니즘을 완전히 이해하지 못하기 때문에 지금까지 내가 이해하지 못하는 부분을 말할 수 없습니다. 하지만 어쩌면 당신은 올바른 방향으로 나를 가리킬 수 있습니다. 고마울거야.

 

안녕하세요!
전문가가 붙어있는 차트와 다른 심볼로 주문을 열어드립니다. 문제는 입찰의 정확성과 수행 방법을 사전에 확인할 필요가 있습니까?

 double Bid0= MarketInfo (OtherSymbol0, MODE_BID );
OrderSend (OtherSymbol0, OP_SELL , 1 ,Bid0, 3 ,stoploss,takeprofit, "My order" , 16384 , 0 , clrGreen ); 
 

안녕하세요.

친구가 코드에 다음 시간을 쓰는 방법을 알려줍니다. 이번 달의 첫 번째 수요일 다음 달의 첫 번째 금요일에 23:59? 저것들. 월이 목요일에 시작된 경우 두 번째 금요일에 23:59 시간이 필요합니다 ...

고맙습니다.

 
MosheDayan :

안녕하세요.

친구가 코드에 다음 시간을 쓰는 방법을 알려줍니다. 이번 달의 첫 번째 수요일 다음 달의 첫 번째 금요일에 23:59? 저것들. 월이 목요일에 시작된 경우 두 번째 금요일에 23:59 시간이 필요합니다 ...

고맙습니다.

 //+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   int countWedn= 0 ;
   int countFrid= 0 ;
   if ( TimeDayOfWeek ( TimeCurrent ())== 5 && Hour ()== 23 && Minute ()== 59 )
     {
      countWedn= 0 ;
      countFrid= 0 ;
       for ( int i= 0 ; i<= Day (); i++)
        {
         if ( TimeMonth ( iTime ( Symbol (), PERIOD_D1 ,i))== TimeMonth ( TimeCurrent ()))
           {
             if ( TimeDayOfWeek ( iTime ( Symbol (), PERIOD_D1 ,i))== 3 )countWedn++;
             if ( TimeDayOfWeek ( iTime ( Symbol (), PERIOD_D1 ,i))== 5 )countFrid++;
           }
        }
     }
   if (countWedn== 1 && countFrid== 1 ) Print ( " 23:59 первой пятницы месяца после первой среды этого месяца " );
  }
//+------------------------------------------------------------------+
 
Artyom Trishkin :

할 수 있다. 그리고 생각의 방향이 맞습니다. 매개변수를 어떻게 사용하려고 했는지 보여주세요.


이해했다. 그래픽 개체를 적절한 클래스에 "고정"해야 합니다.

#include <ChartObjects\ChartObject.mqh>

무효 OnStart()

{

CChartObject 개체;

문자열 objName = "";

이중 가격 = 0;

날짜시간;

int NumTriangles = ObjectsTotal(ChartID(),0, OBJ_TRIANGLE );

(int j=0;j<NumTriangles;j++){

objName = ObjectName(ChartID(),j);

object.Attach(ChartID(),objName,0,3);

(int i=0;i<object.NumPoints();i++){

가격 = object.Price(i);

dt = 객체.시간(i);

Print("피벗점 - ",IntegerToString(i)," Time = ",TimeToString(dt)," Price = ",DoubleToStr(price,4));

}

개체.분리();

}

 

모두에게 좋은 하루!

그런 질문이 있습니다. 그런 블록이 있습니다.

opf_all= 0 ;
   for ( int is= OrdersHistoryTotal (); is>= 0 ; is--)
   {
     if ( OrderSelect (is, SELECT_BY_POS , MODE_HISTORY ) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==MN)
     {
      opf_all=opf_all+ OrderProfit ()+ OrderCommission ()+ OrderSwap ();
     }
   }

opf_all 변수는 전체 기간 동안의 총 이익을 포함해야 합니다. 그러나 계정 기록 탭의 터미널에서 현재 날짜의 매개 변수를 선택하면 이 모듈이 결과를 제공합니다.

현재 날짜에 대해서만 전체 기간에 대해 선택하면 이 모듈은 전체 기간에 대해 표시됩니다. 결국, 그렇게해서는 안됩니다. 계정 내역에서 인터벌 선택 여부와 상관없이

모듈은 여전히 전체 기간에 대한 총 이익을 표시해야 합니다. 내가 뭔가를 이해하지 못하는 건 아닐까?

이 문제가 어떻게든 해결되었습니까?

 
Valerius :

모두에게 좋은 하루!

그런 질문이 있습니다. 그런 블록이 있습니다.

opf_all= 0 ;
   for ( int is= OrdersHistoryTotal (); is>= 0 ; is--)
   {
     if ( OrderSelect (is, SELECT_BY_POS , MODE_HISTORY ) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==MN)
     {
      opf_all=opf_all+ OrderProfit ()+ OrderCommission ()+ OrderSwap ();
     }
   }

opf_all 변수는 전체 기간 동안의 총 이익을 포함해야 합니다. 그러나 계정 기록 탭의 터미널에서 현재 날짜의 매개 변수를 선택하면 이 모듈이 결과를 제공합니다.

현재 날짜에 대해서만 전체 기간에 대해 선택하면 이 모듈은 전체 기간에 대해 표시됩니다. 결국, 그렇게해서는 안됩니다. 계정 내역에서 간격 선택에 관계없이

모듈은 여전히 전체 기간에 대한 총 이익을 표시해야 합니다. 내가 뭔가를 이해하지 못하는 건 아닐까?

이 문제가 어떻게든 해결되었습니까?

아니요, "계정 이력" 탭에서 계산된 이력의 크기를 선택하는 것 외에는 해결되지 않습니다.

그리고 SRC 버튼을 사용 하여 코드를 붙여넣으십시오 . 메시지 서식 메뉴의 텍스트 입력 필드 바로 위에 있습니다. 읽을 수 없는 "풋웨어"를 올바르게 삽입했습니다.

 
Artyom Trishkin :

아니요, "계정 이력" 탭에서 계산된 이력의 크기를 선택하는 것 외에는 해결되지 않습니다.

그리고 SRC 버튼을 사용 하여 코드를 붙여넣으십시오 . 메시지 서식 메뉴의 텍스트 입력 필드 바로 위에 있습니다. 읽을 수 없는 "풋웨어"를 올바르게 삽입했습니다.

고맙고 미안하다...

 

안녕하세요 차트에 https://www.mql5.com/ru/code/19049 버튼 이 있어서 사이트가 열리는데 이 버튼으로 스크립트를 켜야하는데 다시 할 수 있나요? 감사합니다.

Link
Link
  • 투표: 11
  • 2017.09.01
  • Iurii Tokman
  • www.mql5.com
Индикатор создает графическую кнопку, при нажатии на которую открывается окно браузера с сайтом, заданным в настройках индикатора.