차익 거래 전략을 사용하여 브로커로부터 돈을 인출한 사람이 있습니까? - 페이지 15

 

차익 거래자는 일반적으로 본질적으로 단순하고 속도가 빠르며 논리가 거의 없습니다.

예를 들어 전체 차익 거래자, 한 다리, 두 번째 다리는 동일하지만 그 반대도 마찬가지입니다.

 void OnTick ()
  {
//---
   if (IsTradeAllowed()== false ) return ;
   double LastLot= 0 ;
   while (! IsStopped ())
   {
       if (IsTradeAllowed()== false ) return ;
       if (AccountFreeMargin()/AccountBalance()< 0.3 )
      {
         Sleep ( 1000 );
         continue ;
      }
       //double randB=(MathRand()/32768.0);
       //Percent=iATR(NULL,1,14,0)/100;
       //if(Percent<0.004)Percent=0.004; NMCUSD = NMCBTC/BTCUSD
       //Ask_Buy=Ask_LTCUSD/Bid_LTCBTC;
       //Ask_LTCUSD=Ask_Buy*Bid_LTCBTC
       double Bid_LTCBTC=MarketInfo( "LTCBTC" ,MODE_BID); //-0.005*MarketInfo("LTCBTC",MODE_BID);
       double Ask_BTCUSD=MarketInfo( "BTCUSD" ,MODE_ASK); //-0.005*MarketInfo("BTCUSD",MODE_BID);
       double Ask_LTCBTC=MarketInfo( "LTCBTC" ,MODE_ASK); //+0.005*MarketInfo("LTCBTC",MODE_ASK);
       double Bid_BTCUSD=MarketInfo( "BTCUSD" ,MODE_BID); //+0.005*MarketInfo("BTCUSD",MODE_ASK);
      LotDepo=(AccountBalance()* 0.001 )*Bid_BTCUSD*PercentDepo;
       double     Ask_Buy=Bid_BTCUSD*Bid_LTCBTC;
       double     Bid_Sell=Ask_BTCUSD*Ask_LTCBTC;
       double StepB=Ask_Buy-(Ask_Buy*Percent);
       //double randS=(MathRand()/32768.0);
       double StepS=Bid_Sell+(Bid_Sell*Percent);
       Comment (StepS, " " ,Bid_BTCUSD, " " ,Bid_LTCBTC);
      RefreshRates();
       //WindowRedraw();
       //Comment(GetTickCount()," ",StepB, " ",StepS, "Bid: ",Bid," Ask: ",Ask);
       int tSL= 0 ,tBL= 0 ;
       for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
      {
         if ( OrderSelect (i,SELECT_BY_POS)&&OrderMagicNumber()==magik)
         {
             int cmd=OrderType();
             if (cmd==OP_SELLLIMIT)
            {
               tSL++;
               tick=OrderTicket();
               //OrderDelete(OrderTicket());
               if ( MathAbs ( NormalizeDouble (OrderOpenPrice(), Digits )- NormalizeDouble (StepS, Digits ))> 0.000001 )
               {
                   if (StepS<Bid)
                     OrderModify(OrderTicket(), NormalizeDouble (Bid, Digits ), 0 , 0 , 0 );
                   else
                     OrderModify(OrderTicket(), NormalizeDouble (StepS, Digits ), 0 , 0 , 0 );
                   //Print(GetLastError());
               }
               if (LastLot>OrderLots())
               {
                   if (OrderDelete(OrderTicket()))
                  LastLot=LastLot-OrderLots();
               }
            }
         }
      }
       if (tSL== 0 )
      {
         if (StepS<Bid)
         {
             if (LastLot>=MarketInfo( "LTCBTC" ,MODE_MINLOT))
            {
               OrderSend ( "LTCBTC" ,OP_BUY,LastLot, NormalizeDouble (MarketInfo( "LTCBTC" ,MODE_ASK), int (MarketInfo( "LTCBTC" ,MODE_DIGITS))), 200000 , 0 , 0 , NULL ,magik, 0 );
               OrderSend ( "BTCUSD" ,OP_BUY,NL( "BTCUSD" ,LastLot*MarketInfo( "LTCBTC" ,MODE_ASK)), NormalizeDouble (MarketInfo( "BTCUSD" ,MODE_ASK), int (MarketInfo( "BTCUSD" ,MODE_DIGITS))), 200000 , 0 , 0 , NULL ,magik, 0 );
            }
            Lot= /*LotDepo;*/ NL( Symbol (),LotDepo/Bid);
             OrderSend ( Symbol (),OP_SELLLIMIT,Lot, NormalizeDouble (Bid, Digits ), 200000 , 0 , 0 , NULL ,magik, 0 );
            LastLot=Lot;
         }
         else
         {
             if (LastLot>=MarketInfo( "LTCBTC" ,MODE_MINLOT))
            {
               OrderSend ( "LTCBTC" ,OP_BUY,LastLot, NormalizeDouble (MarketInfo( "LTCBTC" ,MODE_ASK), int (MarketInfo( "LTCBTC" ,MODE_DIGITS))), 200000 , 0 , 0 , NULL ,magik, 0 );
               OrderSend ( "BTCUSD" ,OP_BUY,NL( "BTCUSD" ,LastLot*MarketInfo( "LTCBTC" ,MODE_ASK)), NormalizeDouble (MarketInfo( "BTCUSD" ,MODE_ASK), int (MarketInfo( "BTCUSD" ,MODE_DIGITS))), 200000 , 0 , 0 , NULL ,magik, 0 );
            }
            Lot= /*LotDepo;*/ NL( Symbol (),LotDepo/StepS);
             OrderSend ( Symbol (),OP_SELLLIMIT,Lot, NormalizeDouble (StepS, Digits ), 200000 , 0 , 0 , NULL ,magik, 0 );
            LastLot=Lot;
         }
      }
       Sleep ( 1 );
   }
     }
 
Alexandr Bryzgalov :

"쉽게" 만들었습니다. 오프라인 스프레드 차트가 구축되고 스크립트가 실행됩니다. 편리함은 모든 데이터가 준비되고 지표가 계산된다는 것입니다.

스프레드의 평균값을 찾기 위해 단순 머시 또는 볼린저를 사용했습니다.

차익 거래 스크립트 자체가 이 차트에서 시작되었으므로 이러한 계획은 스크립트 속도를 크게 향상시킵니다.

평균값이 빠르게 바뀌지 않아서 가로줄 에서 쉬프트 입력을 했습니다

전에 비슷한 일을 했습니다. Tiki가 파일에 썼습니다. 간단한 지표 + 지표 테스터를 사용하여 파일에서 틱/스프레드의 오프라인 차트를 작성하여 이러한 그림을 생성했습니다.

빨간색 - 이익. 녹색/노란색 - 롱/숏. 화이트 코미스

 
어떤 이유로 브로커는 TOP 계정 등급에서 차익 거래자를 보지 못했고 최소한 가입자를 사육하여 자동 복사 서비스에서 추가 이익을 얻을 수 있었고 수수료를 제거할 수 있었습니다. 또는 단순히 이것이 중재임을 식별할 수 없습니다. 기본적으로 이들은 수명이 긴 마틴게일은 아니지만 1년 동안 상위권에 있는 예외가 있습니다.