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

 
r772ra :
또 다른 옵션은 신호가 도착한 후 언제든지 설정할 수 있습니다.
내 버전은 1분 안에 일부 작업(이 경우 주문 열기)을 수행하는 제한(신호 도착 후)을 의미합니다. 그리고 시간이 없었습니다. 늦었습니다. 신호가 도착한 직후에 서버와의 연결이 중단되었다가 한 시간 후에 재개되었다고 가정합니다. 왜 한 시간 안에 주문을 여세요??? ;)
 
TarasBY :

전역 변수에 신호가 도착하는 순간의 시간 값을 씁니다.

그런 다음 1분을 카운트다운합니다(이 작업을 수행할 수 있음).

이벤트 발생 후 시간을 추적하는 옵션 중 하나입니다.


불행히도 작동하지 않습니다. 1 분 후에 지원선과 저항선을 조치로 그려야하지만 어떤 이유로 차트에 없습니다. 코드를 살펴보십시오. 오류가 어디에 있습니까?


bool  Fact_1 = false;                    // Глобальная перемен для бай.    
bool  Fact_2 = false;                    // Глобальная перемен для бай
bool  Fact_3 = false;                    // Глобальная перемен для бай

double support;
double resist;

 int timeFrame = 5;
 int numBars = 15;
 datetime gdt_TimeSignal;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----

  ObjectsDeleteAll();  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----


   //---------------------------------------------------------------------------
if (Fact_3==true)                            //Если событие уже..
          
                                              //..было, то выходим
     return(0);
 
//----

  //---- БЛОК ОТКРЫТИЯ  BUY--------------------------------------------------------------
 
 if (iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,2)<iMA(NULL,PERIOD_M5,200,0,MODE_EMA,PRICE_CLOSE,0)&&
iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,1)>=iMA(NULL,PERIOD_M5,200,0,MODE_EMA,PRICE_CLOSE,0))//если МА50 пересекает МА200 снизу вверх по M5
Fact_1 = true;       // Произошло событие 1  
//-
if (Fact_1 == true &&  Low[0]<= iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,0))//если цена опустилась до МА50
 Fact_2 = true; // Произошло событие 2  


//if (Signal) gdt_TimeSignal = TimeCurrent();
if (Fact_2) gdt_TimeSignal = TimeCurrent();


  if (gdt_TimeSignal != 0) if (iBarShift (NULL, 1, gdt_TimeSignal) == 1)
    {
        //---- Открываете ордер
       // OrderSend ();
  //---------------------------------------------------------------------------------    
{
// Определяем линии поддержки\сопротивления
  support = 10000;
  resist = 0;
 
  for(int u = 1;u<=numBars;u++)
  {
   if(support>iLow(Symbol(),timeFrame,u))
     support = iLow(Symbol(),timeFrame,u);
   if(resist<iHigh(Symbol(),timeFrame,u))
     resist = iHigh(Symbol(),timeFrame,u);
  }   
   ObjectSet("lineSupport",OBJPROP_PRICE1,support);
  ObjectSet("lineResist",OBJPROP_PRICE1,resist);
 
 }


 //----
  {
    ObjectCreate("lineSupport",OBJ_HLINE,0,0,0);
    ObjectSet("lineSupport",OBJPROP_COLOR,Blue);
    
    ObjectCreate("lineResist",OBJ_HLINE,0,0,0);
    ObjectSet("lineResist",OBJPROP_COLOR,Red);
    }
//-------------------------------------------------------------
 
        gdt_TimeSignal = 0;
    }



//что сюда добавить что бы линии появившись, оставались на месте?




//----
   return(0);
  }

 
TarasBY :

이것은 여기에 쓰여진 넌센스입니다.

iCustom() 에 대해 읽어보세요.


감사합니다 잘 읽었습니다 예를 찾아봐야 할 것 같습니다.. 그런말 이해가 안가네요.
 
Andrey-F :

두세 줄로 어드바이저 코드를 구현하는 방법을 알려주세요.

신호 수신 시(예: 두 MA가 교차)

1. 조언자는 신호 도착 시간(시간, 분)을 결정하고 기억합니다.

2. 1분을 카운트다운합니다.

또한 어떤 조치를 취하려는 의지(예: 주문 개시)

모든 것이 감사합니다. 모든 것이 제대로 작동합니다. 단지 신호가 제대로 삽입되지 않았을 뿐입니다.
 

Codebase에 지표를 게시하는 방법을 알 수 없습니다. 게시할 준비가 된 상태인 것 같습니다. 논리적으로 중재자가 이 칠면조를 공개 도메인에 둘 때까지 기다려야 하지만 며칠이 지나도 결과가 없습니다. 무엇이 문제가 될 수 있습니까?

추신. 이것은 여기에 게시하는 첫 번째 코드입니다.

 
madzx :

그래, 난 동의! 나는 확실히 여기에서 고안해 냈습니다. 디스크에 쓰지 않고도 쉽게 할 수 있습니다!
표준 터미널에서 다른 터미널로 고삐를 짜고 있습니다.
영혼이 시키는 대로 자신을 위해 만든 사람, 음, 그는 널빤지 길을 따라갔습니다. :)

죄송합니다만, 우리는 어떤 식으로든 이 문제를 일으킬 것입니다.
프레디 머큐리 경이 우리에게 매달린 것처럼
쇼는 계속되어야 한다!!!

따라서 참조 조건을 명확히 합시다.
내가 이해한 방법:

1. 한 계정에서 통화 쌍 차트 세트와 함께 창구름(10개)이 열립니다.

2. 각 차트에는 일꾼이 있습니다. 그곳에서 무언가를 하는 고문

3. 계정에서 다음 조건이 충족되어야 합니다.

3.1 계정에 있는 공개 시장 주문의 총 수는 5를 초과할 수 없습니다.
동시에 말 유형(보류 중)의 주문은 사람으로 간주되지 않습니다(그렇게 생각하지만 지정하지 않았습니다)
3.2 계정의 차트 세트를 기반으로 특정 기호 목록이 형성되었습니다.

거래가 수행되는 금융 상품의 유형, 각 상품

주어진 시간에 하나 이상의 미결 주문을 가질 수 없습니다.

-------------------------------------------------- -------

이런 일이! 모든 것이 여기에 있는지 확인하십시오!
다음으로 탐색에 필요한 언어를 지정하십시오(예: mq4 또는 mq5 ).
그리고 거래가 수행되는 다른 상품 목록 - 고정되거나 매번 다름

각 고문의 텍스트에 짧은 삽입

(원하는 경우 절차로 주선할 수 있음) 그를 허용할 것입니다.

모든 작업에 대해 현재 존재하는 권한 문제 해결 ...

이를 위해 지금은 새벽 5시이므로 휴가를 내도록 하겠습니다. :))

매드즈




참여해주셔서 감사합니다. 하지만 더 이상 그렇게 생각하지 않습니다.

이 문제는 r772ra 에서 제안한 대로 다음과 같이 해결되었습니다.

또는 다음과 같을 수 있습니다.

 if (NumberOfPositions( "EURUSD" )== 0 && NumberOfPositions()< 5 )
그리고 여기 기능이 있습니다
 
Roman. :

세 소나무에서 한증탕을하지 마십시오. 고유한 마법에 대한 경험치 거래를 나눕니다(선택한 기호의 경험치 주문에 마법을 할당하십시오). 또한 if - else 조건 연산자를 사용하여 다른 입력과 함께 사용하여 기호와 마법으로 필터를 연결합니다. Kim I.V의 이 함수 값:

NumberOfOrders() 함수.

. 모든 것.




감사합니다. 더 쉬운 솔루션이 있습니다.
 
Kobalerro :

감사합니다. 더 쉬운 솔루션이 있습니다.

확인! 솔루션을 게시해 주셔서 감사합니다.
 
Kobalerro :

참여해주셔서 감사합니다. 하지만 더 이상 그렇게 생각하지 않습니다.

이 문제는 r772ra 에서 제안한 대로 다음과 같이 해결되었습니다.

또는 다음과 같을 수 있습니다.

그리고 여기 기능이 있습니다

확인! 행운을 빕니다 그리고 행복한 사냥!!!

매드즈
 
Kobalerro :

참여해주셔서 감사합니다. 하지만 더 이상 그렇게 생각하지 않습니다.

이 문제는 r772ra 에서 제안한 대로 다음과 같이 해결되었습니다.

또는 다음과 같을 수 있습니다.

그리고 여기 기능이 있습니다

이 솔루션에 만족한다면 코드를 훨씬 더 단순화할 수 있습니다.

 if (NumberOfPositions( "EURUSD" )== 0 && OrdersTotal ()< 5 )

그러나 아마도 다음과 같이 작성하는 것이 더 나을 것입니다.

 if (NumberOfPositions( Symbol() )== 0 && OrdersTotal ()< 5 )

그리고 "유치한" 것이 아니라면 Magic을 사용해야 합니다(조만간 수동 주문을 병렬로 열거나 옆에 다른 고문을 두기를 원할 것입니다):

 if (NumberOfPositions( Symbol(), Magic )== 0 && NumberOfPositions("" , Magic )< 5 )

동시에 모든 Expert Advisors는 동일한 Magic을 가져야 하며 주문 목록과 함께 Magic에 대한 필터와 다른 작업에 대한 차트 기호를 사용하는 것을 잊지 마십시오.

     for ( int li_pos = OrderTotal() - 1 ; li_pos >= 0 ; li_pos--)
    {
         if (! OrderSelect (li_pos, SELECT_BY_POS, MODE_TRADES)) continue ;
         if (OrderMagicNumber() != Magic) continue ;
         if ( Symbol () != OrderSymbol()) continue ;
         //---- дальнейшие опреации (модификация, удаление и т.д.)
    }

외부 변수의 마법은 다음과 같이 선언했거나 상수로 지정했으면 합니다.

 #define Magic   555