포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 341

[Deleted]  

여러분, 도와주세요. 열린 주문의 각 추적이 이전 것보다 2배 더 많이 열리도록 함수를 작성하고 싶습니다. 이 함수는 잘못된 값을 제공합니다. 여기서 무엇이 잘못되었습니까? 미리 감사드립니다!



extern double LotBuy = 0.01;


double GetLotBuy()

{

for(int n = 1; n<=CountBuy(); n++)
{
LotBuy=LotBuy*2;
}
return (LotBuy);
}

 
Trader7777 :

여러분, 도와주세요. 열린 주문의 각 추적이 이전 것보다 2배 더 많이 열리도록 함수를 작성하고 싶습니다. 이 함수는 잘못된 값을 제공합니다. 여기서 무엇이 잘못되었습니까? 미리 감사드립니다!



extern double LotBuy = 0.01;


double GetLotBuy()

{

for(int n = 1; n<=CountBuy(); n++)
{
LotBuy=LotBuy*2;
}
return (LotBuy);
}


시작한다:

extern double LotBuy = 0.01;

double GetLotBuy()

{
double ld_Lot = LotBuy;
for(int n = 1; n<=CountBuy(); n++)
{ld_Lot = LotBuy * n * 2;}
return (ld_Lot);
}

 
Trader7777 :

여러분, 도와주세요. 열린 주문의 각 추적이 이전 것보다 2배 더 많이 열리도록 함수를 작성하고 싶습니다. 이 함수는 잘못된 값을 제공합니다. 여기서 무엇이 잘못되었습니까? 미리 감사드립니다!



extern double LotBuy = 0.01;


double GetLotBuy()

{

for(int n = 1; n<=CountBuy(); n++)
{
LotBuy=LotBuy*2;
}
return (LotBuy);
}

이렇게 시도

 double OrderLotsSB( string sy= "" , int op=- 1 , int mn=- 1 ) { 
 datetime o;
   int       i, k= OrdersTotal (); double r=- 1 ;

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if (OrderSymbol()==sy || sy== "" ) {
         if ( OrderType()==OP_SELL||OrderType()==OP_BUY) {
           if (op< 0 || OrderType()==OP_SELL||OrderType()==OP_BUY) {
             if (mn< 0 || OrderMagicNumber()==Magic) {
              r=OrderLots()* 2 ;
            }
          }
        }
      }
    }
  }
   return (r);
}
 
TarasBY :

시작한다:

extern double LotBuy = 0.01;

double GetLotBuy()

{
double ld_Lot = LotBuy;
for(int n = 1; n<=CountBuy(); n++)
{ld_Lot = LotBuy * n * 2;}
return (ld_Lot);
}



농담하는거야?
 

나는 내 자신의 지표를 기반으로 어드바이저를 만들었습니다.

어제와 관련하여 지표가 상승할 때 매수하고 하락할 때 매도하는 거래를 엽니다.

문제는 거래가 술집 또는 그 이상을 통해 열리고 닫힙니다.

표시기는 미리 결정된 특정 양만큼의 움직임을 무시하도록 구성됩니다.

초과가 없으면 표시 값은 이전 막대와 같이 유지됩니다 (여기 어딘가에 문제가 있다고 생각합니다)

표시기 코드:

 //+------------------------------------------------------------------+
