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

 
forexnew :

내가 기억하는 한 0분할 을 쓸 수 있습니다. 그러나 이것은 특정 매개 변수가 다시 계산되지 않기 때문입니다. 저것들. EA는 작업 세션이 시작되기 전에 시작되었기 때문에 올바르게 시작되지 않습니다.

물론 이러한 확인란은 제거됩니다.

이러한 오류( 0으로 나누기 )가 있으면 어드바이저는 더 이상 작업을 중지합니다. 코드에서 0으로 나누기가 발생하는 위치를 찾으십시오. 대부분의 경우 매개변수를 계산한 결과로 0이 얻어집니다.
 
아이고 감사합니다
 

안녕 친애하는 mqls. 다음은 코드의 첫 번째 문제입니다.

사실 유행. 작업 표시기는 좌표의 1번째 줄 = 마지막과 전날의 최대값이고 2번째 줄 = 마지막과 마지막 날의 최소 좌표로 트렌디합니다.

모든 것이 괜찮을 것이지만 더 작은 TF로 전환하면 해당 가격 수준에도 불구하고 좌표가 하루의 시작 부분에 달라 붙고 .... 라인의 의미가 완전히 손실됩니다.

추세선 객체를 생성 할 때 datetime 매개변수가 책임이 있습니다. 나는 그것을 얻는 방법을 모른다. 극한값의 형성 시간을 계산할 필요가 있습니다. 분명히 이 정보는

분 tf. 그리고 여기에 마개가 있습니다. 추세선이 다시 그려지고 좌표가 극값에 해당하는 막대에 달라붙도록 TF를 변경할 때 날짜/시간을 결정하는 방법.

불행히도 이 주제에 대한 검색 결과가 없습니다. 조언 감사히 받겠습니다.

 

MA에서 전체 상품 이력에 대한 가격 동작을 확인해야 하지만 차트에 배치할 때 표시기가 그려지지 않습니다.

문제가 무엇입니까?

컴파일할 때 = 0과 0.

그건 그렇고 - MT4 터미널이 중단됩니다!

 //--------------------------------------------------------------------
// separatewindow.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
#property indicator_chart_window     // Индик. рисуется в основном окне
#property indicator_buffers 1        // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии
#property indicator_color2 Red       // Цвет второй линии

extern int History  = 1000000 ;             // Колич.баров в расчётной истории
extern int Aver_Bars= 1000000 ;             // Количество баров для расчёта

double Buf_0[];                     // Открытие индикаторного массива
//--------------------------------------------------------------------
int init()                           // Специальная функция init()
  {
   SetIndexBuffer ( 0 ,Buf_0);         // Назначение массива буферу
   SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 ); // Стиль линии
   return ;                           // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
   n,                               // Формальный параметр
   Counted_bars;                     // Количество просчитанных баров 
   double
   Sum_H,                           // Сумма значений High за переиод
   Sum_L;                           // Сумма значений Low  за переиод
//--------------------------------------------------------------------
   Counted_bars= IndicatorCounted (); // Количество просчитанных баров 
   i= Bars -Counted_bars- 1 ;           // Индекс первого непосчитанного
   if (i>History- 1 )                 // Если много баров то ..
      i=History- 1 ;                   // ..рассчитывать заданное колич.
   while (i>= 0 )                       // Цикл по непосчитанным барам
     {
      Sum_H= 0 ;                       // Обнуление в начале цикла
      Sum_L= 0 ;                       // Обнуление в начале цикла
       for (n=i;n<=i+Aver_Bars- 1 ;n++) // Цикл суммирования значений 
        {
         Sum_H=Sum_H + High[n];     // Накопление суммы макс.значений
         Sum_L=Sum_L + Low[n];       // Накопление суммы мин. значений
        }
      Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars; // Знач. 0 буфера на i-ом баре
      i--;                           // Расчёт индекса следующего бара
     }
//--------------------------------------------------------------------
   return ;                           // Выход из спец. ф-ии start()
  }
//--------------------------------------------------------------------
 

손익분기점을 추가로 전환하고 손익분기점을 높이는 Expert Advisor를 작성하고 있습니다. 모든 것이 잘 되는 것처럼 보이지만 단 하나의 문제가 있습니다. 가격이 손익분기점 또는 + 손익분기점으로 이동할 때 스탑이 점프합니다. 이 문제를 해결할 수 없습니다.

아시는 분 도와주세요.

코드는 다음과 같습니다.

 int poz= OrdersTotal ();
for (n= 0 ;n<poz;n++){
             if ( OrderSelect (n,SELECT_BY_POS,MODE_TRADES)==true){
             if ( OrderType ()==OP_BUY){
            Prise2=Bid- OrderOpenPrice ();
             if (Prise2>( 25 * Point )){
             OrderModify ( OrderTicket (), 0 , OrderOpenPrice (), OrderTakeProfit (), 0 , Blue );}
             if (Prise>Prise3){
            Prise3=( OrderOpenPrice ()+( 35 * Point ));
            SL2= OrderOpenPrice ()+( 10 * Point );
             OrderModify ( OrderTicket (), 0 ,SL2, OrderTakeProfit (), 0 , Blue );}}
 
Vodya :

손익분기점으로의 추가 전환 및 손익분기점 증가와 함께 고문을 작성하고 있습니다. 모든 것이 잘 되는 것처럼 보이지만 단 하나의 문제가 있습니다. 가격이 손익분기점 또는 + 손익분기점으로 이동할 때 스탑이 점프합니다. 이 문제를 해결할 수 없습니다.

아시는 분 도와주세요.

코드는 다음과 같습니다.

아마도 모든 것이 괄호 안에 있습니까?
 
alex12 :
아마도 모든 것이 괄호 안에 있습니까?

어느 곳에서? 그 이후라면 이것이 전체가 아닙니다. 방금 구매 코드를 보여 주었고 판매용도 있습니다.
 

도와주세요, 주문은 높은 가격에서 orderopenprice까지의 거리보다 4배 더 큰 거리에서 마감되어야 합니다.

내가 어디서 망했어?

모든 주문은 개장 후 3핍을 마감합니다.

 OrderSelect(OrdersTotal()-1,SELECT_BY_POS);
if ((High[ 0 ]- OrderOpenPrice ())* 4< OrderOpenPrice ()-Bid&& OrderType ()==OP_BUY&& OrdersTotal ()> 0 )
 {
 OrderClose ( OrderTicket (), OrderLots (),Bid, 3 );
 }
 
LazarevDenis :

도와주세요, 주문은 높은 가격에서 orderopenprice까지의 거리보다 4배 더 큰 거리에서 마감되어야 합니다.

내가 어디서 망했어?

여기
(High[ 0 ]- OrderOpenPrice ())* 4< OrderOpenPrice ()-Bid
 
sergeev :
여기


캡틴 뻔한 ... 그리고 똑같이, 누군가에게 말하십시오