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

 
Techno :
할 수 있다. 일반 EA/스크립트

이미 비슷한 것이 있을 수 있습니다. 어디에서 찾을 수 있는지 알려주십시오. 아니면 누가 쓸 수 있는지 알고 있습니까?

 

전문가의 도움을 부탁드립니다

작동하지 않는 코드 조각(아래)

MA 값이 계산되어 변수 MA에 할당됩니다.

맞지만 배열이 할당되지 않았습니다. 이중으로 정의된 배열

동적. 인쇄 절차는 배열의 0 값을 인쇄합니다. 매복이란 무엇입니까?

i=i_max; // ..주어진 양을 계산합니다.

if (flag_NewBar==true) // 첫 번째 틱이 도착할 때만 재계산

{

동안(i>=0) // 셀 수 없는 막대를 반복합니다.

MA=iMA(g_ext_smb,g_ext_TameFrame,g_ext_Period_MA,0,g_ext_Method,g_ext_PRICE,i);

MA=NormalizeDouble(MA, 자릿수 );

mas_MA[i]=MA;

나--; }

 

오류가 130 인 이유가 명확하지 않습니다 ?? 도와주세요

코드는 다음과 같습니다.

   double myPrice      = NormalizeDouble (Bid - 10 *Pnt* 10 , Digits );
   double myTakeProfit = NormalizeDouble (myPrice + TakeProfit * Pnt* 10 , Digits );                                                     //
   if (RAVI0_2_24_D1 > 1 && RAVI0_2_24_D1 < 5 && RAVI0_2_24_D1_1 < RAVI0_2_24_D1 && RAVI0_2_24_D1_2 < RAVI0_2_24_D1_1 && RAVI0_2_24_D1_3 < RAVI0_2_24_D1_2) myTakeProfit = myTakeProfit + 25 * Pnt* 10 ;
   double myStopLoss   = NormalizeDouble (myPrice - StopLoss * Pnt* 10 , Digits );
   datetime myTimeEnd  = TimeCurrent () + wait* 60 ;
   Alert ( "OP_BUYLIMIT: Spread=" ,MarketInfo( Symbol (),MODE_SPREAD), " Stop=" ,DoubleToStr(MarketInfo( Symbol (), MODE_STOPLEVEL), 2 ), " lot=" ,DoubleToStr(lotMM, 3 ), " Pr=" ,DoubleToStr(myPrice, 6 ), " SL=" ,DoubleToStr(myStopLoss, 6 ), " TP=" ,DoubleToStr(myTakeProfit, 6 ));
   ticket= OrderSend ( Symbol (),OP_BUYLIMIT,lotMM,myPrice,Slippage,myStopLoss,myTakeProfit,ExpertName, MagicNumber,myTimeEnd,myColor);

특별히 Alert를 삽입하여 문제를 확인했지만 찾을 수 없습니다.

다음은 경고 메시지입니다.

2010.12.13 12:39:36 2010.09.01 11:35 DVD 100-50 cent iK EURUSD,M1: OrderSend 오류 130

2010.12.13 12:39:36 2010.09.01 11:35 DVD 100-50 센트 iK EURUSD,M1: 경고: OP_SELLLIMIT: 스프레드=1 정지=10.00 로트=0.010 Pr=1.280300=10.20TP=1.280300=1SL=1.

 
VNG :

전문가의 도움을 부탁드립니다

작동하지 않는 코드 조각(아래)

MA 값이 계산되어 변수 MA에 할당됩니다.

맞지만 배열이 할당되지 않았습니다. 이중으로 정의된 배열

동적. 인쇄 절차는 배열의 0 값을 인쇄합니다. 매복이란 무엇입니까?

i=i_max; // ..주어진 양을 계산합니다.

if (flag_NewBar==true) // 첫 번째 틱이 도착할 때만 재계산

{

동안(i>=0) // 셀 수 없는 막대를 반복합니다.

MA=iMA(g_ext_smb,g_ext_TameFrame,g_ext_Period_MA,0,g_ext_Method,g_ext_PRICE,i);

MA=NormalizeDouble(MA,숫자);

mas_MA[i]=MA;

나--; }

IMHO 배열은 "그리기"를 위한 표시기의 배열을 제외하고 특정 크기를 가져야 합니다. 나는 내가 넣어야 한다고 생각한다:
 ArrayResize (mas_MA,i_max);
 
globad :

여러분, 말씀해주세요! 10-11p의 가격으로 통과할 때 소리 신호를 주는 프로그램을 만들 수 있습니까? 0.1-0.4초 동안.?

나는 다르게 제안합니다. 0.1-0.4s. 이것은 대략 틱, 즉 틱당 전체 시장 감시의 요청 변경입니다.
파일:
temp_4.mq4  4 kb
 
ikatsko :

오류가 130 인 이유가 명확하지 않습니다 ?? 도와주세요

코드는 다음과 같습니다.

특별히 Alert를 삽입하여 문제를 확인했지만 찾을 수 없습니다.

다음은 경고 메시지입니다.

2010.12.13 12:39:36 2010.09.01 11:35 DVD 100-50 cent iK EURUSD,M1: OrderSend 오류 130

2010.12.13 12:39:36 2010.09.01 11:35 DVD 100-50 센트 iK EURUSD,M1: 경고: OP_SELLLIMIT: 스프레드=1 정지=10.00 로트=0.010 Pr=1.280300=10.20TP=1.280300=1SL=1.


개시 가격의 테이크 스톱 슬리피지(보류가 가격보다 높기 때문에)를 상수로 점진적으로 변경하고 실제로 오류가 있는 위치를 찾으십시오.

도움말에서 "대기 중인 주문의 시작 가격이 잘못된 경우 오류 130(ERR_INVALID_STOPS)이 생성됩니다."

ticket= OrderSend ( Symbol (),OP_BUYLIMIT,1,Close[0]+DoubleToStr(MarketInfo(Symbol(), MODE_STOPLEVEL), 2)*2,15,0,0,ExpertName, MagicNumber,myTimeEnd,myColor);
 
VNG :

전문가의 도움을 부탁드립니다

작동하지 않는 코드 조각(아래)

MA 값이 계산되어 변수 MA에 할당됩니다.

맞지만 배열이 할당되지 않았습니다. 이중으로 정의된 배열

동적. 인쇄 절차는 배열의 0 값을 인쇄합니다. 매복이란 무엇입니까?

i=i_max; // ..주어진 양을 계산합니다.

if (flag_NewBar==true) // 첫 번째 틱이 도착할 때만 재계산

{

동안(i>=0) // 셀 수 없는 막대를 반복합니다.

MA=iMA(g_ext_smb,g_ext_TameFrame,g_ext_Period_MA,0,g_ext_Method,g_ext_PRICE,i);

MA=NormalizeDouble(MA,숫자);

mas_MA[i]=MA;

나--; }

우리는 읽고 친해진다

https://book.mql4.com/ru/operators/while

https://docs.mql4.com/ru/series/iBarShift

나는 그렇게 할 것이다

 if (flag_NewBar) // пересчитываем только во время прихода первого тика
 for (i=i_max;i>= 0 ;i--) // Цикл по непосчитанным барам
    mas_MA[i]= NormalizeDouble ( iMA (g_ext_smb,g_ext_TameFrame,g_ext_Period_MA, 0 ,g_ext_Method,g_ext_PRICE,
                                                             iBarShift(g_ext_smb,g_ext_TameFrame,Time[i],false)), Digits );
if (flag_NewBar==true) // пересчитываем только во время прихода первого тика
while (i>= 0 ){ // Цикл по непосчитанным барам
mas_MA[i]= NormalizeDouble ( iMA (g_ext_smb,g_ext_TameFrame,g_ext_Period_MA, 0 ,g_ext_Method,g_ext_PRICE,i), Digits );
i--; 
} 
 
말해봐, 객체를 그리는 데 0보다 작은 ibarshift를 몇 개나 사용할 수 있습니까? 최소는 무엇입니까?
 
costy_ :

개시 가격의 테이크 스톱 슬리피지(보류가 가격보다 높기 때문에)를 상수로 점진적으로 변경하고 실제로 오류가 있는 위치를 찾으십시오.

도움말에서 "대기 중인 주문의 시작 가격이 잘못된 경우 오류 130(ERR_INVALID_STOPS)이 생성됩니다."

네, UZH :) 사실, 실수는 석호의 시가가 현재 가격에 가깝다는 것입니다. 고쳤습니다. 감사합니다

 
eddy :
말해봐, 객체를 그리는 데 0보다 작은 ibarshift를 몇 개나 사용할 수 있습니까? 최소는 무엇입니까?

ybarshift는 시간별로 막대를 검색합니다(아무것도 작동하지 않음).

터미널에서 마지막 막대는 0이고 시간은 막대에 연결됩니다. 끈을 통해 미래로 가는 유일한 길

 ObjectCreate ( "ff" , OBJ_VLINE , 0 ,StrToTime( "2010.12.13 20:00" ), 0 ); //
사유: