눈사태 - 페이지 466

 
와 이거 진짜 인스타전류 6시40분후가 밤 102시40분이 된게 이해가 안가네 아침 하수구 옆에 어드바이저 끄는걸 깜빡함
 
baykanur :
와 이거 진짜 인스타전류 6시40분후가 밤 102시40분이 된게 이해가 안가네 아침 하수구 옆에 어드바이저 끄는걸 깜빡함
이유를 알아보려면 코드를 살펴봐야 합니다.
 
baykanur :
와 이거 진짜 인스타전류 6시40분후가 밤 102시40분이 된게 이해가 안가네 아침 하수구 옆에 어드바이저 끄는걸 깜빡함

부끄럽다. 코드에 거래 시간 제한을 둘 수 있습니다. 그런 잼이 무엇이든간에. 이것은 내 생각에 가장 간단한 것입니다. 제한이 시계에 의해 수행되는 경우 조건 + extern int의 한 줄.
 
Cmu4 :

부끄럽다. 코드에 거래 시간 제한을 둘 수 있습니다. 그런 잼이 무엇이든간에. 이것은 내 생각에 가장 간단한 것입니다. 제한이 시계에 의해 수행되는 경우 조건 + extern int의 한 줄.


예, 다음 로트를 계산하기 위한 알고리즘(코드 내)에 오류가 있습니다. 게다가 여기에는 시간 제한이 있습니다. 이는 언제든지 나타날 수 있습니다. 내 버전의 Avalanche - 매개 변수를 최적화 한 후 - "시작"- 0시, "종료"- 23시, 즉 우리는 24 시간 작동합니다 ... 예, 실제로 포함합니다. 밤에는 같은 유로박에서 흥미로운 움직임이 있습니다... 그리고 낮에도 플랫이 웅크리고 있을 수 있습니다... 여기에는 다른 접근 방식이 필요합니다... (위의 게시물 참조). 시간적 측면에서 올빼미 작업의 한계(이 경우(Avalanche 포함))는 적절하지 않다고 생각합니다. 물론 IMHO입니다.

추신 위 화면에서 6.4 이후에는 102.4랏이 아닌 12.8로트가 되어야 합니다... - 프로그램의 실수입니다.

 
Cmu4 :

부끄럽다. 코드에 거래 시간 제한을 둘 수 있습니다. 그런 잼이 무엇이든간에. 이것은 내 생각에 가장 간단한 것입니다. 제한이 시계에 의해 수행되는 경우 조건 + extern int의 한 줄.

예, 제한이 있기 때문에 무언가를 발명해야 합니다. 모든 눈사태의 예금은 저에게 눈사태 7에 가장 적합하지만 DC가 다른 경우 실행 지연이 있는 경우 완전히 다릅니다. insta가 동일한 회랑에서도 즉시 실패하기 시작하는 것과 같은 경우입니다. 완전히 다른 결과가 나온다

예를 들어, 시계처럼 작동하는 동안 북쪽에서 오늘의 작업

 
baykanur :

예, 제한이 있지만 다른 방식으로 발명해야합니다. 모든 눈사태 예금의 칸 , 눈사태 7이 저에게 가장 적합합니다 ...

"그리고 이것은 실제 인스타 전류입니다. 왜 6시 40분 이후 내 몫이 밤에 102시 40분이 되었는지 이해가 되지 않습니다. 아침 배수로 고문을 끄는 것을 잊었습니다. " - 귀하의 "초기" 데이터를 기반으로 "그런"이 있습니다. 다음 주문의 양이 증가하고 시간이 지남에 따라 올빼미의 작업이 제한됩니다. 그들은 서로 아무런 관련이 없습니다 ...

Avalanche 7이 옵션을 의미합니까?

 //+------------------------------------------------------------------+
//|                                                  avalanche 7.mq4 |
//|                                                 George Tischenko |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "George Tischenko"

extern bool Monitor=true; //в тестере при выключенной визуализации отключать (тормозит)
extern int Distance= 25 ,   //расстояние в пунктах от цены до первого открытия позиции
           MinProfit= 5 ,   //минимальный профит в пунктах, если открытых ордеров более 1
           Slippage= 3 ;
extern double Lot= 0.1 ;

int Trade= 0 ;
double BLot,StartPrice;              
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
  StartPrice=Bid;
  BLot=MarketInfo( Symbol (), 15 );       // MODE_LOTSIZE размер контракта в базовой валюте инструмента
//----
   if (Monitor==true)
    {
     int a,y;
     for (a= 0 ,y= 5 ;a<= 3 ;a++)
      {
       string N=DoubleToStr(a, 0 );
  
       ObjectCreate (N, OBJ_LABEL , 0 , 0 , 0 , 0 , 0 );
      ObjectSet(N, OBJPROP_CORNER , 3 );
      ObjectSet(N, OBJPROP_XDISTANCE , 5 );
      ObjectSet(N, OBJPROP_YDISTANCE ,y);
      y+= 20 ;
      }  
    }
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   if (Monitor==true)
    {
     for ( int a= 0 ;a<= 3 ;a++)
      {
       string N=DoubleToStr(a, 0 );
       ObjectDelete (N);
      } 
    }
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   int i;
//---- 
   if ( OrdersTotal ()== 0 )
    {
    RefreshRates();
     if ((Ask-StartPrice>=Distance* Point && Trade== 0 ) || Trade== 1 ) 
      {
       OrderSend ( Symbol (),OP_BUY,Lot,Ask,Slippage, 0 , 0 , "" , 1307 , 0 , Blue );
      }
     if ((StartPrice-Bid>=Distance* Point && Trade== 0 ) || Trade==- 1 )  
      {
       OrderSend ( Symbol (),OP_SELL,Lot,Bid,Slippage, 0 , 0 , "" , 1307 , 0 , Red );
      }
    }
   else //OrdersTotal()>0
    { //узнаем размер максимального лота, тип и цену открытия последнего активного ордера
     double lots= 0 , Type=- 1 , OpenPrice= 0 ;
     for (i= 0 ;i< OrdersTotal ();i++)
      { //самый последний ордер имеет самый большой объем
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)==true)
        {
         if (OrderSymbol()== Symbol ())
          {
           if (lots<OrderLots())
            {
            lots=OrderLots();
            Type=OrderType();
            OpenPrice=OrderOpenPrice();
            }
          }
        }
      }
      
     //возможно, ордера надо закрыть - проверим это:
     int C= 0 ; //флаг закрытия всех позиций
     if ( OrdersTotal ()== 1 ) //ЭТО ДЛЯ ПАР ТИПА XXX/USD
      {
       if (AccountProfit()>=BLot*Lot* Point *Distance) 
        {
         switch (Type)
          {
           case 0 : Trade= 1 ; break ;
           case 1 : Trade=- 1 ;
          }
        C= 1 ;
        }
      }
     else //OrdersTotal()>1
      { //лишь бы без убытка...
       if (AccountProfit()>=BLot*Lot* Point *MinProfit)
        {
         switch (Type)
          {
           case 0 : Trade= 1 ; break ;
           case 1 : Trade=- 1 ;
          }
        C= 1 ;
        }
      }
     
     switch (C)
      {
       case 0 : //закрываться рановато...
        {
        lots*= 2 ; //опять Мартин :-(
        RefreshRates();
         switch (Type)
          {
           case 0 :
            {
             if (OpenPrice-Bid>= Point *Distance* 2 ) 
              { if ( OrderSend ( Symbol (),OP_SELL,lots,Bid,Slippage, 0 , 0 , "" , 1307 , 0 , Red )> 0 ) return ( 0 );}
             break ;
            }
           case 1 :
            {
             if (Ask-OpenPrice>= Point *Distance* 2 )
              { if ( OrderSend ( Symbol (),OP_BUY,lots,Ask,Slippage, 0 , 0 , "" , 1307 , 0 , Blue )> 0 ) return ( 0 );}
            }
          }
         break ;
        }
       case 1 : //закрываем все позиции
        {
         while ( OrdersTotal ()> 0 )
          {
           int ticket_buy= 0 ,   //тикет ордера BUY (не может быть=0)
              ticket_sell= 0 ; //тикет ордера SELL (не может быть=0)
           for (i= 0 ;i< OrdersTotal ();i++)
            {
             if ( OrderSelect (i,SELECT_BY_POS)==true)
              {
               if (OrderSymbol()== Symbol ())
                {
                 switch (OrderType())
                  {
                   case 0 : ticket_buy=OrderTicket(); break ;
                   case 1 : ticket_sell=OrderTicket();
                  }
                }
              }
            }
           //проверка тикетов на некорректность:  
           bool OCB=ticket_buy> 0 && ticket_sell> 0 ;
           if (OCB) OrderCloseBy(ticket_buy,ticket_sell, White ); // Цикл закрытия
           else
            { //закрываем оставшиеся одиночные ордера
             for (i= 0 ;i< OrdersTotal ();i++) //если total==0, цикл просто не сработает
              { //закрываем оставшиеся ордера
               if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)==true)
                {
                 if (OrderSymbol()== Symbol ())
                  {
                  RefreshRates();
                   switch (OrderType())
                    {
                     case 0 : 
                      {
                       while (!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage, White )) 
                        {
                         Sleep ( 10000 );
                        RefreshRates();
                        } 
                       break ;
                      }
                     case 1 : 
                      {
                       while (!OrderClose(OrderTicket(),OrderLots(),Ask,Slippage, White )) 
                        {
                         Sleep ( 10000 );
                        RefreshRates();
                        } 
                      }
                    }
                  }
                }
              }
            }
          } //end while 
        }
      }
    } 
