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

 
techmac:
숨겨진 손절매와 이익실현은 위험합니다. EA가 작동하지 않으면 EA를 닫을 수 없으며 브로커 측에서 EA를 중지할 수 있습니다.

친애하는 techmac,

EA가 작동하지 않는 이유, EA가 일반 라이브 또는 VPS에 지원하기 전에 수십 번 확인 및 테스트되지 않으면 ...........(아무것도 EA를 닫을 수 없음)에 대해 자세히 설명할 수 있습니까? 무슨 뜻인지 이해가 안 돼요 ??? ....(브로커 측에서 EA를 중지할 수 있음)....브로커의 허가/동의로 EA가 적용될 때 브로커가 중지할 수 있는 다른 이유. 숨겨진 매개 변수 이유 중 일부로 인해 의미하는 경우?

문안 인사

 
mladen:
네. 주문의 손절매 필드가 어떤 값으로 설정되고(그 라인이 표시됨) 원하는 가격으로 손절매를 실행하는 것이 브로커의 책임일 때("소프트" "숨겨진" 손절매와 달리 주문을 마감해야 하는 EA)

친애하는 MLADEN,

감사합니다. 친절합니다. 실제로 어떻게 작동하는지 정확히 이해하십시오.

우리 EA가 특정 포인트/레벨에서 숨겨진 sl/tp 및 브로커로부터 일부 숨겨진 활동(클라이언트 거래 활동을 처리하는 브로커 소프트웨어에 코딩, 추가 처리 허용 또는 거부)의 경우에 TP/SL을 실행하려고 시도하는 방법과 가능성이 있습니까? 그걸 막는 쪽?

lol, 그래서 이 경우, 누가 더 안정적이고 효과적이며 책임감 있는 EA 또는 중개인... ....요즘 중개업의 평판은...소프트웨어나 비인간적인 장비들이 더 성실하고 충성스럽습니다. .

문안 인사

 
mntiwana:
친애하는 MLADEN,

실제로 어떻게 작동하는지 정확히 이해해 주셔서 감사합니다.

lol, 그래서 이 경우, 누가 더 안정적이고 효과적이며 책임감 있는 EA 또는 브로커... .... 요즘 중개인의 평판은...소프트웨어와 비인간적인 감정 장비가 더 성실하고 충성스럽습니다. .

문안 인사

것은 다음과 같습니다.

SNB의 경우, 사람들이 "숨겨진" "소프트" 손절매 를 사용한다면, 그들은 무엇에 대해 환불받을 근거가 전혀 없었습니다(손절매 필드를 채우지 않았기 때문에 브로커는 무언가를 할 의무가 전혀 없었습니다. 그 명령과 함께). 그 필드를 채운 사람들은 또한 불만을 제기할 몇 가지 근거를 가지고 있었습니다. 모든 것을 되찾은 것은 아니지만 최소한 뭔가를 할 수 있다는 것입니다.

 
mladen:
내용은 다음과 같습니다. SNB의 경우 사람들이 "숨겨진" "소프트" 손절매를 사용하고 있다면 무엇이든 환불받을 근거가 없었습니다(손절매 필드를 채우지 않았기 때문에 브로커는 그러한 명령에 대해 무언가를 할 의무가 전혀 없음). 그 필드를 채운 사람들은 또한 불만을 제기할 몇 가지 근거를 가지고 있었습니다. 모든 것을 되찾은 것은 아니지만 적어도 뭔가를 할 수 있다는 것입니다.

친애하는 MLADEN,

다시 한 번 사물에 대한 전문가의 눈에 감사드립니다....그래서 전체적으로 ....상인의 손실이 확인되었습니다. 모든 경우에 이익이 의심되는 약간의 이유 때문에... 이런 식으로, 지금은 일상적입니다.

한 질문 보스, 시장 가격이 빛의 속도와 같이 너무 빠르게 떨어지거나 오르면....우리의 모든 손실 차단기(BE,SL 및 후행 정지)가 무시/거부/통과할 수 있는 기회와 가능성이 있습니까? .or....어떤 상황에서도 효과적으로 작동합니다.

문안 인사

 
mntiwana:
친애하는 MLADEN,

다시 한 번 사물에 대한 전문가의 눈에 감사드립니다....그래서 전체적으로 ....상인의 손실이 확인되었습니다. 모든 경우에 이익이 의심되는 약간의 이유 때문에... 이런 식으로, 지금은 일상적입니다.

한 질문 보스, 시장 가격이 빛의 속도와 같이 너무 빠르게 떨어지거나 오르면....우리의 모든 손실 차단기(BE,SL 및 후행 정지)가 무시/거부/통과할 수 있는 기회와 가능성이 있습니까? .or....어떤 상황에서도 효과적으로 작동합니다.

문안 인사

엠티와나

이러면 안되지만, 브로커와 맺은 계약서를 꼭 읽어보세요. 그러한 사항에 대한 세부 사항은 계약서에 명시되어야 합니다.

 

두 값의 교차를 확인 하는 가장 간단한 방법은 무엇입니까?

 
apprentice coder:
두 값의 교차를 확인하는 가장 간단한 방법은 무엇입니까?

비교하는 값에 따라 다릅니다. 구체적인 예를 들어주실 수 있나요?

 
mladen:
비교하는 값에 따라 다릅니다. 구체적인 예를 들어주실 수 있나요?

예: 두 평균의 교차

 

안녕하세요, 저는 EA에 몇 가지 문제가 있고 막다른 골목에 도달한 것 같습니다. 누군가 이 문제를 도와주시면 감사하겠습니다. 내 EA가 하루에 1번의 거래만 촉발하도록 하려고 합니다. 기본적으로 이것은 양초가 특정 양의 핍으로 벗어나면 거래를 시작하는 브레이크아웃 EA입니다. 그러나 EA가 하루에 1개의 거래만 트리거하도록 할 수 없는 것 같습니다.

​현재 내 거래가 이미 TP 또는 SL이 된 후 조건이 다시 충족되면 내 EA가 동일한 양초에서 다시 다른 거래를 트리거합니다.

누구든지 이 문제를 도와주시면 감사하겠습니다. 감사해요.

아래는 내 프로그래밍입니다.

문안 인사

//---- 입력 매개변수

외부 이중 TakeProfit = 1000.0;

extern 이중 랏 = 0.1;

외부 이중 손절매 = 980.0;

외부 정수 Entry_Hour_1st = 21;

//+----------------------------------------------- -------------------+

//| 전문가 초기화 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 전문가 초기화 해제 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 전문가 시작 기능 |

//+----------------------------------------------- -------------------+

정수 시작()

{

//+----------------------------------------------- -------------------+

//-- 트리거 트레이드

//+----------------------------------------------- -------------------+

int 티켓, 합계;

이중 TP_Value, SL_Value;

총계 = OrdersTotal(); // 현재 열려 있는 총 거래 수 확인

if(총 < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100))

{

if ((닫기[1] - 열기[1]) > 0.00100)

{

TP_Value = (닫기[1] - 열기[1]); // 긴 본문 값

SL_값 = (낮음[1] - 0.0010); // 오랫동안 항상 동일

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value,"내 EA",200,0,Green);

리턴(0);

}

if ((열기[1] - 닫기[1]) > 0.00100)

{

TP_Value = (열기[1] - 닫기[1]); // 짧은 바디 값

SL_값 = (낮음[1] - 0.0010); // 오랫동안 항상 동일

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value,"내 EA",200,0,Green);

리턴(0);

}

if ((열기[1] - 닫기[1]) <= 0.00100)

{

TP_Value = (높음[1] - 낮음[1]); // 헤드와 테일을 포함한 전체 양초의 값

SL_값 = (낮음[1] - 0.0010); // 오랫동안 항상 동일

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value,"내 EA",200,0,Green);

리턴(0);

}

}

if (Hour()==Entry_Hour_1st && ((낮음[1] - 낮음[0]) > 0.00100) && ((높음[1] - 낮음[1]) > 0.00100))

{

//------------------------------------------------ -------//

//-------- H7 롱 캔들 바디가 10핍 이상인 ​​경우 --------//

//------------------------------------------------ -------//

if ((닫기[1] - 열기[1]) > 0.00100)

{

TP_Value = (닫기[1] - 열기[1]); // 긴 본문 값

SL_값 = (높음[1] + 0.0010); // 짧게는 항상 동일

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value,"내 EA",200,0,Red);

리턴(0);

}

if ((열기[1] - 닫기[1]) > 0.00100)

{

TP_Value = (열기[1] - 닫기[1]); // 짧은 바디 값

SL_값 = (높음[1] + 0.0010); // 짧게는 항상 동일

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value,"내 EA",200,0,Red);

리턴(0);

}

if ((열기[1] - 닫기[1]) <= 0.00100)

{

TP_Value = (높음[1] - 낮음[1]); // 헤드와 테일을 포함한 전체 양초의 값

SL_값 = (높음[1] + 0.0010); // 짧게는 항상 동일

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value,"내 EA",200,0,Red);

리턴(0);

}

}

}

반환(0);

}

}

//+----------------------------------------------- -------------------+

 
tkuan77:
안녕하세요, 제 EA에 몇 가지 문제가 있어서 막다른 골목에 도달한 것 같습니다. 누군가 이 문제를 도와주시면 감사하겠습니다. 내 EA가 하루에 1개의 거래만 트리거하도록 하려고 합니다. 기본적으로 이것은 양초가 특정 양의 핍으로 벗어나면 거래를 시작하는 브레이크아웃 EA입니다. 그러나 EA가 하루에 1개의 거래만 트리거하도록 할 수 없는 것 같습니다.

​현재 내 거래가 이미 TP 또는 SL이 된 후 조건이 다시 충족되면 내 EA가 동일한 양초에서 다시 다른 거래를 트리거합니다.

누구든지 이 문제를 도와주시면 감사하겠습니다. 감사해요.

아래는 내 프로그래밍입니다.

문안 인사

//---- 입력 매개변수

외부 이중 TakeProfit = 1000.0;

extern 이중 랏 = 0.1;

외부 이중 손절매 = 980.0;

외부 정수 Entry_Hour_1st = 21;

//+----------------------------------------------- -------------------+

//| 전문가 초기화 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 전문가 초기화 해제 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 전문가 시작 기능 |

//+----------------------------------------------- -------------------+

정수 시작()

{

//+----------------------------------------------- -------------------+

//-- 트리거 트레이드

//+----------------------------------------------- -------------------+

int 티켓, 합계;

이중 TP_Value, SL_Value;

총계 = OrdersTotal(); // 현재 열려 있는 총 거래 수 확인

if(총 < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100))

{

if ((닫기[1] - 열기[1]) > 0.00100)

{

TP_Value = (닫기[1] - 열기[1]); // 긴 본문 값

SL_값 = (낮음[1] - 0.0010); // 오랫동안 항상 동일

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value,"내 EA",200,0,Green);

리턴(0);

}

if ((열기[1] - 닫기[1]) > 0.00100)

{

TP_Value = (열기[1] - 닫기[1]); // 짧은 바디 값

SL_값 = (낮음[1] - 0.0010); // 오랫동안 항상 동일

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value,"내 EA",200,0,Green);

리턴(0);

}

if ((열기[1] - 닫기[1]) <= 0.00100)

{

TP_Value = (높음[1] - 낮음[1]); // 헤드와 테일을 포함한 전체 양초의 값

SL_값 = (낮음[1] - 0.0010); // 오랫동안 항상 동일

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value,"내 EA",200,0,Green);

리턴(0);

}

}

if (Hour()==Entry_Hour_1st && ((낮음[1] - 낮음[0]) > 0.00100) && ((높음[1] - 낮음[1]) > 0.00100))

{

//------------------------------------------------ -------//

//-------- H7 롱 캔들 바디가 10핍 이상인 ​​경우 --------//

//------------------------------------------------ -------//

if ((닫기[1] - 열기[1]) > 0.00100)

{

TP_Value = (닫기[1] - 열기[1]); // 긴 본문 값

SL_값 = (높음[1] + 0.0010); // 짧게는 항상 동일

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value,"내 EA",200,0,Red);

리턴(0);

}

if ((열기[1] - 닫기[1]) > 0.00100)

{

TP_Value = (열기[1] - 닫기[1]); // 짧은 바디 값

SL_값 = (높음[1] + 0.0010); // 짧게는 항상 동일

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value,"내 EA",200,0,Red);

리턴(0);

}

if ((열기[1] - 닫기[1]) <= 0.00100)

{

TP_Value = (높음[1] - 낮음[1]); // 헤드와 테일을 포함한 전체 양초의 값

SL_값 = (높음[1] + 0.0010); // 짧게는 항상 동일

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value,"내 EA",200,0,Red);

리턴(0);

}

}

}

리턴(0);

}

}

//+----------------------------------------------- -------------------+

tkuan77

마지막으로 닫은 막대를 찾아 마지막으로 닫은 막대의 날짜가 현재 날짜와 같은지 확인해야 합니다.

함수 와 같은 것을 사용하여 마지막으로 마감된 주문 시간을 얻을 수 있습니다.

datetime GetLastClosedOrderTime()

{

datetime CloseTime = 0;

for(int i=OrdersHistoryTotal()-1;i>=0;i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))

if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderCloseTime()>CloseTime)

CloseTime = OrderCloseTime();

}

return(CloseTime);

}

그런 다음 날짜가 동일한지 확인할 수 있습니다.