[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 491

 
rasvet >> :

여기 스크립트가 있습니다. 차트에 첨부하면 열려 있는 모든 주문이 닫힙니다.

주문을 마감하기 위해 JimsCloseOrders EA 를 사용합니다. 이 두 줄의 코드에서 수익성이 있거나 없는 모든 주문 또는 연속된 모든 주문을 마감할 수 있습니다. 약간 조정해야 하지만

외부 부울 CloseOpenOrders = true;

외부 부울 CloseOrdersWithPlusProfit = 거짓;

거짓 그리고 사실 장소를 바꿔야 합니다. 그렇지 않으면 차트에 설치할 때 이러한 설정이 수행되면 어떤 이유로 모든 주문을 닫기 시작합니다(프로그램에 의한 명령 실행 순서로 인해 명확하지 않지만 , 특별하지 않음).

프로에게 질문이 있습니다 .

예를 들어 위에서 언급한 어드바이저를 가능한 한 빨리 시작해야 하지만 모든 어드바이저와 스크립트는 차트에 첫 번째 눈금이 도착하는 순간부터 작동하기 시작합니다. Expert Advisor를 설치하기 위해 선택한 통화 쌍이 그 순간에 그다지 "활성화"되지 않은 것으로 판명되면 손실이 상당할 수 있습니다.

모든 통화에 대한 "일반" 차트를 생성하거나 다른 쌍의 들어오는 틱을 사용할 수 있습니까? 진드기는 거의 지속적으로 터미널에오고 있습니다. 그들은 어디에서 잡을 수 있습니까?

 
hedger писал(а) >>

프로에게 질문이 있습니다 .

예를 들어 위에서 언급한 어드바이저를 가능한 한 빨리 시작해야 하지만 모든 어드바이저와 스크립트는 차트에 첫 번째 눈금이 도착하는 순간부터 작동하기 시작합니다. Expert Advisor를 설치하기 위해 선택한 통화 쌍이 그 순간에 "활성화"되지 않은 것으로 판명되면 손실이 상당할 수 있습니다.

모든 통화에 대한 "일반" 차트를 생성하거나 다른 쌍의 들어오는 틱을 사용할 수 있습니까? 진드기는 거의 지속적으로 터미널에오고 있습니다. 그들은 어디에서 잡을 수 있습니까?


전문가를 반복하는 것으로 충분합니다. 그런 다음 틱이 아니라 특정 시간 지연(사용자가 설정)으로 작동합니다. 다중 통화 옵션(IMHO)의 경우 최상의 솔루션입니다.

 
Vinin >> :


전문가를 반복하는 것으로 충분합니다. 그런 다음 틱이 아니라 특정 시간 지연(사용자가 설정)으로 작동합니다. 다중 통화 옵션(IMHO)의 경우 최상의 솔루션입니다.

분명히 이것은 그렇게 어렵지는 않지만 불행히도 "우리는 이것을 겪지 않았다"고 여전히 할 수 없습니다. 그러나 고문이 그러한 세련미로 어떻게 행동하는지 보는 것은 나쁘지 않을 것입니다. 고맙습니다.

[삭제]  
이 공식에 따른 지표가 있습니다(V-볼륨, 고-저-최대 및 최소 양초)
V
_______________ =
저 높은

그렇지 않은 경우 누군가가 별도의 창에 히스토그램 형태로 스케치할 수 있습니까?
[삭제]  
이 공식에 따른 지표가 있습니다(V-볼륨, 고-저-최대 및 최소 양초)
V
_______________ =
저 높은

그렇지 않은 경우 누군가가 별도의 창에 히스토그램 형태로 스케치할 수 있습니까?
 
hedger >> :

예를 들어 위에서 언급한 어드바이저를 가능한 한 빨리 시작해야 하지만 모든 어드바이저와 스크립트는 차트에 첫 번째 눈금이 도착하는 순간부터 작동하기 시작합니다. Expert Advisor를 설치하기 위해 선택한 통화 쌍이 그 순간에 "활성화"되지 않은 것으로 판명되면 손실이 상당할 수 있습니다.

모든 통화에 대한 "일반" 차트를 생성하거나 다른 쌍의 들어오는 틱을 사용할 수 있습니까? 진드기는 거의 지속적으로 터미널에오고 있습니다. 그들은 어디에서 잡을 수 있습니까?

에서 즉시 핫 스타트를 할 수 있습니다.

초기화(){

동안 (사실) {

//영원한 하이

}

 
//+------------------------------------------------------------------+
//|                                 BW Market Facilitation Index.mq4 |
//|                                           объединенный с Volumes |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//|                             Доработка AlexSilver http://viac.ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property indicator_minimum 0
#property indicator_buffers 5
#property indicator_color1 Black
#property indicator_color2 Green // Зеленая свеча
#property indicator_color3 Blue // Угасающая
#property indicator_color4 Gold // Фальшивая
#property indicator_color5 Red // приседающая 
//---- indicator buffers
extern int Period_MFI =   14;
double dMFIBuffer[];
double dMFIUpVUpBuffer[]; // Зеленая 
double dMFIDownVDownBuffer[]; // Угасающая
double dMFIUpVDownBuffer[]; // Фальшивая
double dMFIDownVUpBuffer[]; // приседающая 

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
  
//---- indicator buffers mapping
   SetIndexBuffer(0,dMFIBuffer);       
   SetIndexBuffer(1,dMFIUpVUpBuffer);
   SetIndexBuffer(2,dMFIDownVDownBuffer);
   SetIndexBuffer(3,dMFIUpVDownBuffer);
   SetIndexBuffer(4,dMFIDownVUpBuffer);
//---- drawing settings
   SetIndexStyle(0,DRAW_NONE);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexStyle(2,DRAW_HISTOGRAM);
   SetIndexStyle(3,DRAW_HISTOGRAM);
   SetIndexStyle(4,DRAW_HISTOGRAM);   

//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("BW MFI + Volumes");
   SetIndexLabel(0,"BW MFI");      
   SetIndexLabel(1,"Зелёный");
   SetIndexLabel(2,"Угасающий");
   SetIndexLabel(3,"Фальшивый");
   SetIndexLabel(4,"Приседающий");

//---- sets drawing line empty value
   SetIndexEmptyValue(1, 0.0);
   SetIndexEmptyValue(2, 0.0);       
   SetIndexEmptyValue(3, 0.0);
   SetIndexEmptyValue(4, 0.0);      
   
   IndicatorDigits(0);   
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| BW Market Facilitation Index                                     |
//+------------------------------------------------------------------+
int start()
  {
   int    i,nLimit,nCountedBars;
//---- bars count that does not changed after last indicator launch.
   nCountedBars=IndicatorCounted();
//---- last counted bar will be recounted
   if(nCountedBars>0) nCountedBars--;
   nLimit=Bars-nCountedBars;
//---- Market Facilitation Index calculation
   for(i=0; i<nLimit; i++)
     if(i==0 && Volume[i]<Period()*1.5)
        dMFIBuffer[i]=0.0;
     else   
        dMFIBuffer[i]=(High[i]-Low[i])/(Volume[i]*Point);
//---- dispatch values between 4 buffers   
   for(i=nLimit-1; i>=0; i--)
    {
     if((i!=nLimit-1&&bCompareDouble(dMFIBuffer[i],dMFIBuffer[i+1])&&dMFIBuffer[i]>dMFIBuffer[i+2]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1))||
        (i!=nLimit-1&&dMFIBuffer[i]>dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+2])/iMFI(NULL,0,Period_MFI,i+2)||
        (i<nLimit-2&&dMFIBuffer[i]>dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+3]/iMFI(NULL,0,Period_MFI,i+3))||        
        (i!=nLimit-1&&bCompareDouble(dMFIBuffer[i],dMFIBuffer[i+1])&&dMFIBuffer[i]>dMFIBuffer[i+2]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2))||
        (dMFIBuffer[i]>dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1))) 
       {
        dMFIUpVUpBuffer[i]=Volume[i]/iMFI(NULL,0,Period_MFI,i);
        dMFIDownVDownBuffer[i]=0.0;
        dMFIUpVDownBuffer[i]=0.0;
        dMFIDownVUpBuffer[i]=0.0;
        continue;
       }
     if((i!=nLimit-1&&bCompareDouble(dMFIBuffer[i],dMFIBuffer[i+1])&&dMFIBuffer[i]<dMFIBuffer[i+2]&&Volume[i]<Volume[i+1])||
        (i!=nLimit-1&&dMFIBuffer[i]<dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)<Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2))||
        (i<nLimit-2&&dMFIBuffer[i]<dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2)&&Volume[i]<Volume[i+3]/iMFI(NULL,0,Period_MFI,i+3))||        
        (i!=nLimit-1&&bCompareDouble(dMFIBuffer[i],dMFIBuffer[i+1])&&dMFIBuffer[i]<dMFIBuffer[i+2]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)<Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2))||        
        (dMFIBuffer[i]<dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)<Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1))) 
       {
        dMFIUpVUpBuffer[i]=0.0;
        dMFIDownVDownBuffer[i]=Volume[i]/iMFI(NULL,0,Period_MFI,i);
        dMFIUpVDownBuffer[i]=0.0;
        dMFIDownVUpBuffer[i]=0.0;
        continue;         
       }
     if((i!=nLimit-1&&bCompareDouble(dMFIBuffer[i],dMFIBuffer[i+1])&&dMFIBuffer[i]>dMFIBuffer[i+2]&&Volume[i]/iMFI(NULL,0,Period_MFI,i+1)<Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1))||
        (i!=nLimit-1&&dMFIBuffer[i]>dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)<Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2))||
        (i<nLimit-2&&dMFIBuffer[i]>dMFIBuffer[i+1]&&Volume[i]==Volume[i+1]&&Volume[i]==Volume[i+2]&&Volume[i]<Volume[i+3])||        
        (i!=nLimit-1&&bCompareDouble(dMFIBuffer[i],dMFIBuffer[i+1])&&dMFIBuffer[i]>dMFIBuffer[i+2]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)<Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2))||        
        (dMFIBuffer[i]>dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)<Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1))) 
       {
        dMFIUpVUpBuffer[i]=0.0;
        dMFIDownVDownBuffer[i]=0.0;
        dMFIUpVDownBuffer[i]=Volume[i]/iMFI(NULL,0,Period_MFI,i);
        dMFIDownVUpBuffer[i]=0.0;
        continue;         
       }
     if((i!=nLimit-1&&bCompareDouble(dMFIBuffer[i],dMFIBuffer[i+1])&&dMFIBuffer[i]<dMFIBuffer[i+2]&&Volume[i]>Volume[i+1])||
        (i!=nLimit-1&&dMFIBuffer[i]<dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2))||
        (i<nLimit-2&&dMFIBuffer[i]<dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i+1)==Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2)/iMFI(NULL,0,Period_MFI,i+2)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+3]/iMFI(NULL,0,Period_MFI,i+3))||        
        (i!=nLimit-1&&bCompareDouble(dMFIBuffer[i],dMFIBuffer[i+1])&&dMFIBuffer[i]<dMFIBuffer[i+2]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)==Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1)&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+2]/iMFI(NULL,0,Period_MFI,i+2))||        
        (dMFIBuffer[i]<dMFIBuffer[i+1]&&Volume[i]/iMFI(NULL,0,Period_MFI,i)>Volume[i+1]/iMFI(NULL,0,Period_MFI,i+1))) 
       {
        dMFIUpVUpBuffer[i]=0.0;
        dMFIDownVDownBuffer[i]=0.0;
        dMFIUpVDownBuffer[i]=0.0;
        dMFIDownVUpBuffer[i]=Volume[i]/iMFI(NULL,0,Period_MFI,i);
        continue;         
       }        
    }                     
//---- done
   return(0);
  }
//+------------------------------------------------------------------+
 bool bCompareDouble (double dNumber1, double dNumber2)
    {
     bool bCompare=NormalizeDouble(dNumber1 - dNumber2,8) == 0;
     return(bCompare);
    }
 

 
어쩐지 교과서대로 자리 를 뜨는 대본을 만들었어요-

정수 시작()
{
인트 티켓;
if(iRSI(NULL,0,5,PRICE_CLOSE,0)<10)
{
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,0,Bid-10*Point,Ask+10*Point);
if(티켓<0)
{
Print("오류 #로 인해 OrderSend가 실패했습니다.",GetLastError());
리턴(0);
}
}
리턴(0);

나는 한 쌍의 통화에 연결합니다. 효과가 없습니다. 여기에 하나가 있습니까 아니면 문제가 있습니까? 설명 해주십시오.
 

그래서 오류는 무엇입니까?

 
OrderSend (Symbol(),OP_BUY,1,Ask,0/*0 대신에, 최소한 허용 가능한 미끄러짐을 넣습니다*/,Bid-10*Point,Ask+10*Point);