MQL 전문가를 위한 질문 - 페이지 10

 
Rita :

아, 생각해봤는데요 :)

만약

 if (NumberOfPositions( NULL , OP_BUY,Magic)>= 2 && NumberOfPositions( NULL ,OP_SELL,Magic)>= 2 ) {
 for {
// а сюда счетчик, по которому 2 раза пройдет
                    ClosePosFirstProfit( NULL ,OP_BUY, Magic);
                    ClosePosFirstProfit( NULL ,OP_SELL, Magic);
}
}
아니다?

 
Abzasc 감사합니다. 시도해 보겠습니다.
 
안녕하세요! 저는 최근에 MQL4로 작성하는 법을 배우기 시작했는데 (어떤 명령으로) 내장 표시기가 아니라 코드 베이스에서 가져온 표시기를 Expert Advisor의 작업에 연결할 수 있는지 이해가 되지 않습니다. 누가 할 수 있는지 말해!
 
savage_pinguin :
안녕하세요! 저는 최근에 MQL4로 작성하는 법을 배우기 시작했는데 (어떤 명령으로) 내장 표시기가 아니라 코드 베이스에서 가져온 표시기를 Expert Advisor의 작업에 연결할 수 있는지 이해가 되지 않습니다. 누가 할 수 있는지 말해!

구출에 iCustom()
 

안녕하세요.

 if  ( Accumulation2MA_1<=MA_1  &&    Accumulation2MA_0>MA_0 )   {
// если линии пересеклись - открываем позицию
   ticket= OrderSend ( Symbol (), 0 ,Lot,Ask,Slippage,Bid-SL* Point ,Ask+TP* Point ,
                                             "Хи-Хи" ,MagicNum, 0 , CLR_NONE );
     if (ticket < 0 ) { Print ( "Ошибка открытия ордера BUY #" , GetLastError ()); 
               Sleep ( 10000 );   return ( 0 ); }
   }

Expert Advisor는 iMAOnArray 모드에서 MA 표시기가 매달린 맞춤형 Accumulation2MA 표시기 를 사용합니다.

입/출구 신호 - 횡단보도!

무슨 일인지 이해가 안 돼요. 그러나 "거침없이"개/폐 신호의 절반이 무시됩니다! 이유없이!

닫기도 마찬가지입니다.

 for ( int v= 0 ; v< OrdersTotal (); v++)                             {//сортируем       
      if ( OrderSelect (v, SELECT_BY_POS, MODE_TRADES))               {//перебираем           
        if (OrderSymbol()== Symbol ()&& OrderMagicNumber()==MagicNum)   {//выбираем 
//-----------------------------------------------------                  
if (OrderType() == OP_SELL) {//если линии пересеклись, то закрываем: 
      if ( Accumulation2MA_1<=MA_1  &&    Accumulation2MA_0>MA_0 )   {
                 OrderClose(OrderTicket(),OrderLots(),Ask, 3 , Green ); // закрываем позицию
                 return ( 0 ); // выходим
                }   
......

따라서 거래의 거의 절반이 건너뜁니다. 말해봐, 무슨 일이야?

조건은 가장 간단합니다! 선은 분명히 넘었습니다! 그러나 위치가 항상 열려 있거나 닫혀 있는 것은 아닙니다! 잡지는 침묵합니다.

화살표로 보여주었습니다.

 //------заполняем массив значениями Accumulation2MA -----------------
double Accumulation2MA[ 50 ];
int    i= 0 ;  while (i< 50 )  {
Accumulation2MA[i]= iCustom ( NULL , 0 , "Accumulation2MA_v03" ,SMA,FMA, 0 , i);
                  i++;     }
//------Вешаем на Accumulation2MA - линию МА ---------------
ArraySetAsSeries (Accumulation2MA,true);
double MA_0 = iMAOnArray(Accumulation2MA, 0 ,MA_Period, 0 , MODE_SMA , 0 );
double MA_1 = iMAOnArray(Accumulation2MA, 0 ,MA_Period, 0 , MODE_SMA , 1 );
double Accumulation2MA_0= iCustom ( NULL , 0 , "Accumulation2MA_v03" ,SMA,FMA, 0 , 0 );
double Accumulation2MA_1= iCustom ( NULL , 0 , "Accumulation2MA_v03" ,SMA,FMA, 0 , 1 );
 
Rita :

안녕하세요.

Expert Advisor는 iMAOnArray 모드에서 MA 표시기가 매달린 맞춤형 Accumulation2MA 표시기를 사용합니다.

입/출구 신호 - 횡단보도!

무슨 일인지 이해가 안 돼요. 그러나 "뻔뻔스럽게"열리거나 묻으라는 신호의 절반이 무시됩니다! 이유없이!

닫기도 마찬가지입니다.

따라서 트랜잭션의 거의 절반이 건너뜁니다. 말해봐, 무슨 일이야?

조건은 가장 간단합니다! 선은 분명히 넘었습니다! 그러나 위치가 항상 열려 있거나 닫혀 있는 것은 아닙니다! 잡지는 침묵합니다.

화살표로 보여주었습니다.

아마도 이것은 틱을 건너뛸 때 발생할 수 있습니다. 저것들. Start()가 실행되는 동안 새 틱이 도착하지만(조건이 충족됨) Start() 함수가 실행되는 동안 무시됩니다.

다음 틱에서 조건이 더 이상 충족되지 않습니다. 통과했습니다.

Vapche 표시선 의 교차점 - 신호가 매우 불편하여 오랫동안 사용하지 않았습니다. 하나의 지표를 다른 지표에서 빼서 제로 크로싱을 추적하는 것이 좋습니다. 글쎄, 그것은 취향의 문제입니다.

 
Rita :

안녕하세요.

EA는 iMAOnArray 모드에서 MA 표시기가 걸려 있는 사용자 지정 Accumulation2MA 표시기를 사용합니다.

입/출구 신호 - 횡단보도!

무슨 일인지 이해가 안 돼요. 그러나 "거침없이"개/폐 신호의 절반이 무시됩니다! 이유없이!

닫기도 마찬가지입니다.

따라서 트랜잭션의 거의 절반이 건너뜁니다. 말해봐, 무슨 일이야?

조건은 가장 간단합니다! 선은 분명히 넘었습니다! 그러나 위치가 항상 열려 있거나 닫혀 있는 것은 아닙니다! 잡지는 침묵합니다.

지표의 두 번째 줄을 계산하는 것이 더 쉬울 수 있습니다. 그러면 문제가 없어져야 합니다.

 
MetaDriver :

아마도 이것은 틱을 건너뛸 때 발생할 수 있습니다. 저것들. Start()가 실행되는 동안 새 틱이 도착하지만(조건이 충족됨) Start() 함수가 실행되는 동안 무시됩니다.

다음 틱에서 조건이 더 이상 충족되지 않습니다. 통과했습니다.

Vapche 표시선의 교차점 - 신호가 매우 불편하여 오랫동안 사용하지 않았습니다. 하나의 지표를 다른 지표에서 빼서 제로 크로싱을 추적하는 것이 좋습니다. 글쎄, 그것은 취향의 문제입니다.

제로 크로싱을 빼거나 추적하는 것과 거의 동일하지 않습니다.

 //если линии пересеклись, то закрываем: 
      if ( Accumulation2MA_1<=MA_1  &&    Accumulation2MA_0>MA_0 )   {

언뜻보기에 여기 - "이마에있는 것, 이마에있는 것"입니다!

"제로 크로싱"이 더 잘 작동하는 이유는 무엇이라고 생각합니까?

 
VINAR :

아마도 지표의 두 번째 줄을 계산하는 것이 더 쉬울 것입니다. 그러면 문제가 없어져야 합니다.

"지표의 두 번째 줄 계산"이 무엇을 의미하는지 잘 이해하지 못하셨습니까? 설명을 부탁드립니다?

===============================

이제 저는 Expert Advisor를 다시 테스트하고 있습니다(시작 가격으로 작동합니다). 그리고 그 순간에 그것이 완벽하게 작동하는 것을 보고 놀랐습니다! 누락된 신호가 거의 사라졌습니다!

그리고 어제 같은 MT4에서 신호의 절반을 놓쳤습니다! 약간의 기적...

 
Rita :

제로 크로싱을 빼거나 추적하는 것과 거의 동일하지 않습니다.

언뜻보기에 여기 - "이마에있는 것, 이마에있는 것"입니다!

"제로 크로싱"이 더 잘 작동하는 이유는 무엇이라고 생각합니까?

이론적으로 신경쓰지 마세요. 연습:

1) 지표가 추천하는 시장 포지션과 실제 주문된 포지션 간의 차이를 매우 쉽게 추적할 수 있게 됩니다. 즉, 최종 지표는 "positive/negative"=="기립/기립"으로 해석될 수 있는 준비 곡선을 보여줍니다. 회전 시스템에 매우 편리합니다.

2) 신호의 미세화(계수의 곱셈, 다른 기준선과의 교집합 등)가 편리해집니다.

그래서, 내가 말했듯이, 그것은 취향의 문제입니다. :)