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

 
ScioMe :


PF는 물론 Profit Factor입니다. FV는 무엇입니까? 테스터가 이러한 값을 MO 출력으로 표시하도록 할 수 있습니까?

내가 당신에게 MO, 수익성, 거래 수, 날짜, 최대 손실을 제공한다면 고문의 품질에 대해 말해 줄 수 있습니까?


PV는 회복 계수 = 순이익 / 최대 손실입니다.

"EA 품질 " 참조...:-)))

 
ScioMe :

내가 당신에게 MO, 수익성, 거래 수, 날짜, 최대 손실을 제공한다면 고문의 품질에 대해 말해 줄 수 있습니까?


더 쉬운 테스터의 보고서 헤더. 그리고 결과가 어떻게 얻어지는지를 아는 것이 매우 중요합니다. 한 가지는 최상의 최적화 결과 이고, 다른 한 가지는 앞으로 나아가야 하며, Expert Advisor의 기본 원칙을 아는 것도 좋습니다. 그리고 나서야 어느 정도 경험이 있어야 추측게임(10건 중 7~8건) 이상의 성공확률로 전문가 진단이 가능하다.
 
내 무지를 용서하십시오. 그러나 앞으로가 무엇입니까?
 

"전문가 고문의 테스트 및 최적화" 기사 참조

포워드 테스트가 무엇인지 자세히 설명합니다.

 

도와주세요, 제발. 방금 mql에서 프로그래밍을 시작했습니다.

이와 같은 작업을 수행해야 합니다.

이 작업의 의미는 있지만 코드를 작성할 수 없습니다.

1일 1주문 확인. 1개의 주문이 이미 개설 및 마감된 경우 해당 날짜에는 Expert Advisor가 더 이상 작동하지 않습니다.

시험. 주문이 마이너스로 열리고 닫히면 전문가는 하루 동안 작업을 멈 춥니 다.

 

스레드를보십시오 https://www.mql5.com/ru/forum/131859

여기에 (대부분) 네 번째 페이지의 기능이 필요합니다.

isTradeToDay - 오늘의 거래 플래그를 반환합니다.

isLossLastPos - 마지막 위치 손실 플래그를 반환합니다.

isCloseLastPosByStop - 스톱으로 마지막 위치를 닫기 위한 플래그를 반환합니다.
isCloseLastPosByTake - 마지막 위치를 테이크에 의해 닫는 플래그를 반환합니다.

NumberOfBarCloseLastPos - 마지막 위치의 닫는 막대 번호 또는 -1을 반환합니다. (tf-d에서 = 0 - 오늘 마감)

NumberOfLossPosToday - 오늘 마감된 손실 위치 수를 반환합니다.

등.

 

좋은 오후에요 여러분! H1에 H4 값을 표시하도록 일반적인 MACD 표시기 를 다시 만드는 방법을 볼 수 있는 스레드를 보내주세요. H1에서 4시간 동안 H4 기간의 값과 동일한 막대를 그렸습니다.

고맙습니다!

 

안녕하세요. While 문을 이해하는 데 도움을 주실 수 있습니까? 주어진 레벨 사이에 수평선을 그려야 하는 스크립트를 작성했지만 첫 번째 라인만 그린 다음 멈춥니다. 내가 무엇을 잘못하고 있지?

코드를 첨부합니다.

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

//| H_LINES.mq4 |

//| Copyright © 2011, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

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

#property copyright "Copyright © 2011, MetaQuotes Software Corp."

#속성 링크 "http://www.metaquotes.net"


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

//| 스크립트 프로그램 시작 기능 |

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

이중 최소 레벨 = 1.40000; //하단줄

이중 Max_Level = 1.60000; // 상한

더블 스텝 = 200; // 단계(라인 사이의 거리)(핍)

int Lines_Width = 2; // 선 두께

색상 Lines_Color = 녹색; // 라인 색상

이중 나; //공식 변수


정수 시작()

{

//----

i=최소 수준;

동안 ( 나는 < Max_Level )

{

ObjectCreate("H_LINE",OBJ_HLINE,0,0,i);

ObjectSet("H_LINE",OBJPROP_COLOR,Lines_Color);

ObjectSet("H_LINE",OBJPROP_WIDTH,Lines_Width);

i = Min_Level + (단계/10000);

}

//----

반환(0);

}

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

고맙습니다.

 
Gerkl :

안녕하세요. While 문을 이해하는 데 도움을 주실 수 있습니까? 주어진 레벨 사이에 수평선을 그려야 하는 스크립트를 작성했지만 첫 번째 라인만 그린 다음 멈춥니다. 내가 무엇을 잘못하고 있지?

코드를 첨부합니다.

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

//| H_LINES.mq4 |

//| Copyright © 2011, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

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

#property copyright "Copyright © 2011, MetaQuotes Software Corp."

#속성 링크 "http://www.metaquotes.net"


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

//| 스크립트 프로그램 시작 기능 |

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

이중 최소 레벨 = 1.40000; //하단줄

이중 Max_Level = 1.60000; // 상한

더블 스텝 = 200; // 단계(라인 사이의 거리)(핍)

int Lines_Width = 2; // 선 두께

색상 Lines_Color = 녹색; // 라인 색상

이중 나; //공식 변수


정수 시작()

{

//----

i=최소 수준;

동안 ( 나는 < Max_Level )

{

ObjectCreate("H_LINE",OBJ_HLINE,0,0,i);

ObjectSet("H_LINE",OBJPROP_COLOR,Lines_Color);

ObjectSet("H_LINE",OBJPROP_WIDTH,Lines_Width);

i = Min_Level + (단계/10000);

}

//----

반환(0);

}

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

고맙습니다.

가장 먼저:

i = Min_Level + (단계/10000);

너의 나는 변하지 않아


두 번째로

ObjectCreate("H_LINE", OBJ_HLINE ,0,0,i);

각 개체에는 고유한 이름이 있어야 합니다.

 

Tell me pdz .... 나는 교과서를 계속 공부합니다 - 나는 나에게 명확하지 않은 것을 발견했습니다. 나는 그것을 이해할 수 없습니다

 //--------------------------------------------------------------------
// callindicator.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
extern int Period_MA = 21 ;             // Период расчётной МА
bool Fact_Up = true ;                   // Факт сообщения, что цена..
bool Fact_Dn = true ;                   //..находится выше или ниже МА
//--------------------------------------------------------------------
int start()                           // Спец. функция start  {
   double MA;                         // Значение МА на 0 баре    
//--------------------------------------------------------------------
                                       // Обращение к функции техн.инд.
   MA=iMA(NULL, 0 ,Period_MA, 0 ,MODE_SMA,PRICE_CLOSE, 0 ); 
//--------------------------------------------------------------------
   if (Bid > MA && Fact_Up == true )   // Проверка прохода вверх     {
      Fact_Dn = true ;                 // Сообщать о цене выше МА
      Fact_Up = false ;                 // Не сообщать о цене ниже МА
      Alert( "Цена находится выше MA(" ,Period_MA, ")." ); // Сообщение      }
//--------------------------------------------------------------------
   if (Bid < MA && Fact_Dn == true )   // Проверка прохода вниз     {
      Fact_Up = true ;                 // Сообщать о цене ниже МА
      Fact_Dn = false ;                 // Не сообщать о цене выше МА
      Alert( "Цена находится ниже MA(" ,Period_MA, ")." ); // Сообщение      }
//--------------------------------------------------------------------
   return ;                             // Выход из start()  }
//--------------------------------------------------------------------

가격이 EMA보다 높거나 낮은지 알려주는 간단한 기능입니다. 그러나 질문은 그것조차 아닙니다.

함수 시작 Fact_Dn 및 Fact_UP에서 true 또는 false 값을 취할 때 이 값도 전역 변수 를 사용하도록 하는 이유는 무엇입니까? 예를 들어 return(Fact_Up)을 사용하지 않았습니다... 명확하지 않습니다... 아니면 사용할 수 없습니까?