MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1695 1...168816891690169116921693169416951696169716981699170017011702...1953 새 코멘트 EVGENII SHELIPOV 2021.10.24 17:19 #16941 MakarFX # : Makar 감사합니다. 이제 고문에게 나사로 연결하고 살펴보겠습니다. EVGENII SHELIPOV 2021.10.24 17:46 #16942 MakarFX # : Makar 감사합니다 모든 것이 내가 원하는 대로 작동합니다. 감사해요!!! EVGENII SHELIPOV 2021.10.24 17:48 #16943 MakarFX # : 하루 안에 불필요한 줄을 스스로 삭제하고 싶습니다. 미리 감사드립니다!!! Tretyakov Rostyslav 2021.10.24 18:14 #16944 EVGENII SHELIPOV # : 하루 안에 불필요한 줄을 스스로 삭제하고 싶습니다. 미리 감사드립니다!!! int OnInit () { if ((UseHour== 1 &&Hour()>=StartTime&&Hour()<=StopTime)||UseHour== 0 ) { ObjectCreate ( 0 , "Начало торговли" + TimeToString (Time[ 0 ], TIME_DATE ), OBJ_VLINE , 0 ,Time[ 0 ]+(StartTime* 3600 ), 0 ); ObjectSetInteger ( 0 , "Начало торговли" + TimeToString (Time[ 0 ], TIME_DATE ), OBJPROP_COLOR , clrBlue ); ObjectCreate ( 0 , "Окончание торговли" + TimeToString (Time[ 0 ], TIME_DATE ), OBJ_VLINE , 0 ,Time[ 0 ]+(StopTime* 3600 ), 0 ); ObjectSetInteger ( 0 , "Окончание торговли" + TimeToString (Time[ 0 ], TIME_DATE ), OBJPROP_COLOR , clrBlue ); } //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ void OnTick () { if ((UseHour== 1 &&Hour()>=StartTime&&Hour()<=StopTime)||UseHour== 0 ) { if ( ObjectFind ( 0 , "Начало торговли" + TimeToString (Time[ 1 ], TIME_DATE ))== 0 ) { ObjectMove ( 0 , "Начало торговли" + TimeToString (Time[ 0 ], TIME_DATE ), 0 ,Time[ 0 ]+(StartTime* 3600 ), 0 ) ObjectMove ( 0 , "Окончание торговли" + TimeToString (Time[ 0 ], TIME_DATE ), 0 ,Time[ 0 ]+(StopTime* 3600 ), 0 ) } if (CountTrade( 0 )== 0 && CountTrade( 1 )== 0 && TradeSignal()== 0 ) SendFirsOrder( 0 ); if (CountTrade( 1 )== 0 && CountTrade( 0 )== 0 && TradeSignal()== 1 ) SendFirsOrder( 1 ); } //----- } Maxim Kuznetsov 2021.10.24 18:42 #16945 Nerd Trader # : 도움말에서: "반복되지 않는 시퀀스를 얻으려면 GetTickCount( ) 값이 운영 체제 시작 이후 증가하고 49일 동안 반복되지 않으므로 MathSrand(GetTickCount()) 호출을 사용하십시오." 계산기에서 계산 - rand() 함수에 대해 몇 번 시도한 후 첫 번째 반복 값(이전에 생성된 값 중 하나)을 얻습니다. Volodymyr Zubov 2021.10.24 18:58 #16946 내 경험에서 - 키릴 문자를 쓰지 마십시오 ECN MT4 열기 /+----------------------------------------------------------------------------+ //| Функция открытия ордера (c) BeerGod 2015 | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - текущий символ) | //| op - операция | //| ll - лот | //| sl - уровень стоп | //| tp - уровень тейк | //| mn - MagicNumber | //+----------------------------------------------------------------------------+ // OpenPosition(string symbol,int operation,double volume,int slippage,double stoploss,double takeprofit,string comment,int magic,color); int OpenPosition( string sy, int op, double ll, int Slippage, int sl, int tp, string comment, int mn, color Color) { if (op == 0 ) // открытие BUY { // проверяем доступность свободных средств if ((AccountFreeMarginCheck(sy,OP_BUY,ll)<= 0 ) || ( GetLastError ()== 134 )) { Print (sy, " " ,ll, " It is impossible to open the order Buy, not enough money." ); return ( 0 ); } RefreshRates(); // открываем ордер int ticketbuy = OrderSend (sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage, 0 , 0 ,comment,mn, 0 ,Color); if (ticketbuy< 0 ) Print (sy, " OpenPosition. OrderSend Buy fail #" , GetLastError ()); else Print (sy, " OpenPosition. OrderSend Buy successfully" ); // Sleep (Pause); // модифицируем ордер (выставляем тейпрофит и стоплосс) if (sl != 0 || tp != 0 ) { //--- вычисленные значения цен SL и TP должны быть нормализованы double BSLoss = NormalizeDouble (MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT),( int )MarketInfo(sy,MODE_DIGITS)); double BTProfit = NormalizeDouble (MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT),( int )MarketInfo(sy,MODE_DIGITS)); //--- если входящие значения ноль то заменяем цену модификации на ноль if (sl == 0 ) BSLoss = 0 ; if (tp == 0 ) BTProfit = 0 ; bool resbuy = OrderModify(ticketbuy,OrderOpenPrice(),BSLoss,BTProfit, 0 , clrNONE ); if (!resbuy) Print (sy, " OpenPosition. OrderModify Buy fail #" , GetLastError ()); else Print (sy, " OpenPosition. OrderModify Buy successfully" ); } } if (op == 1 ) // открытие Sell { // проверяем доступность свободных средств if ((AccountFreeMarginCheck(sy,OP_SELL,ll)<= 0 ) || ( GetLastError ()== 134 )) { Print (sy, " " ,ll, " It is impossible to open the order Sell, not enough money." ); return ( 0 ); } RefreshRates(); // открываем ордер int ticketsell = OrderSend (sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage, 0 , 0 ,comment,mn, 0 ,Color); if (ticketsell< 0 ) Print (sy, " OpenPosition. OrderSend Sell fail #" , GetLastError ()); else Print (sy, " OpenPosition. OrderSend Sell successfully" ); // Sleep (Pause); // модифицируем ордер (выставляем тейпрофит и стоплосс) if (sl != 0 || tp != 0 ) { //--- вычисленные значения цен SL и TP должны быть нормализованы double SSLoss = NormalizeDouble (MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT),( int )MarketInfo(sy,MODE_DIGITS)); double STProfit = NormalizeDouble (MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT),( int )MarketInfo(sy,MODE_DIGITS)); //--- если входящие значения ноль то заменяем цену модификации на ноль if (sl == 0 ) SSLoss = 0 ; if (tp == 0 ) STProfit = 0 ; bool ressell = OrderModify(ticketsell,OrderOpenPrice(),SSLoss,STProfit, 0 , clrNONE ); if (!ressell) Print (sy, " OpenPosition. OrderModify Sell fail #" , GetLastError ()); else Print (sy, " OpenPosition. OrderModify Sell successfully" ); } } return ( 0 ); } //--- End --- ANDREY 2021.10.25 00:31 #16947 모두에게 좋은 하루! MQL4의 동적 2차원 배열에 대한 기본 정보가 있는 곳을 알려주세요. 우선, 그것을 만드는 방법? 사용 방법? 어떤 기능이 적용됩니까? 고맙습니다. Valeriy Yastremskiy 2021.10.25 10:27 #16948 ANDREY # : 모두에게 좋은 하루! MQL4의 동적 2차원 배열에 대한 기본 정보가 있는 곳을 알려주세요. 우선, 그것을 만드는 방법? 사용 방법? 어떤 기능이 적용됩니까? 고맙습니다. 어레이 문서 그리고 역학은 첫 번째 차원에만 있습니다. 나머지 차원은 정적입니다. Объект динамического массива - Типы данных - Основы языка - Справочник MQL4 docs.mql4.com Объект динамического массива - Типы данных - Основы языка - Справочник MQL4 Artyom Trishkin 2021.10.25 11:14 #16949 Valeriy Yastremskiy # : 어레이 문서 그리고 역학은 첫 번째 차원에만 있습니다. 나머지 차원은 정적입니다. CArray 및 이와 유사한 기타 - 모든 차원의 동적 배열을 만들고 모든 차원에서 크기를 조정할 수 있습니다. Документация по MQL5: Стандартная библиотека / Коллекции данных www.mql5.com Коллекции данных - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 ANDREY 2021.10.25 13:05 #16950 Artyom Trishkin # : CArray 및 이와 유사한 기타 - 모든 차원의 동적 배열을 만들고 모든 차원에서 크기를 조정할 수 있습니다. 도와 주셔서 감사합니다. 그러나 MQL5와 관련된 동적 어레이에 대한 정보에 대한 링크를 제공합니다. 그리고 저는 여전히 MQL4를 배우고 있습니다. 또는 동적 배열과 관련하여 MQL5의 코드도 해당 언어에 적합합니다. MQL4? 고맙습니다. 1...168816891690169116921693169416951696169716981699170017011702...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
Makar 감사합니다. 이제 고문에게 나사로 연결하고 살펴보겠습니다.
Makar 감사합니다 모든 것이 내가 원하는 대로 작동합니다. 감사해요!!!
하루 안에 불필요한 줄을 스스로 삭제하고 싶습니다.
미리 감사드립니다!!!
하루 안에 불필요한 줄을 스스로 삭제하고 싶습니다.
미리 감사드립니다!!!
도움말에서:
"반복되지 않는 시퀀스를 얻으려면 GetTickCount( ) 값이 운영 체제 시작 이후 증가하고 49일 동안 반복되지 않으므로 MathSrand(GetTickCount()) 호출을 사용하십시오."
계산기에서 계산 - rand() 함수에 대해 몇 번 시도한 후 첫 번째 반복 값(이전에 생성된 값 중 하나)을 얻습니다.
내 경험에서 - 키릴 문자를 쓰지 마십시오
ECN MT4 열기
모두에게 좋은 하루!
MQL4의 동적 2차원 배열에 대한 기본 정보가 있는 곳을 알려주세요. 우선, 그것을 만드는 방법? 사용 방법? 어떤 기능이 적용됩니까?
고맙습니다.
모두에게 좋은 하루!
MQL4의 동적 2차원 배열에 대한 기본 정보가 있는 곳을 알려주세요. 우선, 그것을 만드는 방법? 사용 방법? 어떤 기능이 적용됩니까?
고맙습니다.
어레이 문서
그리고 역학은 첫 번째 차원에만 있습니다. 나머지 차원은 정적입니다.어레이 문서
그리고 역학은 첫 번째 차원에만 있습니다. 나머지 차원은 정적입니다.CArray 및 이와 유사한 기타 - 모든 차원의 동적 배열을 만들고 모든 차원에서 크기를 조정할 수 있습니다.
CArray 및 이와 유사한 기타 - 모든 차원의 동적 배열을 만들고 모든 차원에서 크기를 조정할 수 있습니다.
도와 주셔서 감사합니다. 그러나 MQL5와 관련된 동적 어레이에 대한 정보에 대한 링크를 제공합니다. 그리고 저는 여전히 MQL4를 배우고 있습니다. 또는 동적 배열과 관련하여 MQL5의 코드도 해당 언어에 적합합니다. MQL4?
고맙습니다.