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

 
chief2000 :

질문이 있었습니다 -
사용자 지정 표시기의 코드에서 실행 중인 창이 현재 활성화되어 있는지 여부를 확인할 수 있습니까?
예를 들어, 동일한 표시기는 두 개의 창에서 실행됩니다. 두 번째 창에서는 차트가 활성 및 비활성 상태인 창에서만 작동해야 합니다.

고맙습니다!

그리고 다시 라이브러리 가 도움이 됩니다 :-)
 
Zhunko :
그리고 다시 라이브러리 가 도움이 됩니다 :-)
고맙습니다!
 
좋은 저녁이에요! 잽싸게 로봇을 여기에 던지기 시작했는데 갑자기 오류도 없이 캠페인을 했더니 갑자기 갑자기 2개의 주문을 동시에 오픈하네요!!! 글쎄, 즉, 첫 번째와 두 번째 틱에서 순서대로. 여기 코드가 있습니다. 아래에 붙여넣겠습니다. 명확히 하기 위해, 첫 번째 요새에서는 부지가 계산되고 니나다를 관찰하고, 두 번째 요새에서는 주문이 열리며, 또한 BUY 변수는 이미 열려 있는 구매 주문의 수입니다. 0보다 크면 하나 이상의 주문이 있는 경우 열지 않아야 합니다.
 //+------------------------------------------------------------------+
//|                                                        антиб.mq4 |
//|                      Copyright © 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

extern double volume= 0.01 ; extern double stoploss= 12 ,takeprofit= 12 ; extern int magic= 50001 ,I= 5 ;
int ticket; double volumee ; 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   volumee=volume;
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
        
