int testarray[5][2] = {1,2,3,4,5,6,7,8,9,10};// хоть так и можно записать, но в уме нужно держать что это ТАБЛИЦА
void testfunc(int &inarray[] [] ){ // массив нужно передавать "как есть", но обрабатывать можно выбранную часть string out_str="Result: "+inarray[ i , 0 ];
for (int i=1;i<5;i++){// еще нужно учитывать, что счет в массивах начинается с НУЛЯ. "первый - нулевой" out_str += (", "+inarray[ i , 0 ]); // здесь бы использовал строковую функцию конкатенации } Print(out_str); } //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- Print("Call first:"); testfunc( testarray ); Print("Call second:"); testfunc( testarray ); //---- return(0); } //+-----------
나는 프랙탈 EA에 흔적을 남겼고, 테스트 중 로그에는 무스가 프랙탈을 통해 정기적으로 전송되지만 OrderModify 오류 1 오류가 발생합니다. Kim의 FindNearFractal 기능을 사용했습니다. 코드는 다음과 같습니다.
for( cnt =0; cnt < total ; cnt ++){OrderSelect( cnt , SELECT_BY_POS , MODE_TRADES );if(OrderType()<=OP_SELL&&// check for opened positionOrderSymbol()==Symbol())// check for symbol{if(OrderType()==OP_BUY)// long position is opened{// check for trailing stopif( TrailFractal ){OrderModify(OrderTicket(),OrderOpenPrice(), FindNearFractal (NULL,0,MODE_LOWER),0,0,Green);return(0);}}else// go to short position{// check for trailing stopif( TrailFractal ){OrderModify(OrderTicket(),OrderOpenPrice(), FindNearFractal (NULL,0,MODE_UPPER),0,0,Red);return(0);}}}
그리고 추가 질문 하나 더. 코드는 다음과 같습니다.
for(int i =0; i <OrdersTotal(); i ++){// выбор ордераif(OrderSelect( i , SELECT_BY_POS )==false)continue;// not current symbolif(OrderSymbol()!=Symbol())continue;}if(OrderType()==OP_SELL){//при профите >20 pips добавится или докупится ...if(OrderProfit()>20)//////если поставить другое условие открывает много позицийOrderSend(Symbol(),OP_SELL, Lots ,Bid,3, sl_sell ,0,"Ma+Fr",16384,0,Red);
PeriodForSleep =((Time[0]-Time[1])-(TimeCurrent()-Time[0]))*1000;Sleep( PeriodForSleep );}if(OrderType()==OP_BUY){//при профите >20 pips добавится или докупится ...if(OrderProfit()>20)//////если поставить другое условие открывает много позицийOrderSend(Symbol(),OP_BUY, Lots ,Ask,3, sl_buy ,0,"Ma+Fr",16384,0,Lime);Sleep( PeriodForSleep );}
예를 들어 프랙탈 분석(또는 일반적으로 다른 신호)과 같이 OrderProfit()>20 대신 추가 조건에 넣으면 많은 위치가 열립니다. Sleep() 추가 시도 - 도움이 되지 않았습니다. 여기서 문제가 무엇입니까?
2차원 배열에서 함수로 1차원을 전달하는 방법을 알려주십시오.
뭔가 혼란스러워.
int testarray[5][2] = {1,2,3,4,5,6,7,8,9,10};// хоть так и можно записать, но в уме нужно держать что это ТАБЛИЦА
void testfunc(int &inarray[] [] ){ // массив нужно передавать "как есть", но обрабатывать можно выбранную часть
string out_str="Result: "+inarray[ i , 0 ];
for (int i=1;i<5;i++){// еще нужно учитывать, что счет в массивах начинается с НУЛЯ. "первый - нулевой"
out_str += (", "+inarray[ i , 0 ]); // здесь бы использовал строковую функцию конкатенации
}
Print(out_str);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
Print("Call first:");
testfunc( testarray );
Print("Call second:");
testfunc( testarray );
//----
return(0);
}
//+-----------
동일한 브로커의 플랫폼 사본이 두 개 있습니다. 각각에는 자체 데모 계정 과 공유 폴더 전문가가 있습니다.
첫 번째 항목을 연 다음 닫은 다음 두 번째 항목을 연 다음 두 번째 항목에 암호를 다시 입력해야 합니다.
두 번째를 닫고 첫 번째를 엽니다. 이제 첫 번째 비밀번호가 필요합니다. 이렇게 되어야 합니까?
고맙습니다!
높음=iHigh(NULL,60,1); 아니면 문제가 있습니까?
물론 모든 것이 맞습니다. 그러나 여러 기간 또는 도구를 사용해야 하는 경우 어드바이저에서 적절한 논리를 수행해야 합니다.
물론 모든 것이 맞습니다. 그러나 여러 기간 또는 도구를 사용해야 하는 경우 어드바이저에서 적절한 논리를 수행해야 합니다.
알았어, 내가 알아서 할게. 고맙습니다!
또 나야.. 너무 야단치지마.. 2주정도 상담사 경험이 있어..
나는 프랙탈 EA에 흔적을 남겼고, 테스트 중 로그에는 무스가 프랙탈을 통해 정기적으로 전송되지만 OrderModify 오류 1 오류가 발생합니다. Kim의 FindNearFractal 기능을 사용했습니다. 코드는 다음과 같습니다.
그리고 추가 질문 하나 더. 코드는 다음과 같습니다. 예를 들어 프랙탈 분석(또는 일반적으로 다른 신호)과 같이 OrderProfit()>20 대신 추가 조건에 넣으면 많은 위치가 열립니다. Sleep() 추가 시도 - 도움이 되지 않았습니다. 여기서 문제가 무엇입니까?일반적으로 OrderModify 오류 1은 새 매개변수가 주문의 매개변수와 정확히 일치할 때 발생합니다.
일반적으로 OrderModify 오류 1은 새 매개변수가 주문의 매개변수와 정확히 일치할 때 발생합니다.
고마워, keekkenen! 매개변수가 다릅니다. 답은 여기 에서 찾았습니다. 이 오류에 점수를 매기기 위한 조언(스레드에서) ... NormalizeDouble도 도움이 되지 않습니다.
그리고 두 번째 실수(추가에 대한)에 대해 무엇을 말할 수 있습니까?
고문에서 현재 얼마나 많은 종이 이익이 있는지 확인하는 방법, 즉 미결 포지션의 이익은 무엇입니까?
KimIV에는 GetProfitOpenPosInPoint() 함수가 있습니다.
KimIV에는 GetProfitOpenPosInPoint() 함수가 있습니다.
그것은 가능하고 작동합니까?
아니면 Expert Advisor에 스크립트 코드를 삽입하는 것이 더 정확할까요?