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

 
TarasBY :
그리고 TimeDayOfWeek () (예제에서)에 대해 이것을 어디에서 읽었습니까 ??? :)))

우측에서 ;)

내가 틀렸어, Time[] 형식으로도 설정할 수 있지만, 예제에서는 다르고, 이렇게 하는게 더 편하다 )))

 
Vitek2010 :
아니, 그렇지 않습니다. 나는 설명할 것이다 - 당신의 포럼은 프로거의 마지막 글을 읽을 수 있는 요새에 대한 희망과 같다. 크기 삽입 - 이것이 바로 이 철자가 보는 방식입니다. PERIOD_W1이지만 크기를 사용하거나 날짜 형식으로 고정된 기준점을 사용하면 원하는 효과가 없습니다. 그래서 특정 개념을 삽입하는 것에 대한 특정 질문을 작성했습니다 - 금요일 - 그런데 코드가 컴파일되지 않고 '버전' - 알 수 없는 속성( "버전" - 알 수 없는 속성)이라고 표시되어 있으므로 방법을 모르는 경우 DayOfWeek와 숫자 5(금요일 숫자)를 삽입 하려면 다른 옵션을 제공한 코드가 도움이 되지 않습니다.


 if ( TimeDayOfWeek ( TimeCurrent ())== 5 )   //Пятница
 
r772ra :



내 표시기의 코드에 버전을 삽입하고 컴파일하십시오. 수정된 칠면조를 파일이 아닌 일반 텍스트로 배치합니다. 그렇지 않으면 Venin 동지가 컴파일되지 않은 코드와 침묵을 제공했습니다.

#속성 표시기_분리_창

#속성 표시기_버퍼 1

#property indicator_color1 라임

//------------------------------------------------ --------------------

더블버퍼[];

//------------------------------------------------ --------------------

정수 초기화()

{

SetIndexStyle(0,DRAW_HISTOGRAM, 비어 있음, 2);

SetIndexBuffer(0,버퍼);

리턴(0);

}

// ------------------------------------------------ --------------------


정수 초기화()

{


리턴(0);

}

//------------------------------------------------ --------------------

정수 시작()

{

int StartBar = 막대 - IndicatorCounted() - 1;

for(int i = StartBar; i >= 0; i--)

{

if(TimeDayOfWeek(TimeCurrent())==5) //금요일

if(TimeDayOfWeek(시간[i]) < TimeDayOfWeek(시간[i+1]))

버퍼[i] = 0;

또 다른

버퍼[i] = 버퍼[i+1];

if(닫기[i]>닫기[i+1]&&닫기[i+1]>=닫기[i+2]){//현재 및 이전 움직임이 증가하는 경우

버퍼[i] += NormalizeDouble((닫기[i] - 닫기[i+1])/포인트,0);}

if(닫기[i]<닫기[i+1]&&닫기[i+1]<닫기[i+2]){//현재 및 이전 움직임이 떨어지는 경우

버퍼[i] += NormalizeDouble((닫기[i+1] - 닫기[i])/포인트,0);}

if(닫기[i]>닫기[i+1]&&닫기[i+1]<닫기[i+2]){//이전 움직임이 감소하는 동안 현재 움직임이 증가하는 경우

버퍼[i] += NormalizeDouble((닫기[i+1] - 닫기[i])/포인트,0);}

if(Close[i]<Close[i+1]&&Close[i+1]>=Close[i+2]){//현재 움직임이 감소하고 이전 움직임이 증가하는 경우

버퍼[i] += NormalizeDouble((닫기[i] - 닫기[i+1])/포인트,0);}

}

리턴(0);

}

//------------------------------------------------ ----------------------

 
Vitek2010 :


내 표시기의 코드에 버전을 삽입하고 컴파일하십시오. 수정된 칠면조를 파일이 아닌 일반 텍스트로 배치합니다. 그렇지 않으면 Venin 동지가 컴파일되지 않은 코드와 침묵을 제공했습니다.


빌드 509

 //+------------------------------------------------------------------+
//|                                                    Vitek2010.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link        "http://www.metaquotes.net"

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 Lime

//--------------------------------------------------------------------

double Buffer[];

//--------------------------------------------------------------------

int init()

{

SetIndexStyle ( 0 , DRAW_HISTOGRAM , EMPTY , 2 );

SetIndexBuffer ( 0 ,Buffer);

return ( 0 );

}

// -------------------------------------------------------------------



int deinit()

{



return ( 0 );

}

//--------------------------------------------------------------------

int start()

{

int StartBar = Bars - IndicatorCounted () - 1 ;

for ( int i = StartBar; i >= 0 ; i--)

{

if ( TimeDayOfWeek ( TimeCurrent ())== 5 ) //Пятница

Buffer[i] = 0 ;

else

Buffer[i] = Buffer[i+ 1 ];

if ( Close [i]> Close [i+ 1 ]&& Close [i+ 1 ]>= Close [i+ 2 ]){ //если текущее и преддыдущее движение растут

Buffer[i] += NormalizeDouble (( Close [i] - Close [i+ 1 ])/ Point , 0 );}

if ( Close [i]< Close [i+ 1 ]&& Close [i+ 1 ]< Close [i+ 2 ]){ //если текущее и преддыдущее движение падают

Buffer[i] += NormalizeDouble (( Close [i+ 1 ] - Close [i])/ Point , 0 );}

if ( Close [i]> Close [i+ 1 ]&& Close [i+ 1 ]< Close [i+ 2 ]){ //если текущее лвижение растет а предыдущее падает

Buffer[i] += NormalizeDouble (( Close [i+ 1 ] - Close [i])/ Point , 0 );}

if ( Close [i]< Close [i+ 1 ]&& Close [i+ 1 ]>= Close [i+ 2 ]){ //если текущее движение падает а предыдущее растет

Buffer[i] += NormalizeDouble (( Close [i] - Close [i+ 1 ])/ Point , 0 );}

}

return ( 0 );

}

//---------------------------------------------------------------------
 
이것은 역사에서 금요일을 정의하는 방법이 아닙니다. 저는 모릅니다.
 
TarasBY :
그리고 컴파일된 라이브러리에 대한 언급은 무엇입니까?


그리고 동안:

타라스BY :
Vitya, 여기서 아무 것도 이해할 필요가 없습니다. 한 사람이 한 "샌드박스"(해당 라이브러리가 있는 EA)의 전역 변수가 다른 "샌드박스"( 컴파일된 라이브러리 )에서 표시되기를 원합니다. :)))
 

여러분, 프로 여러분, 잘 부탁드립니다. 코드 조각을 올바르게보십시오. 3 지표에 대한 진입 조건을 표시했습니다.

아직 배우는지라 이해가 안되는 부분이 많습니다.

E_ma=iMA(Symbol(),TimeFrame,period_ema,0,MODE_EMA,PRICE_CLOSE,1);
클럭 = iClose(Symbol(),PERIOD_H1,1);

e_ma=iMA(Symbol(),timeframe,period_ema,0,MODE_EMA,PRICE_CLOSE,1);
c 위치 =iClose(Symbol(),PERIOD_M15,1);

bbUP=iCustom(Symbol(),PERIOD_M5," 볼린저 밴드 ",BandsPeriod,BandsShift,BandsDeviations,1,0);
bbDOWN=iCustom(Symbol(),PERIOD_M5,"볼린저 밴드",BandsPeriod,BandsShift,BandsDeviations,2,0);

if(OrdersTotal()==0 && CountBuy()==0 && CountSell())
{
if( 시계 >E_ma && c 위치 >e_ma)
{
if(질문<=bbDOWN)
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"",Magic,0,Green);
if(티켓>0)
{
TP = NormalizeDouble(Ask + TakeProfit * 포인트, 자릿수);
SL = NormalizeDouble(Ask-StopLoss* 포인트, 자릿수);
OrderModify(티켓, OrderOpenPrice(), SL, TP, 0);
}
}
또 다른
if( 클럭 <E_ma && 클럭 < e_ma )
{
if(입찰가>=bbUP)
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"",Magic,0,Red);
if(티켓>0)
{
TP = NormalizeDouble(Bid - TakeProfit * 포인트, 자릿수);
SL = NormalizeDouble(Bid+StopLoss* 포인트, 자릿수);
OrderModify(티켓, OrderOpenPrice(), SL, TP, 0);
}
}
}


반환(0);

뭔가 잘못되면 정정해 주세요. 오류 없이 컴파일되지만 테스터에서 주문을 열지 않습니다. 이유는 무엇입니까? 어딘지 상태에 오류가 있네요 어떻게 쓰는게 맞는지 아직 이해가 안가네요 손가락에 실을 설명해주시는 분 PLIIZ !!!

 
r772ra :
이것은 역사에서 금요일을 정의하는 방법이 아닙니다. 저는 모릅니다.

네, 주간 주기의 영점 조정을 제거했습니다. if(TimeDayOfWeek(Time[i]) < TimeDayOfWeek(Time[i+1])) 대신 if ( TimeDayOfWeek ( TimeCurrent ())== 5 ) // Friday 이 기능들이 어떻게든 함께라면 가능합니다. 그러면 뭔가 잘 될 것입니다. 아마도 수백 가지의 다른 옵션을 시도했을 것입니다. 더 작은 TF에 대한 주간 TF의 다중 시간 프레임 판독값을 표시하는 것 같습니다. 나도 해결책을 찾지 못한다.

 
Vitek2010 :

네, 주간 주기의 영점 조정을 제거했습니다. if(TimeDayOfWeek(Time[i]) < TimeDayOfWeek(Time[i+1])) 대신 if ( TimeDayOfWeek ( TimeCurrent ())== 5 ) // Friday 이 기능들이 어떻게든 함께라면 가능합니다. 그러면 뭔가 잘 될 것입니다. 아마도 수백 가지의 다른 옵션을 시도했을 것입니다. 더 작은 TF에 대한 주간 TF의 다중 시간 프레임 판독값을 표시하는 것 같습니다. 나도 해결책을 찾지 못한다.


새로운 주간 막대를 여는 아이디어가 있습니다. 버퍼를 재설정하고 포인트를 모으십시오.
 
alsu :
티켓을 Ticket[5]의 배열로 만들고 여기에 5개의 티켓을 모두 저장합니다. 각각 닫을 때 모든 티켓에 대한 주기입니다.

이것을 구현하는 방법은 대략 어떻습니까? 다른 기능을 탐구한 것 같지만 주문과 배열에 대해서는 아직 이해가 잘 가지 않습니다.