int start()
  {   int BUY;
  
//----

 for ( int i= OrdersHistoryTotal () - 1 ;i>= 0 ;i--){
     OrderSelect (i,SELECT_BY_POS,MODE_HISTORY); if ( OrderMagicNumber ( )== magic) { if ( OrderSymbol ()== Symbol ()) {
       if ( OrderType ()==OP_BUY ) {   if (( OrderProfit ( )- 3 * Point ) <   OrderTakeProfit ( ) && ( OrderProfit ( )+ 3 * Point ) >   OrderTakeProfit ( ) ) { if ( OrderTicket ( ) == ticket ) {
               volumee = volumee+volumee;}}}}}}
if (volumee>volume*I){volumee=volume;}


               for ( i= OrdersTotal ()- 1 ;i>= 0 ;i--)
   {
     if ( OrderSelect (i, SELECT_BY_TICKET ) == true)     Alert ( "Select error " , GetLastError ( ) ) ;
     if ( OrderMagicNumber ( )== magic){
       if ( OrderSymbol ()== Symbol ()) {
       if ( OrderType ()==OP_BUY ) {
                             BUY++;}}}}   
 if (BUY== 0 ){

 ticket= OrderSend ( Symbol (), OP_BUY, volumee, NormalizeDouble (( Ask), Digits ), NormalizeDouble (( Point * 3 ), Digits ) , NormalizeDouble (( Ask-stoploss* Point ), Digits ), NormalizeDouble (( Ask+takeprofit* Point ), Digits ), NULL ,  magic, 0 , Red ) ;}
 
 
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
두 가지 주문이 있습니다! !
 

그리고 아시다시피, 제가 핸디캡 주기로 피리무드릴링을 했고, 하나의 주문이 있고, I 빼기 하나 더 있고, 주기 조건이 전혀 충족되지 않을 수도 있습니다. 예, 그렇습니다. 이제 두 개의 주문만 열어야 합니다!

여러분, 최근 댓글을 삭제해야 하나요?

아니요, 여전히 2이고 세 번째 또는 네 번째 틱 후에도 경고: 선택 오류 4105 쓰기,

순서가 선택되지 않은 것 같지만 처음에는 오류가 없습니다 .. 맞아요 그래서 for( int i=0;

그래서 for( int i=0;i<=OrdersTotal();i++){

그리고 두 가지 주문이 있습니다. 모두 동일합니다.

모두 하나. 휴..;

 
오류 4105 - 주문이 선택되지 않음 - 종료되지 않지만 일반적으로 적절하게 작동합니다.
 
Ivn :

좋은 오후, 다른 시간대의 표준 고문을 작성하는 방법. 저것들. 이 표시기를 1시간 차트에 걸어두면 4시간 표시기가 표시됩니다.

시도 //+--------------------------------------------- --------------------+
//| cc at 4시.mq4 |
//| Copyright © 2012, MetaQuotes Software Corp. |
//| https://www.metaquotes.net/ |
//+----------------------------------------------- --------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#속성 링크 " https://www.metaquotes.net/ "

#속성 표시기_차트_창
#속성 표시기_버퍼 3
#property indicator_color1 LightSeaGreen
#property indicator_color2 LightSeaGreen
#property indicator_color3 LightSeaGreen
//---- 표시기 매개변수
extern int BandsPeriod=20;
extern int BandsShift=0;
외부 이중 대역편차=2.0;
//---- 버퍼
이중 이동 버퍼[];
이중 상위 버퍼[];
더블로어버퍼[];
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//---- 표시기
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,움직이는버퍼);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,UpperBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,LowerBuffer);
//----
SetIndexDrawBegin(0,BandsPeriod+BandsShift);
SetIndexDrawBegin(1,BandsPeriod+BandsShift);
SetIndexDrawBegin(2,BandsPeriod+BandsShift);
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 볼린저 밴드 |
//+----------------------------------------------- --------------------+
정수 시작()
{
int i,k,counted_bars=IndicatorCounted();
이중 편차;
더블 합계, oldval, newres;
int B=iBars(NULL,PERIOD_H4);
이중 C=iClose(NULL,PERIOD_H4,0);
//----
if(B<=BandsPeriod) return(0);
//---- 초기 0
if(counted_bars<1)
for(i=1;i<=BandsPeriod;i++)
{
이동버퍼[Bi]=EMPTY_VALUE;
어퍼버퍼[Bi]=EMPTY_VALUE;
LowerBuffer[Bi]=EMPTY_VALUE;
}
//----
int limit=B-counted_bars;
if(counted_bars>0) 제한++;
for(i=0; i<한계; i++)
MovingBuffer[i]=iMA(NULL,PERIOD_H4,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
//----
i=B-BandsPeriod+1;
if(counted_bars>BandsPeriod-1) i=B-counted_bars-1;
동안(i>=0)
{
합계=0.0;
k=i+BandsPeriod-1;
oldval=이동버퍼[i];
동안(k>=i)
{
newres=C[k]-oldval;
합계+=뉴스*뉴스;
케이--;
}
편차=대역 편차*MathSqrt(합/대역 주기);
UpperBuffer[i]=oldval+편차;
LowerBuffer[i]=oldval-편차;
나--;
}
//----
리턴(0);
}
//+----------------------------------------------- --------------------+

운동하지 않았다

이 줄 newres=C[k]-oldval;- '[' - 예기치 않은 토큰

볼린저 밴드 지표.


C[k]를 iClose(NULL,PERIOD_H4,k)로 바꿉니다.

그러나 1시간 차트와 4시간 선을 보다 친숙하게 표시하는 방법을 알아냈습니다.
볼린저밴드 채널에서 가격이 움직이는데 이 코드를 차트로 옮기면 가격이 어떻게 채널을 빠져나가는지 알 수 있는데 4시 방향의 볼린저밴드 차트는 타임라인에 묶여있지 않은 것 같다

미리 감사합니다

 

얘들아, 경험으로 말해줘 ... 나는 MT4 클라이언트 터미널을 통해 거래하기 위해 VPS를 임대하기 위해 사무실을 선택했습니다. 예를 들어 10 명의 올빼미와 함께 실행중인 터미널 하나가 평균적으로 얼마나 많은 트래픽을 소비하는지 궁금합니다. 여러 터미널이 작동합니다... 제공되는 터미널에서 적절한 요금제를 선택하려면:

추신 레이아웃은 총 트래픽, 즉 들어오는 + 나가는.

 

답을 아는 동료:

같은 기간(2011년 5월 1일 - 2012년 1월 27일)에 전략 테스터 가 있고 EURUSD 통화 쌍, 시간 막대(H1), 한 DC(Alpari) 및 동일한 전문가 고문이 있지만 다른 컴퓨터(노트북, 고정식)에서 반대 결과를 생성합니다! PC는 2000달러, 노트북은 3000달러 정도 2~3번은 확인했다.

이유와 해야 할 일을 알려주거나 주제에 대해 읽을 수 있는 링크를 제공하십시오.
 
Sersad :

답을 아는 동료:

같은 기간(2011년 5월 1일 - 2012년 1월 27일)에 전략 테스터가 있고 EURUSD 통화 쌍, 시간 막대(H1), 한 DC(Alpari) 및 동일한 전문가 고문이 있지만 다른 컴퓨터(노트북, 고정식)에서 반대 결과를 생성합니다! PC는 2000달러, 노트북은 3000달러 정도 2~3번은 확인했다.

이유와 해야 할 일을 알려주거나 주제에 대해 읽을 수 있는 링크를 제공하십시오.


나는 어떻게 든 이것에 사로 잡혔습니다 ... 그것은 다음과 같았습니다. 첫 번째 터미널은 Metaquotes에서, 두 번째 터미널은 Alparey에서 설치되었으며 스토리도 각각 동일한 올빼미를 테스트할 때 상당한 불일치가 있었습니다. 어떤 경우인지 이해할 수 없었다.

1. Alpari에서 터미널을 다운로드합니다. 기기에 대한 견적의 Alparish 기록을 업로드하면 다음 창이 표시됩니다.

F2 키를 누른 후 cl을 눌러도 팝업되지 않는 경우. "다운로드"는 Alpari가 아닌 견적 내역을 다운로드하고 있음을 의미합니다.

2. 터미널 테스터에서 모든 옵션을 동일하게 설정 + cl을 클릭하여 스프레드 크기를 확인하십시오. 전략 테스터의 "심볼 속성".

그 전에 - 관심있는 악기의 시세 이력을 삭제하고 다시 업로드하십시오 + 테스트 기간을 확인하십시오 : H4 화면에서 - 그것이 거기에서 동일하도록하십시오.