제발 말해! 특정 가격에 도달했을 때 동일한 마법으로 다른 로트를 사용하여 두 개의 보류 주문 을 어떻게 마감할 수 있습니까?
정수 시작()
{ 더블 MyLastBullOpenPrice=0; for(int Cnt=0;Cnt<OrdersTotal();Cnt++) { 주문선택(Cnt,SELECT_BY_POS,MODE_TRADES); if(OrderMagicNumber()==12345 && OrderType()==OP_BUY) { MyLastBullOpenPrice=OrderOpenPrice(); 더블 시나=OrderOpenPrice()+5*포인트; 두 배 총 가격 = 입찰가;
if (토탈시나>시나) { if (OrdersTotal()>0) { for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderMagicNumber()==12345)
for (int i2=0; i2<ArraySize(symbols1); i2++) { if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2; } return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array]; int NewArraySize = ArraySize(textMod)+1; ArrayResize(textMod,NewArraySize); textMod[i1]=OneSymbolMod; string textNew; textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :( return (textNew); } }
나는 그것이 정확하지 않으며 배열을 문자열로 전혀 수집할 수 없다는 것을 알고 있습니다. 도와주세요.
for (int i2=0; i2<ArraySize(symbols1); i2++) { if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2; } return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array]; int NewArraySize = ArraySize(textMod)+1; ArrayResize(textMod,NewArraySize); textMod[i1]=OneSymbolMod; string textNew; textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :( return (textNew); } }
나는 그것이 정확하지 않으며 배열을 문자열로 전혀 수집할 수 없다는 것을 알고 있습니다. 도와주세요.
그리고 DC에는 트랜잭션 수에 대한 제한이 있습니까?
일부는 트랜잭션 수에 제한이 있을 뿐만 아니라 요청 수에도 제한이 있습니다.
그들은 매우 독창적입니다! :-))
나머지는 테스트가 끝날 때까지 중단되지만 조건에 따라 한 트랜잭션이 열리면 다른 트랜잭션을 닫아야 합니다.
그리고 OrderClose()를 사용할 때 오류 4051 및 134에 대한 또 다른 질문은 무엇을 의미합니까? 로그에서 정보를 복사했습니다.
마지막 옵션이 어느 정도 작동하기 시작한 것 같습니다. 계산을 단순화 할 수 있지만
제발 말해! 특정 가격에 도달했을 때 동일한 마법으로 다른 로트를 사용하여 두 개의 보류 주문 을 어떻게 마감할 수 있습니까?
정수 시작()
{
더블 MyLastBullOpenPrice=0;
for(int Cnt=0;Cnt<OrdersTotal();Cnt++)
{
주문선택(Cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==12345 && OrderType()==OP_BUY)
{
MyLastBullOpenPrice=OrderOpenPrice();
더블 시나=OrderOpenPrice()+5*포인트;
두 배 총 가격 = 입찰가;
if (토탈시나>시나)
{
if (OrdersTotal()>0)
{ for (int i=OrdersTotal()-1; i>=0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{ if(OrderMagicNumber()==12345)
{ if (OrderDelete(OrderTicket())==true)
{
Print("오류 = ",GetLastError()); 반환(0);
}
} } } }
}
}
반환(MyLastBullOpenPrice);
}
나머지는 테스트가 끝날 때까지 중단되지만 조건에 따라 한 트랜잭션이 열리면 다른 트랜잭션을 닫아야 합니다.
그리고 OrderClose()를 사용할 때 오류 4051 및 134에 대한 또 다른 질문은 무엇을 의미합니까? 로그에서 정보를 복사했습니다.
134 - no denyuh, 4051 - 함수에 전달된 진부한 매개변수.
본질적으로, magick 변수가 가급적이면 init() 함수에서 한 번만 할당되었는지 확인하십시오. 그렇지 않으면 각 주문에 고유한 magick가 있고 결과는 귀하가 말한 것과 거의 동일합니다.
배열을 통해 문자열의 문자를 대체하는 기능을 추가(또는 작성)하는 데 도움을 주세요.
두 개의 문자 배열이 있습니다.
문자열 기호1 [] = {"a","b","c","d"};문자열 기호2[] = {"1","2","3","4"};
배열을 기반으로 badc 텍스트를 2143으로 대체하는 함수를 작성하려고 시도했지만 다음과 같이 나타났습니다.
string ReplaceSymbolsInStr(string text){
string textMod[] ={""};
string symbols1[] = {"a","b","c","d"};
string symbols2[] = {"1","2","3","4"};
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2;
}
return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array];
int NewArraySize = ArraySize(textMod)+1;
ArrayResize(textMod,NewArraySize);
textMod[i1]=OneSymbolMod;
string textNew;
textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :(
return (textNew);
}
}
나는 그것이 정확하지 않으며 배열을 문자열로 전혀 수집할 수 없다는 것을 알고 있습니다. 도와주세요.
일부는 트랜잭션 수에 제한이 있을 뿐만 아니라 요청 수에도 제한이 있습니다.
그들은 매우 독창적입니다! :-))
배열을 통해 문자열의 문자를 대체하는 기능을 추가(또는 작성)하는 데 도움을 주세요.
두 개의 문자 배열이 있습니다.
문자열 기호1[] = {"a","b","c","d"};문자열 기호2[] = {"1","2","3","4"};
배열을 기반으로 badc 텍스트를 2143으로 대체하는 함수를 작성하려고 시도했지만 다음과 같이 나타났습니다.
string ReplaceSymbolsInStr(string text){
string textMod[] ={""};
string symbols1[] = {"a","b","c","d"};
string symbols2[] = {"1","2","3","4"};
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2;
}
return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array];
int NewArraySize = ArraySize(textMod)+1;
ArrayResize(textMod,NewArraySize);
textMod[i1]=OneSymbolMod;
string textNew;
textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :(
return (textNew);
}
}
나는 그것이 정확하지 않으며 배열을 문자열로 전혀 수집할 수 없다는 것을 알고 있습니다. 도와주세요.
이론적으로 대체 배열에서 문자의 인덱스를 찾았는데 왜 다른 배열을 생성합니까?
첫 번째 루프에서 수신된 데이터를 일반 텍스트 변수에 추가하려고 시도합니다.
문자열 ReplaceSymbolsInStr(문자열 텍스트)
{문자열 기호1[] = {"a","b","c","d"};
문자열 기호2[] = {"1","2","3","4"};
stringtextNew="";
int textLen = StringLen(텍스트);
for (int i1=0; i1<textLen; i1++)
{
문자열 OneSymbol = StringSubstr (텍스트,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) { textNew = 텍스트New + 기호2[ i2 ] ; i2=배열크기(심볼1) ; }
}
}
반환(텍스트신규);
}
다음과 같이 더 쉽습니다.
문자열 ReplaceSymbolsInStr(문자열 텍스트)
{문자열 기호1[4] = {"a","b","c","d"}; // 배열의 문자 수에 따른 배열 크기
stringtextNew="";
(int i1=0; i1< StringLen(텍스트) ; i1++)
{
문자열 OneSymbol = StringSubstr(텍스트,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol)
{
텍스트신규 = 텍스트새로 만들기 + ( i2+1) ; // 문자 자체의 번호가 반환된 텍스트에 추가되었으며 ONE부터 계산
i2=배열크기(심볼1) ; // 검색 루프 종료
}
}
}
리턴(텍스트신규);
}
안녕하세요!
어드바이저에서 이메일로 csv 형식의 데이터를 자동으로 보내는 방법을 알려주십시오(또는 예제에 대한 링크를 제공)?
고맙습니다.