Expert Advisors 구현에 대한 논의. - 페이지 7

 
안녕하세요 동료, 교차로에서 거래를 열고 닫는 2 개의 지표를 기반으로 어드바이저를 만들 수있는 엄청난 요청, 사진을보고, 직접 시도했지만 아무 일도 일어나지 않았습니다 (((((
 
katrina87 :
안녕하세요 동료, 교차로에서 거래를 열고 닫는 2 개의 지표를 기반으로 어드바이저를 만들 수있는 엄청난 요청, 사진을보고, 직접 시도했지만 아무 일도 일어나지 않았습니다 (((((

나는 그것을 직접 사용하지 않았다. 방금 코드베이스에서 그를 만났습니다. 당신에게 맞는지보십시오. 그건 그렇고, 코드 기반에는 더 많은 조언자가 있습니다. 검색하는 사이트는 구글링하시면 됩니다. https://www.mql5.com/ru/code/12375

Советник на основе отскока от границы канала МА
Советник на основе отскока от границы канала МА
  • www.mql5.com
Для торговли используются показания индикатора Moving Average. Если цена отклонилась от линии Moving Average на определенное количество пунктов, то выставляется ордер в сторону линии Moving Average. Советник может приносить прибыль, но она получается маленькой. Также для него требуется большой депозит. На рисунке сплошная красная линия —...
 
안녕하세요, 저는 거래 로봇 을 만들고 싶습니다. 아이디어는 간단하고 독창적입니다. 우선 이러한 수준의 강도를 표시하기 위해 저항 지지 수준 표시기가 필요합니다. 예: 높음 중간 낮음. 어떤 제안이 있습니까? 미리 감사드립니다.
 
paradisehell1 :
안녕하세요, 저는 거래 로봇 을 만들고 싶습니다. 아이디어는 간단하고 독창적입니다. 우선, 이러한 동일한 수준의 강도를 표시하려면 저항 지지 수준 표시기가 필요합니다. 예: 높음 중간 낮음. 어떤 제안이 있습니까? 미리 감사드립니다.

프리랜서는 사상의 거인이자 러시아 민주주의의 아버지를 구할 것입니다.

 
paradisehell1 :
안녕하세요, 저는 거래 로봇 을 만들고 싶습니다. 아이디어는 간단하고 독창적입니다. 우선 이러한 수준의 강도를 표시하기 위해 저항 지지 수준 표시기가 필요합니다. 예: 높음 중간 낮음. 어떤 제안이 있습니까? 미리 감사드립니다.

이 아이디어가 훌륭하다는 것은 나에게 분명하지 않습니다. 이에 대한 동기는 없습니다. 나는 누군가를 위해 말할 책임이 없지만, 그들과 똑같다는 것을 알려주는 무언가가 있습니다. 이렇게 모든 것을 설정할 수 있습니다. 이 시스템을 사용하여 수동으로 거래된 통계를 데모 또는 실제에서 최소 몇 개월 동안 배치하십시오. 한 달에 얼마나 많은 %를 얻었는지, 마진 수준과 손실액은 얼마였습니까? 흥미로운 지표가 있으면 무료로 편지를 쓸 사람을 쉽게 찾을 수 있습니다. 따라서 코드베이스에서 무언가를 검색할 수 있습니다. 그건 그렇고, 프로그래머의 작업은이 사이트에서 매우 저렴합니다.

 
안녕하세요! 내 질문이 이미 여러 번 제기되었다고 거의 100% 확신합니다. 따라서 누군가가 어디를 봐야하는지 알려 주시면 매우 감사하겠습니다. 문제는 - 어드바이저에서 특정 이익에 도달했을 때 거래를 중지할 수 있는 가능성을 구현하는 방법입니다. 이익이 200달러라고 가정해 봅시다. 그게 전부입니다. 우리는 오늘 더 이상 거래하지 않습니다.
 
altec3 :
안녕하세요! 내 질문이 이미 여러 번 제기되었다고 거의 100% 확신합니다. 따라서 누군가가 어디를 봐야하는지 알려 주시면 매우 감사하겠습니다. 문제는 - 어드바이저에서 특정 이익에 도달했을 때 거래를 중지할 수 있는 가능성을 구현하는 방법입니다. 이익이 200달러라고 가정해 봅시다. 그게 전부입니다. 우리는 오늘 더 이상 거래하지 않습니다.

MT4용인가요 MT5용인가요?

포지션을 열기 직전에 해당 기간 동안 이익이 더 크면 체크를 하십시오 - 엑시트

 void OnTick ()
 {
 ...
 if (GetProfitHistoryInCurrency( _Symbol , 0 , Magic) > 200 ) // 0 - сегодня, 1 - вчера, 2 -позавчера
   return ;
 
 OrderSend (...);


전체 분기를 읽으십시오. 필요한 코드가 있습니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

EA에서 마감된 주문 수를 계산하는 방법

비탈리 무지첸코 , 2016.04.12 10:36

 //===============================================================================================
//---------------------- Возвращает профит за выбранный период с истории -----------------------+
//===============================================================================================
double GetProfitHistoryInCurrency( string symb= "0" , int index=- 1 , int mg=- 1 ) {
 if (symb== "0" ) { symb= Symbol ();}
 datetime DailyStartTime= iTime (symb, PERIOD_D1 ,index);
 double DailyProfit= 0 ;
   for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {
     if (( OrderSymbol ()==symb || symb== "" ) && (mg< 0 || OrderMagicNumber ()==mg)) {
     if (( OrderCloseTime ()>=DailyStartTime && OrderCloseTime ()<DailyStartTime+ 86400 ) || index< 0 )
      DailyProfit+=( OrderProfit ()+ OrderCommission ()+ OrderSwap ());
 }}}
   return (DailyProfit);
 }
Использование:  GetProfitHistoryInCurrency(_Symbol, 0 , Magic); // 0 - сегодня, 1 - вчера, 2 -позавчера

 
Vitaly Muzichenko :

MT4용인가요 MT5용인가요?

포지션을 열기 직전에 해당 기간 동안 이익이 더 크면 체크를 하십시오 - 엑시트


전체 분기를 읽으십시오. 필요한 코드가 있습니다.


감사합니다 꼭 볼게요! 예, 코드는 MT5에 필요합니다.
 

안녕하세요!

현재 날짜의 이익을 결정하는 함수를 작성하려고 합니다.

 //+------------------------------------------------------------------+
//|Функция возвращает прибыль за текущие сутки                       |
//+------------------------------------------------------------------+
double Day_Profit()
  {
//--Запрашиваем историю сделок за последнии сутки
   HistorySelect ( TimeCurrent ()- PeriodSeconds ( PERIOD_D1 ), TimeCurrent ());
   uint      total       = HistoryDealsTotal ();   // количество сделок в истории
   ulong     ticket      = 0 ;                     // тикет сделки в истории
   long      type        = 0 ;                     // тип сделки
   double    profit      = 0.0 ;                   // финансовый результат сделки
   double    commission  = 0.0 ;                   // коммиссия по сделке
   double    DayProfit   = 0.0 ;                   // прибыль за текущие сутки
//--- for all deals
   for ( uint i= 0 ; i<total; i++)
     {
       if ((ticket= HistoryDealGetTicket (i))> 0 )       //--- если имеются сделки, то...
        {
         profit      = HistoryDealGetDouble (ticket, DEAL_PROFIT );
         commission  = HistoryDealGetDouble (ticket, DEAL_COMMISSION );
         if ( HistoryDealGetInteger (ticket, DEAL_TYPE )!= DEAL_TYPE_BALANCE )
           {
            DayProfit+=(profit+commission);
           }
        }
     }
   return (DayProfit);
  }
//+------------------------------------------------------------------+

기능이 어떻게 되는지 알려주세요

 HistorySelect (datetime from_date,datetime to_date)
현재 날짜부터 시작하는 기간을 지정합니다. 기간의 끝이 to_date=TimeCurrent()인 것이 분명합니다. 현재 날짜로부터 정확히 00h:00m:00부터 시작하도록 from_date 기간의 시작을 올바르게 지정하는 방법은 무엇입니까?
 
altec3 :
안녕하세요! 함수에서 현재 날짜부터 시작하는 기간을 지정하는 방법을 알려주세요. 기간의 끝이 to_date=TimeCurrent()인 것이 분명합니다. 현재 날짜부터 정확히 00:00:00부터 시작하도록 from_date 기간의 시작을 올바르게 지정하는 방법은 무엇입니까?

오늘 적어도 하나의 틱이 있다고 가정하면 알고리즘은 다음과 같습니다. 현재 시간을 MqlDateTime 구조로 보냅니다 . 그런 다음 이 구조에서 시, 분, 초를 재설정합니다. 시간이 지남에 따라 편집된 구조를 변형해야 합니다.

 //+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   MqlDateTime STimeCurrent;
   TimeToStruct ( TimeCurrent (),STimeCurrent);
   STimeCurrent.hour= 0 ;
   STimeCurrent.min= 0 ;
   STimeCurrent.sec= 0 ;
   datetime start_day= StructToTime (STimeCurrent);
   Print (start_day);
  }
//+------------------------------------------------------------------+


결과:

 2020.09 . 03 00 : 00 : 00
파일:
1.mq5  3 kb