//==== БЛОК МОНИТОРИНГА
   if (Monitor==true)
    {
     string str= "Balance: " +DoubleToStr(AccountBalance(), 2 )+ " $" ;
    ObjectSetText( "0" ,str, 10 , "Arial Black" , White );
    
    str= "Profit: " +DoubleToStr(AccountProfit(), 2 )+ " $" ;
    ObjectSetText( "1" ,str, 10 , "Arial Black" , Silver );
    
    str= "Free Margine: " +DoubleToStr(AccountFreeMargin(), 2 )+ " $" ;
    ObjectSetText( "2" ,str, 10 , "Arial Black" , Yellow );
    
    str= "OrdersTotal: " +DoubleToStr( OrdersTotal (), 0 );
    ObjectSetText( "3" ,str, 10 , "Arial Black" , Aqua );
    }
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

 
baykanur :

Avalanche 7은 나에게 가장 적합합니다 ...

이 옵션은?

 
Roman. :

"그리고 이것은 실제 센트 인스타 전류입니다. 왜 6시 40분 이후 내 몫이 밤에 102시 40분이 되었는지 이해할 수 없습니다. 아침 배수로 고문을 끄는 것을 잊었습니다. " - 귀하의 "초기" 데이터를 기반으로 "그런"이 있습니다. 다음 주문의 볼륨이 증가하고 시간이 지나면 올빼미의 작업이 제한됩니다 -서로 연결되지 않은 것입니다 ...

Avalanche 7이 옵션을 의미합니까?

예, 이 옵션은 거리의 차이일 뿐입니다. 이제 북쪽에 5와 마침표가 m1이고 ds 실행이 지연되면 오류가 표시되지만 시간 제한을 희생해야 합니다.

나는 그것이 그것과 아무 관련이 없다는 데 동의합니다. 이 버전의 눈사태가 다른 사람들에게 효과가 있었기 때문에 DC가 그것과 아무 관련이 없는지 확실하지 않지만 많은 부분에서 어떻게든 오류를 찾는 것이 필요합니다.

계정은 일주일 만에 두 배로 증가했습니다.

여기 저녁 보고서입니다

 

글쎄, 주제. 두뇌 타격.

안녕하세요.

 
baykanur :

예, 이 옵션은 거리의 차이일 뿐입니다. 이제 북쪽에 5와 마침표가 m1이고 ds 실행이 지연되면 오류가 표시되지만 시간 제한을 희생해야 합니다.

나는 그것이 그것과 아무 관련이 없다는 데 동의합니다. 이 버전의 눈사태가 다른 사람들에게 효과가 있었기 때문에 DC가 그것과 아무 관련이 없는지 확실하지 않지만 많은 부분에서 어떻게든 오류를 찾는 것이 필요합니다.

계정은 일주일 만에 두 배로 증가했습니다.

여기 저녁 보고서입니다


나도 비슷한 경우가 있었다. DC는 저에게 최대치보다 더 많이 열렸습니다. 나는 더 이상 그 DC에서 거래하지 않습니다.

당시 프로그램에서는 잼이 발견되지 않았지만 대략 무슨 문제가 있었는지 짐작할 수 있습니다(지연으로 인해 주문이 여러 번 계산되고 로트가 많이 늘어났습니다). DC는 돈에 대해 욕심이 많았습니다.