적은 코드, 더 많이 사용합니다. Expert Advisor 작성 - 페이지 7

 
Maxim Kuznetsov :

어떤 Ichimokov 구성 요소에 대해 래퍼를 원하십니까? 그리고 가장 중요한 것은 왜 그리고 무엇을 ...
그냥 해? 아마도, 왜 안되는지.

추신/엑셀을 보았습니까? DataFrame에서 Ichimoki는 동일하게 보입니다. 다른 모든 사람들과 마찬가지로.. 트레이더는 실제로 테이블로 작업합니다. 그래픽 차트는 피벗 테이블의 개인적인 표현(보기)일 뿐입니다. 따라서 이 데이터를 테이블과 같이 취급해야 합니다.
상인의 관점에서 - 소프트웨어 개체란 무엇입니까??? 예 아무것도. 그의 실제 생활에는 그러한 생물이 없습니다.

프로그래머를 위해, 심지어 초보자를 위해 하고 있습니까, 아니면 그냥 누구를 위해 하고 있습니까?

 
Vladimir Simakov :

나는 바로 이 명령의 개시를 통제하면서 그것을 썼습니다.

이해하지 못했습니다. 미완성 버전을 게시 했습니까?

 
Vladimir Simakov :

일반적인 고려를 위해 mql4에 있지만 Ichimoku에 대한 래퍼 클래스의 예입니다.

왜 간단한 일을 그렇게 복잡하게 만드는가? 한 줄만 작성하여 표시기를 사용할 수 있도록 모든 것이 MT4에서 수행되었습니다.

나는 보통 다음과 같이 썼다.

 #define ind1( int bar_) ind1(inp_param1, int ... , int bar_) 
double ind1( int param1, int ... , int bar)

{
тут можно предобработку описать, если необходимо
return ( iCustom (,,,,,, bar))
}

OnTick ()
{
 if (ind1( 1 ) > ind1(2)) BUY();
}

이 접근 방식을 사용하면 OnTick()은 15-20줄의 코드를 사용합니다. 여기에서 모든 논리가 표시되고 수정을 위해 신속하게 수정됩니다. 조건이 다시 작성되거나 표시기가 추가됩니다.

IMHO, OOP는 간단한 작업을 복잡한 작업으로 바꾸어 놓았습니다. 포인터를 통해 개체가 생성되면 TF의 전환을 제어해야 하고, 호출할 때마다 불필요한 조작, 메모리 소비가 증가합니다.... 왜?

 
Vladimir Simakov :

프로그래머를 위해, 심지어 초보자를 위해 하고 있습니까, 아니면 그냥 누구를 위해 하고 있습니까?

나는 초보자를 위해 그것을합니다.

누구에게 코드를 제공했습니까? 표준 표시기를 완전히 반복하고 새로운 것을 허용하지 않습니다. 새로운 방식으로 그런 오래된 노래. 새 엔티티를 사용하면 클래스가 하나 더 추가되고 포함이 하나 더 추가됩니다.

코드는 왜 만들어졌나요? 예를 들어 S20에서는 사용할 수 없습니다. 물리적으로 임의의 ohlc에서 사용할 수 없습니다. 그리고 어디에서 더 성장할 수 있는 클래스를 생성할 수 있습니까?

 
fxsaber :

이해하지 못했습니다. 미완성 버전을 게시 했습니까?

따라서 주문을 열거나 닫는 것을 제어할 수 없지만 저는 괜찮습니다. 적어도 Forex Club에서는 작동합니다. 나는 오늘 CloseBy를 무릎에 꿇고 라이브러리에 붙였습니다. 끝내고 끝내야 할 피드백이 아직 남아 있다고 썼습니다. 예를 들어, 동일한 티켓이 변경되거나 변경되지 않습니까? Forex Club은 그렇지 않지만 다른 사람들은? 즉, 클래스의 필수 필드 등을 변경하기 위해서는 이를 제어할 필요가 있다. 그러나 이 모든 작업이 완료되고 디버깅되면 작성하는 것이 즐겁습니다.

 
Vladimir Simakov :

따라서 주문을 열거나 닫는 것을 제어할 수 없지만 저는 괜찮습니다. 적어도 Forex Club에서는 작동합니다. 나는 오늘 CloseBy를 무릎에 꿇고 라이브러리에 붙였습니다. 끝내고 끝내야 할 피드백이 아직 남아 있다고 썼습니다. 예를 들어, 동일한 티켓이 변경되거나 변경되지 않습니까? Forex Club은 아니지만 다른 사람들은? 즉, 클래스의 필수 필드 등을 변경하기 위해서는 이를 제어할 필요가 있다. 그러나 이 모든 작업이 완료되고 디버그되면 작성하는 것이 즐겁습니다.

다시 한 번 반복하지만 코드가 작동하지 않고 두 번째 코드가 작동하지 않습니다.

 
Maxim Kuznetsov :

나는 초보자를 위해 그것을합니다.

누구에게 코드를 제공했습니까? 표준 표시기를 완전히 반복하고 새로운 것을 허용하지 않습니다. 새로운 방식으로 그런 오래된 노래. 새 엔티티를 사용하면 클래스가 하나 더 추가되고 포함이 하나 더 추가됩니다.

코드는 왜 만들어졌나요? 예를 들어 S20에서는 사용할 수 없습니다. 물리적으로 임의의 ohlc에서 사용할 수 없습니다. 그리고 어디에서 더 성장할 수 있는 클래스를 생성할 수 있습니까?

순전히 편의를 위한 것입니다.

데이터 세그먼트에서:

CIchimoku ind1(EURUSD, PERIOD_M5,5,10,15 );

CIchimoku ind1(GBPUSD,0,10,25,30,2);

결과적으로 두 개의 지표가 있습니다. 첫 번째 지표는 m5 시간 프레임에 있지만 두 번째 지표는 항상 차트의 현재 시간 프레임에서 +2 시간 프레임만큼 이동합니다.

 
fxsaber :

다시 한 번 반복하지만 코드가 작동하지 않고 두 번째 코드가 작동하지 않습니다.

 
Vladimir Simakov :
expert Test (EURUSD,M1) loaded successfully
'35286172' : market buy 0.20 EURUSD
'35286172' : accepted market buy 0.20 EURUSD
'35286172' : market buy 0.20 EURUSD placed for execution
'35286172' : order # 2214667209 buy 0.20 / 0.20 EURUSD at market done in 172.415 ms
'35286172' : market sell 0.10 EURUSD
'35286172' : deal # 2211904952 buy 0.20 EURUSD at 1.12941 done (based on order # 2214667209 )
'35286172' : accepted market sell 0.10 EURUSD
'35286172' : market sell 0.10 EURUSD placed for execution
'35286172' : order # 2214667210 sell 0.10 / 0.10 EURUSD at market done in 171.843 ms
'35286172' : deal # 2211904953 sell 0.10 EURUSD at 1.12936 done (based on order # 2214667210 )
expert Test (EURUSD,M1) removed

쟁기질하지 않습니다.


그리고 이것은 두 번째 코드입니다.

script Test4 (EURUSD,M1) loaded successfully
'35286172' : market sell 1.00 EURUSD
'35286172' : accepted market sell 1.00 EURUSD
'35286172' : market sell 1.00 EURUSD placed for execution
'35286172' : order # 2214667234 sell 1.00 / 1.00 EURUSD at market done in 174.294 ms
'35286172' : deal # 2211904975 sell 1.00 EURUSD at 1.12936 done (based on order # 2214667234 )
'35286172' : market buy 1.00 EURUSD
'35286172' : accepted market buy 1.00 EURUSD
'35286172' : market buy 1.00 EURUSD placed for execution
'35286172' : order # 2214667235 buy 1.00 / 1.00 EURUSD at market done in 175.016 ms
'35286172' : deal # 2211904976 buy 1.00 EURUSD at 1.12941 done (based on order # 2214667235 )
'35286172' : close position # 2214667235 buy 1.00 EURUSD by position # 2214667234 sell 1.00 EURUSD
'35286172' : accepted close position # 2214667235 buy 1.00 EURUSD by position # 2214667234
'35286172' : deal # 2211904977 sell 1.00 EURUSD at 1.12936 done (based on order # 2214667236 )
'35286172' : close position # 2214667235 buy 1.00 EURUSD by position # 2214667234 done in 67.893 ms
script Test4 (EURUSD,M1) removed
쟁기.
 
Vladimir Simakov :

순전히 편의를 위한 것입니다.

데이터 세그먼트에서:

CIchimoku ind1(EURUSD, PERIOD_M5,5,10,15 );

CIchimoku ind1(GBPUSD,0,10,25,30,2);

결과적으로 두 개의 지표가 있습니다. 첫 번째 지표는 m5 시간 프레임에 있지만 두 번째 지표는 항상 차트의 현재 시간 프레임에서 +2 시간 프레임만큼 이동합니다.

하지만 괜찮습니다. 다른 시간대의 지표를 언급하기 전에 여전히 탬버린을 두드리고 춤을 추어야 합니까?

누가 그것을 할 것인가 .. 글쎄, 분명히 사용자 - 그에게 Zen과 비중국어의 수완을 동시에 알려주십시오 :-)

편리한 표시기 인터페이스와 버퍼로의 분해는 플랫폼에서 제공됩니다. 그래서 이미 한 일과 잘한 일을 반복하는가? .. '클래스'라는 단어에 익숙하다는 것을 보여주세요.