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

 

안녕하세요. 프롬프트에 따라 스크립트에 모든 것을 추가했습니다 - 그래프를 d1으로 전송하기 위한 스크립트 코드와 아래의 중기 템플릿.

 //+------------------------------------------------------------------+
//|                                               D1_AND_SHABLON.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright " КОПИЯ 1 "
#property link        " https://vk.com/danila_mastep "
#property version    "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СРЕДНЕСРОК" ;
void OnStart ()
 {
   long prevChart = ChartFirst ();
   while (prevChart >= 0 && IsStopped ())
   {
     if ( ChartPeriod (prevChart) != PERIOD_D1 )
       ChartSetSymbolPeriod (prevChart, ChartSymbol (prevChart), PERIOD_D1 );
       ChartApplyTemplate (prevChart, tplName);
    prevChart = ChartNext (prevChart);
   }
 } /******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+


아래 화면에 차트가 열려 있는 터미널 창.

스캘핑 템플릿이 있는 7개의 차트

스크린샷은 7개의 차트가 열려 있고 모두 AUD/USD 와 같이 스캘핑 템플릿이 있음을 보여줍니다. D1_AND_SHABLON.mq4 스크립트를 드래그할 때 아무 일도 일어나지 않습니다. 어디에서 오류가 발생할 수 있습니까? 오오

 
DanilaMactep # :

안녕하세요. 프롬프트에 따라 스크립트에 모든 것을 추가했습니다 - 그래프를 d1으로 전송하기 위한 스크립트 코드와 아래의 중기 템플릿.


아래 화면에 차트가 열려 있는 터미널 창.

스크린샷은 7개의 차트가 열려 있고 모두 AUD/USD 와 같이 스캘핑 템플릿이 있음을 보여줍니다. D1_AND_SHABLON.mq4 스크립트를 드래그할 때 아무 일도 일어나지 않습니다. 어디에서 오류가 발생할 수 있습니까? 오오

전체 문제는 너무 많은 고문이 있고 모든 사람이 자신의 솔루션을 가지고 있다는 것입니다. 맞다고 해도 남들과 다르다. 그러나 종종 그것은 절대적으로 틀립니다.

Sasha는 템플릿 이름을 .tpl 없이 다음과 같이 내 힌트에 넣으라고 조언했습니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

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

알렉세이 빅토 로프 , 2022.02.17 08:29

코드에 한 줄만 추가하면 충분합니다. 또는 두 줄을 하나로 교체하십시오.

 string tplName = "name.tpl" ;
/********************Script program start function*******************/
void OnStart ()
 {
   long prevChart = ChartFirst ();
   while (prevChart >= 0 )
   {
     //if(ChartPeriod(prevChart) != PERIOD_H1)
     //  ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
     ChartApplyTemplate (prevChart, tplName);
    prevChart = ChartNext (prevChart);
   }
 } /******************************************************************/
/*****************************End program****************************/

당신은 거기에서, 여기에서 일부를 취했고 그것은 죽으로 밝혀졌습니다 ... 진주 보리도 아닙니다 ...
 
novichok2018 # :

예, 정확히: 고문 #2가 고문 #1이 개설한 모든 포지션을 볼 수 있도록 합니다. 나에게 쉬운 일이라면 도움을 요청하지 않을 것입니다.

지금까지 나는 다음과 같은 해결책을 보았다. Expert Advisor 1번이 포지션을 열기 위한 좌표로 "point" 객체를 생성하는 지시자를 작성하고 Expert Advisor 2번이 설치된 차트에 배치한다.

내 논리가 맞다면 이 지표를 작성하는 데 여전히 도움이 필요합니다.

그는 그들을 본다
 
novichok2018 # :

예, 정확히: 고문 #2가 고문 #1이 개설한 모든 포지션을 볼 수 있도록 합니다. 나에게 쉬운 일이라면 도움을 요청하지 않을 것입니다.

지금까지 나는 다음과 같은 해결책을 보았다. Expert Advisor 1번이 포지션을 열기 위한 좌표로 "point" 객체를 생성하는 지시자를 작성하고 Expert Advisor 2번이 설치된 차트에 배치한다.

내 논리가 맞다면 여전히 이 지표를 작성하는 데 도움이 필요합니다.

완전히 명확하지 않습니다. 1번 고문의 열린 자리를 확인해야 합니다.

또는 여전히 고문 번호 2?

다음은 오픈 포지션을 보는 어드바이저의 코드입니다. 1번 고문이 열었습니다.

1번 고문의 마법을 속성에 처방하면 충분하다.

 //+------------------------------------------------------------------+
//|                                                  советник №2.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link        " https://www.mql5.com "
#property version    "1.00"
#property strict

input int   Magic = 0 ;   //

datetime OOT;   //время последней открытой позиции.
double   OOP;     //цена последней открытой позиции.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---

//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   GetPos( Symbol (),Magic);

   Comment ( "время последней открытой позиции =" , TimeToString (OOT),
           "\nцена последней открытой позиции = " , DoubleToString (OOP, _Digits ));

  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void GetPos( string sy, int mn)
  {

   int       i,k= OrdersTotal ();

   for (i= 0 ; i<k; i++)
     {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
        {
         if (OrderMagicNumber()==mn && OrderSymbol()==sy)
           {
             if (OOT<OrderOpenTime())
              {
               OOT = OrderOpenTime();
               OOP = OrderOpenPrice();
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

그리고 마지막으로 열린 위치의 좌표를 표시합니다.

 
Alekseu Fedotov # :

완전히 명확하지 않습니다. 1번 고문의 열린 자리를 확인해야 합니다.

또는 여전히 고문 번호 2?

다음은 오픈 포지션을 보는 어드바이저의 코드입니다. 어드바이저 No.1에 의해 열렸고,

속성에 1번 고문의 마법을 처방하면 충분하다.

그리고 마지막으로 열린 위치의 좌표를 표시합니다.

그는 트랜스미터-어드바이저의 코드에 액세스할 수 없습니다...

그 사람은 주문이 다른 차트에서 열리면 전송이 그것을 볼 수 없다고 완고하게 확신합니다.

설명하려 했지만 실패

 
Tretyakov Rostyslav # :

그는 트랜스미터-어드바이저의 코드에 액세스할 수 없습니다...

그 사람은 주문이 다른 차트에서 열리면 전송이 그것을 볼 수 없다고 완고하게 확신합니다.

설명하려 했지만 실패

리시버 얘기를 하고 있는 줄 알았는데, 코드가 열려 있는 것 같다. 글쎄, 나는 이해하지 못했다.

 
Alexey Viktorov # :

전체 문제는 너무 많은 고문이 있고 모든 사람이 자신의 솔루션을 가지고 있다는 것입니다. 맞다고 해도 남들과 다르다. 그러나 종종 완전히 틀립니다.

Sasha는 템플릿 이름을 .tpl 없이 다음과 같이 내 힌트에 넣으라고 조언했습니다.


당신은 거기에서, 여기에서 일부를 취했고 그것은 죽으로 밝혀졌습니다 ... 진주 보리도 아닙니다 ...
당신 자신이 결코주의를 기울이지 않을 아주 작은 세부 사항. 방향을 주셔서 대단히 감사합니다. 내일도 계속 수정하겠습니다. 그리고 난 돌아올거야 얘들아 )))))))))))))))))))
 
Tretyakov Rostyslav # :
그는 그들을 본다

아마도 그는 그들을보고, 나는 고문의 코드를 읽지 않았지만 아마도 그가 설치된 차트에 반영된 것만 볼 수 있습니다. 그리고 이익실현, 손절매, 포지션 오픈 가격 라인이 반영되지만 오픈 시간은 없습니다. 따라서 Expert Advisor #2가 차트에 표시된 내용만 보는 경우 Expert Advisor #1의 정보를 잘못 읽을 수 있다고 생각합니다. 따라서 전문가 고문 1번이 개설 한 포지션에 대한 모든 정보(가격, 개장 시간 및 중지)를 그의 차트에 반영하고 싶습니다.

 
Alekseu Fedotov # :

완전히 명확하지 않습니다. 1번 고문의 열린 자리를 확인해야 합니다.

또는 여전히 고문 번호 2?

다음은 오픈 포지션을 보는 어드바이저의 코드입니다. 1번 고문이 열었습니다.

속성에 1번 고문의 마법을 처방하면 충분하다.

그리고 마지막으로 열린 위치의 좌표를 표시합니다.

플랫폼은 하나의 차트에 두 개의 Expert Advisors를 설치할 수 없습니다. 지표가 필요합니다.

 
Vitaly Muzichenko # :

가입자에 대한 데이터를 빼내는 것은 해롭습니다.

다시, 귀하의 계정에는 500의 레버리지가 있는 50이 있고 구독자는 33의 레버리지와 5000이 있습니다.

여기에 작은 계산 문제가 있는 것 같습니다. 그것이 이 서비스에 관한 것입니다.

자체 복사에 대해 이야기하면 다음과 같습니다.

레버리지가 2000인 계정에 50이 있고 레버리지가 33인 구독자가 5000입니다.

당신은 작은 로트로 3개의 포지션을 열 수 있을 것이고, 그의 예금을 위한 대규모 랏을 가진 가입자는 두 번째 것 이후에 돈이 남지 않을 것입니다. 왜냐하면 모두가 마진으로 갈 것이기 때문입니다.

---

그렇게 간단하지 않습니다.

고맙습니다!
가입자와 데이터를 희생합니다.
사실은 모든 것이 그들의 동의하에 이루어질 것이라는 것입니다. 이 리소스에 대해 대량 복사를 할 계획이 없습니다. 매우 불편합니다.

구독자가 나를 두 번 속이지 않도록 데이터가 필요합니다. 이익 후에 지불이 이루어지기 때문입니다. 그리고 내 보상 금액이 얼마인지 이해하려면 구독자의 잔액을 확인해야 합니다.
가입자가 내 이익을 직접 양도합니다.

내 레버리지는 100으로 안정적입니다. 잔액은 100달러입니다. 이것은 정신에 대한 스트레스를 줄입니다. 그리고 구독자는 100,000을 가질 수 있습니다. 그보다 침착함을 유지하는 것이 더 쉽습니다.
이것이 내가 Binance에서 일하는 방식입니다.
FX에 있는 분들을 위한 화제도 전개하고 싶습니다.

나는 당신이 전문가라고 생각합니다.
말해봐, 복사기로 이런 걸 할 수 있어?
예를 들어 바이낸스에서 내 클라이언트(구독자)에 대한 데이터는 내 친구 프로그래머가 대신해 준 사이트의 내 관리자 패널에 API를 통해 표시됩니다. 그러나 MQL 5에서는 그다지 좋지 않습니다. 아니면 전혀.)