//|                                                         EMAF.mq4 |
//|                                                 Kamil Gazizullin |
//|                                             forexman77@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Kamil Gazizullin"
#property link        "forexman77@yandex.ru"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//--- input parameters
//--- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_LINE , 0 , 1 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   IndicatorDigits( Digits + 1 );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----  
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
     int counted_bars=IndicatorCounted(),                      
    limit;
     double
    raznica,raznica_static,
    MA_1_t,                                                  
    MA_2_t;
 
   if (counted_bars> 0 )
      counted_bars--;
   limit= Bars -counted_bars;
   for ( int i= 0 ;i<limit;i++)
   {  
       static double MA_otshet;
      MA_1_t= iMA ( NULL , 0 , 7 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 0 );  
      MA_2_t= iMA ( NULL , 0 , 7 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 1 ); 
      raznica=MA_1_t-MA_2_t;
      raznica_static=MA_1_t-MA_otshet;
       if (raznica_static > - 0.003 && raznica_static < 0.003 )
      {
      ExtMapBuffer1[i]=MA_otshet;
      }
       else
       if (raznica > - 0.003 && raznica < 0.003 )
      {
      ExtMapBuffer1[i]=MA_2_t;
      MA_otshet=MA_2_t;
      }
       if ((raznica > 0.003 ) || (raznica <- 0.003 ))
      {
      ExtMapBuffer1[i]=MA_1_t;
      }
   }
   return ( 0 );
  }
//+------------------------------------------------------------------+

전문가 고문 거래 기준:

   // Торговые критерии
EMAF_1= iCustom ( NULL , 0 , "EMAF" , 0 , 0 ,i+ 0 );    
EMAF_2= iCustom ( NULL , 0 , "EMAF" , 0 , 0 ,i+ 1 ); 
static datetime t;
if   (EMAF_1 > EMAF_2)
          {                                          
          Opn_B= true ; 
          t=Time[ 0 ];                  
          }
if   (EMAF_1 < EMAF_2)
      {
       if (Time[ 0 ]>t)
          {                                      
          Cls_B= true ;              
          }
      }
[Deleted]  
klop :
안녕하세요!

다음과 같은 스크립트가 필요합니다.

그것은
eur/gbp/1랏/오픈 312.25/sl 559.45/tp 454.55
yui/ghf / 1 lot / 오픈 3.28 / sl 5.65 / tp 4.65
.../... / 1 lot / 오픈 ...... / sl ...... / tp .......


~가 되었다
eur/gbp / 1.02 lot / 시가 312.25 / sl 559.45 / tp 454.55
yui/ghf / 1.02 lot / 오픈 3.28 / sl 5.65 / tp 4.65
.../... / 1.02 lot / 오픈 ....... / sl ...... / tp .......

주어진 볼륨(로트)의 보류 중인 주문을 마감하고 볼륨은 다르지만 시장 진입 수준은 동일한 새 주문을 열려면 중지하고 가져갑니다.

누군가를 만난 건 아닐까..?
제 생각에는 같은 포럼에서 만났고 사이트의 검색 엔진을 사용하여 이러한 기능이 있는 스크립트를 검색해 봅니다.
[Deleted]  
max020780 :



여기서 이해가 안되는게..


두 번째 단방향 주문이 열리면 로트 크기가 기하급수적 으로 증가해야 합니다(2의 승수로).

 
Vinin :

농담하는거야?
솔루션은 종종 여러 "단계"로 구성됩니다. 1단계 - 로트 크기의 기하급수적 증가를 줄입니다. 그 과정에서 우리는 사이클의 사용에 대해 최소한 어느 정도 의미를 부여합니다. 그리고 "시작이 어디인지"를 모르기 때문에 추가 단계는 작성자에게 맡깁니다. ;)
[Deleted]  
TarasBY :
솔루션은 종종 여러 "단계"로 구성됩니다. 1단계 - 로트 크기의 기하급수적 증가를 줄입니다. 그 과정에서 우리는 사이클의 사용에 대해 최소한 어느 정도 의미를 부여합니다. 그리고 "시작이 어디인지"를 모르기 때문에 추가 단계는 작성자에게 맡깁니다. ;)

이것은 물론 훌륭하지만 여전히 다음 단방향 주문이 이전 주문보다 두 배나 많이 열리도록 표현하는 방법입니다. 이미 작동하는 두 개의 함수 CountBuy() 및 CountSell()이 있습니다.
 
Trader7777 :
그리고 그러한 검사(스크립트)를 수행하지 못하게 하는 것은 무엇입니까 ???
파일: