코딩하는 방법? - 페이지 263

 

선을 위아래로 드래그 할 수 있습니까 ... ??

여보세요,

별도의 표시기 창에 있는 레벨 라인(또는 "유효" 레벨 라인)을 수동으로 이동(즉, "드래그")하고 새 설정 값을 EA 시작 및 종료에 사용하는 EA에서 업데이트할 수 있습니다. 거래?

나는 줄을 이동할 수 있는 드래그 앤 드롭 스크립트가 있다는 것을 읽었지만 EA에서 그러한 스크립트를 통합/연결하는 것이 가능한지 모르겠습니다.

 
 
yourspace:
안녕

어쩌면 맞을 수도 있습니다. 시도해 볼 수 있습니다.

이중 upper_red = iCustom(NULL,0,"DDM",Nmbr_Bars,Order,Ecart,3,0);

아무것도 변하지 않지만 어쨌든 반응을위한 탱크.

누군가가 지표를 닮은 모양을 알고 있습니까?

편집 : 나는 그것을 해결했습니다. 표시기 " i-Regr H & L"은 거의 동일합니다. 이것은 정상적으로 그립니다.

 

견적 보호기

안녕,

실제 틱 데이터를 csv 파일에 저장하고 싶습니다. 매주 또는 매월 하나의 CSV 파일을 저장하고 싶습니다.

그래서 내 init-function에서 나는 새 파일을 열 것이고 내가 하는 모든 틱은

FileWrite(handle_tick,TimeToStr(CurTime(),TIME_DATE|TIME_MINUTES|TIME_SECONDS),Bid,Ask);

이제 몇 가지 문제/질문이 있습니다.

1.

파일 쓰기에 문제가 있는 경우 구멍(주/월)에 대해 ea가 중지되어 다시 열 수 없습니다.

- 매 틱마다 FileOpen(...)을 작성해야 하나요? 아니면 FileFlush(..)를 사용해야 합니까?

2.

절약된 시간에도 문제가 있었습니다. 차트 시간 또는 히스토리 센터의 시간과 비교하면 큰 차이가 있습니다(정적이 아닌 경우, 예를 들어 39분 또는 87분).

CurTime 또는 몇시를 저장해야합니까??

삼.

인터넷 연결에 약간의 중단이 있습니다(예: 2-5분, 하루에 약 3번).

저장된 견적을 자동으로 확인하여 ea가 기록에서 누락된 mintues-data를 가져오도록 하려면 어떻게 해야 합니까?

인터넷 연결이 끊긴 경우 틱 데이터를 어떻게 얻을 수 있습니까? 지난 몇 시간 동안 히스토리 센터 또는 버퍼가 있습니까?

4.

단일 csv-따옴표 파일을 자동으로 결합하는 쉬운 방법을 아는 사람이 있습니까?

5.

Ger30과 같은 cfd의 틱 및 분 데이터도 저장하고 싶습니다! .csv 파일을 매월 저장하지만 3개월마다 오는 새 계약은 해당 월에 변경됩니다. 그러면 EA는 실제 기본(계약 "Juli"가 더 이상 유효하지 않지만 지금은 예를 들어 9월 계약)이 더 이상 작동하지 않기 때문에 데이터를 찾을 수 없습니다.

해당 문제에 대해 이미 신뢰할 수 있는 EA가 있습니까?

 

모든 FileWrite 후에는 모든 쓰기 후에 데이터가 디스크에 기록되도록 파일 플러시를 수행해야 합니다. 플러시가 사용되지 않으면 파일 시스템은 쓰기를 메모리 버퍼에 저장한 다음 효율성을 위해 버퍼의 모든 레코드를 디스크에 씁니다. 이것이 기록을 잃는 이유일 수 있습니다. ea가 멈추고 기억 기록을 잃게 됩니다. 파일 플러시는 각 레코드를 디스크에 기록하지만 더 느리지만 모두 가지고 있음을 보장합니다. 파일 플러시를 사용하면 EA가 실행되는 동안 Excel을 사용하여 파일을 열고 읽기 전용 모드에서 검사할 수 있습니다.

deinit 함수 에서 파일 핸들이 > 0인지 확인한 다음 파일을 닫습니다.

이것은 메모리 버퍼를 자동으로 플러시합니다.

여는 동안 디스크에 새 파일을 만들거나 기존 파일에 추가하는 옵션이 있습니다. 기존 파일 방법에 추가를 사용해야 하는 것 같습니다. 이렇게 하면 파일 병합이 자동으로 해결됩니다. Excel의 개별 인스턴스에서 각 CSV 파일을 열고 잘라내어 붙여넣을 수 있으며 메모장을 사용할 수도 있습니다. Excel에서 병합된 파일을 CSV로 저장하거나 Excel을 데이터베이스로 사용하여 병합된 정보를 XLSX 형식으로 저장할 수 있습니다. 또는 무료인 MS에서 VB 익스프레스를 얻고 VB를 배우고 해당 언어로 파일 병합을 작성할 수 있습니다.

가장 좋은 방법은 진드기를 절약하는 다른 예를 검색하는 것입니다.

건배

 

또 다른 질문이 있습니다.

6.

내 틱 파일에 입찰, 매도 및 거래량을 저장하는 것이 유용합니까?

7.

메타트레이더 4 또는/및 5로 tickdata를 백테스트하는 방법에 대한 튜토리얼이 있는 사람이 있습니까?

저를 도와줄 전문가가 있습니까?! 비밀댓글 로 답장도 가능합니다...

고맙습니다!

줄리아

 

특히 CFD는 어떻습니까? 그들은 3개월마다 계약을 변경합니다! 그러면 내 tick-saver.mq4에서 기본 변경 사항이 자동으로 발생하고 틱을 잃지 않도록 어떻게 프로그래밍할 수 있습니까?

 

안녕하세요 여러분, 여러 차트에서 1EA를 사용하는 데 도움이 필요합니다!!

내 질문 요약:

total = OrdersTotal() 변수를 사용하여 한 번에 1개만 주문하는 EA가 있습니다. 새 주문은 해당 1개의 주문이 마감된 경우에만 열립니다.

동일한 통화 쌍에 2개의 미결제 주문이 없는 상태에서 2개의 다른 통화 쌍이 각각 1개의 미결제 주문을 가질 수 있도록 수정하려면 어떻게 해야 합니까?

내가 필요한 것은 이것을 할 수 있는 코드 줄입니다.

특정 magic#이 열려 있는 주문이 아직 없는 경우 1개 주문(예: with magic # 12345)합니다.

또는 동일한 주문 기호가 열려 있지 않은 경우 1개 주문하십시오.

--------------------------

내 문제의 더 긴 버전:

그래서 최근에 10개와 5개 SMA 라인이 교차할 때 주문을 기반으로 간단한 EA를 수정했습니다.

내 EURUSD 차트와 잘 작동하며 다음 코드 라인이 있기 때문에 구매 또는 판매 중 한 번에 하나의 주문만 합니다.

총계 = OrdersTotal();

if(총 < 1)

--그런 다음 주문을 합니다.

그러나 중복 EA를 생성하여 EURJPY 차트에 적용했을 때 코드를 다음으로 변경해야 했습니다.

총계 = OrdersTotal();

if(총 < 2)

-- EURUSD 차트에서 주문이 이미 열린 경우 주문을 하도록 합니다.

문제는 EURUSD 주문이 마감될 때 두 번째 EURJPY 주문이 열릴 수 있으며 EURJPY 주문이 이미 열려 있기 때문에 EURUSD EA가 새 주문을 하지 않는다는 것입니다.

나는 다른 쌍에 별도의 마법 번호를 부여합니다. 내 EURUSD 차트에서 매직# 22341로 주문을 열었고 EURJPY 차트에 새 변수를 사용해 보았습니다.

tott = 주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderMagicNumber() == 22341) //22341은 EURUSD 주문의 마법입니다.

총계 = OrdersTotal();

if(총 < 2 && 총계 == 참)

--그런 다음 EURJPY에 대한 주문이 이루어집니다.

하지만 EA가 자체적으로 실행되도록 하는 것은 복잡해집니다. 특히 EA를 실행하기를 원하는 USDJPY의 세 번째 통화 쌍을 추가하면 더욱 그렇습니다.

도움을 주시면 감사하겠습니다!!

편집하다:

나는 마법의 숫자를 사용하기로 결정했습니다.

총 = 0;

for(int i=0;i<OrdersTotal(); i++)

{

if(주문 선택(i, SELECT_BY_POS)==true)

{

if (OrderMagicNumber()==12341)

총++;

}

}

{

if(총 < 1)

--그러면 거래가 이루어질 것입니다.

 

틱데이터 백테스팅

선샤인,

"7. 메타트레이더 4 또는/또는 5로 tickdata를 백테스트하는 방법에 대한 튜토리얼이 있는 사람이 있습니까?"

오래된 빌드(제 생각에는 208)가 틱 데이터를 수행하는 마지막 빌드였습니다. 어딘가에 게시되었습니다. 먼저 TSD를 검색하십시오.

이 모든 것이 해결된다면 저도 사용하고 싶습니다. 나는 또한 이것이 TSD에 없을 수도 있지만 이것이 수용 가능하게 해결되는 스레드를 알고 있습니다.

빅비

 

EA가 이전 막대가 BB 위에서 닫혔다는 것을 깨닫도록 하는 방법은 무엇입니까?

안녕하세요 여러분,

막대가 볼린저밴드 외부에서 닫힐 때 EA가 기록하도록 한 다음 이전 막대에서 이런 일이 발생하면 거래를 시작하려고 합니다.

그리고 에마의 십자가 같은 것. 지금까지 내 코드는 다음과 같습니다.

int 막대, sll;

if( 닫기[0] > 볼린저밴드 ){

바 = 바;}

if( 막대+1 == 막대){

if(ema1>ema2){

sll = 1}

if ( 막대+2 == 막대 ){

바 = 0;}

불행히도 이것은 작동하지 않는 것 같으며 전역 변수뿐만 아니라 정적 변수로 만들려고도 했습니다. 그래서 누군가가 나를 올바른 방향으로 가리킬 수 있다면 가장 감사할 것입니다.

건배,

사페레

사유: