코딩 도움말 - 페이지 65

 

다음은 주문 오픈 시간 을 확인하고 가장 최근 오픈 시간의 가격을 반환하는 함수입니다(이전 주문이 없는 경우 0 반환)

double lastOrderOpenPrice(int magicNumber=0)

{

datetime lastTime = 0;

double lastPrice = 0;

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

{

if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

if (lastTime==0)

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

{

if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

return(lastPrice);

}

[/PHP]

The assumtion is that currently open orders have times more recent than the already closed orders. If you wish to avoid that assumption, comment out this line :

[PHP] if (lastTime==0)

dasio:
안녕,

나는 마지막 openorder의 orderopenprice()를 초래하는 이중 함수가 필요합니다.

누군가 나를 도울 수 있습니까?

고맙습니다
 

안녕,

나는 lotsieze를 계산하기 위해 이 코드를 사용합니다. 가끔 131 오류가 발생합니다. 코드는 괜찮습니까?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

및 Rischio_per_trade = 0.5.

고맙습니다

 

다시오

이 게시물의 기능을 사용해보십시오 : https://www.mql5.com/en/forum/general

dasio:
안녕,

나는 lotsieze를 계산하기 위해 이 코드를 사용합니다. 가끔 131 오류가 발생합니다. 코드는 괜찮습니까?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

및 Rischio_per_trade = 0.5.

고맙습니다
 

친애하는 친구,

다가오는 새해에 귀하와 모든 포럼 회원의 건강과 행복을 진심으로 기원합니다! 이 포럼 회원들의 기발한 아이디어뿐만 아니라 여기 있는 많은 훌륭하고 관대한 코더에게 정말 감사드립니다. 모두 내 거래 기술을 향상시키는 데 많은 도움이 됩니다. )

최근에 시장과 나의 거래 방식을 검토하면서 나에게 많은 도움이 될 지표에 대해 생각합니다. 내 아이디어는 단순하지만 그것을 코드로 옮기는 것은 내 능력 밖입니다. 그런 지표가 있는지 없는지 모르기 때문에 내 아이디어를 자세히 설명하고 누군가가 가장 적합한 것을 찾거나 만드는 데 도움이 되길 바랍니다.

- 일반 아이디어 : 정해진 포인트 범위 내에서 시세를 지속적으로 추적하고 싶습니다. 표시기는 (1) 상위 수준, (2) 하위 수준, (3) 중간 수준, (4) 범위 내의 막대 수와 같은 가격 세그먼트(주어진 고정 범위) 내의 가격 행동에 대한 몇 가지 필요한 정보를 제공합니다. . 나는 또한 주어진 범위에서 POC(Point of Control) 막대 수준을 알고 싶지만 코딩이 너무 복잡하고 PC의 메모리를 많이 소모할 수 있습니다.

- 유추: "시장 프로필", "가격 채널" 또는 "세션 HiLo"와 같은 인기 있는 지표를 찾았습니다. ... 많은 아이디어를 공유합니다. 그러나 그들 모두는 주어진 고정 범위를 기반으로하지 않거나 위에서 언급 한 몇 가지 기능이 부족한 Hourly, Daily, ...와 같은 시간 간격으로 제한됩니다. 내 아이디어를 적용하기 위해 녹음을 시도했지만 지금까지는 성공하지 못했습니다.

- 지표에 대한 위시리스트: (1) 입력 매개변수: 고정 포인트 범위; 주어진 범위 내에서 닫힌 바의 수를 계산하는 데 사용되는 시간 간격(분, 시간 또는 일 단위) 또는 바 번호. 가격 터치 수준 알림(선택 사항)

(2) 메인 차트 출력 : 범위(상,하,중)의 레벨에 해당하는 수평선 을 표시하고, 텍스트는 주어진 시간 동안 범위 내에서 카운트된 막대의 수를 알려줍니다.

(3) 지속적으로 업데이트: (a) 가격이 현재 주어진 범위의 새로운 고가, (b) 현재 주어진 범위의 새로운 저가, (c) 점점 더 많은 막대가 현재 주어진 범위 내에서 통합되는 3가지 경우에 정보가 업데이트됩니다.

보통 이 모든 작업을 수동으로 수행해야 합니다. 이제 이 지표가 작업을 단순화하고 시간을 절약하며 가격 행동에 집중하는 데 도움이 되기를 바랍니다. 인터넷에서 검색하지만 그런 도구를 찾을 수 없습니다. 아시는분이나 만들어주시면 정말 감사하겠습니다.

귀하의 고려와 도움에 감사드립니다!

그리고 다시, 새해 복 많이 받으세요!

친애하는,

파리스톨

오 내가 표시기의 이미지에 대한 첨부 사진을 잊어 버렸습니다.

파일:
 

내 아이디어를 명확히하기 위해 다른 사진을 첨부합니다.

a) 현재 범위의 High 또는 Low는 입력 Bar Number와 별도로 결정됩니다. 높음/낮음은 주어진 범위 크기와 현재 시장 가격 조치에 적응합니다.

b) 입력된 바 번호는 현재 범위 내에서 닫힌 바의 수 를 계산하는 데 사용됩니다.

c) 물론 다른 입력 설정으로 하나의 차트에 표시기를 두 번 이상 넣을 수 있습니다.

fareastol:
친애하는 친구,

다가오는 새해에 귀하와 모든 포럼 회원의 건강과 행복을 진심으로 기원합니다! 이 포럼 회원들의 기발한 아이디어뿐만 아니라 여기 있는 많은 훌륭하고 관대한 코더에게 정말 감사드립니다. 모두 내 거래 기술을 향상시키는 데 많은 도움이 됩니다. )

최근에 시장과 나의 거래 방식을 검토하면서 나에게 많은 도움이 될 지표에 대해 생각합니다. 내 아이디어는 간단하지만 코드로 옮기는 것은 내 능력 밖입니다. 그런 지표가 있는지 없는지 모르기 때문에 내 아이디어를 자세히 설명하고 누군가가 가장 적합한 것을 찾거나 만드는 데 도움이 되길 바랍니다.

- 일반 아이디어 : 정해진 포인트 범위 내에서 시세를 지속적으로 추적하고 싶습니다. 표시기는 (1) 상위 수준, (2) 하위 수준, (3) 중간 수준, (4) 범위 내의 막대 수와 같은 가격 세그먼트(주어진 고정 범위) 내의 가격 행동에 대한 몇 가지 필요한 정보를 제공합니다. . 나는 또한 주어진 범위에서 POC(Point of Control) 막대 수준을 알고 싶지만 코딩이 너무 복잡하고 PC의 메모리를 많이 소모할 수 있습니다.

- 유추: "시장 프로필", "가격 채널" 또는 "세션 HiLo"와 같은 인기 있는 지표를 찾았습니다. ... 많은 아이디어를 공유합니다. 그러나 그들 모두는 주어진 고정 범위를 기반으로하지 않거나 위에서 언급 한 몇 가지 기능이 부족한 Hourly, Daily, ...와 같은 시간 간격으로 제한됩니다. 나는 내 아이디어를 적용하기 위해 그것들을 녹음하려고 시도했지만 지금까지는 성공하지 못했습니다.

- 지표에 대한 위시리스트: (1) 입력 매개변수: 고정 포인트 범위; 주어진 범위 내에서 닫힌 바의 수를 계산하는 데 사용되는 시간 간격(분, 시간 또는 일 단위) 또는 바 번호. 가격 터치 수준 알림(선택 사항)

(2) 메인 차트에 출력 : 범위(상,하,중)의 레벨에 해당하는 수평선을 표시하고, 텍스트는 주어진 시간 동안 범위 내에서 카운트된 막대의 수를 알려줍니다.

(3) 지속적으로 업데이트: (a) 가격이 현재 주어진 범위의 새로운 고가, (b) 현재 주어진 범위의 새로운 저가, (c) 점점 더 많은 막대가 현재 주어진 범위 내에서 통합되는 3가지 경우에 정보가 업데이트됩니다.

보통 이 모든 작업을 수동으로 수행해야 합니다. 이제 이 지표가 작업을 단순화하고 시간을 절약하며 가격 행동에 집중하는 데 도움이 되기를 바랍니다. 인터넷에서 검색하지만 그런 도구를 찾을 수 없습니다. 아시는분이나 만들어주시면 정말 감사하겠습니다.

귀하의 고려와 도움에 감사드립니다!

그리고 다시, 새해 복 많이 받으세요!

친애하는,

파리스톨

오 내가 표시기의 이미지에 대한 첨부 사진을 잊어 버렸습니다.
파일:
 

결국 스스로 무언가를 만든 것 같아요. 이제 당신과 공유합니다.

지표 내부에 명시된 바와 같이 나는 아무 것도 발명하지 않고 내가 가지고 있는 두 가지 관련 지표를 혼합하기만 하면 됩니다. 아마도 "혼합"이 좋지 않을 수 있습니다.

보시고 유용하다고 생각하시면 더 좋게 만들어주세요!

 

여러 직사각형 개체 그리기

안녕,

마지막 n 개의 촛불을 확인하는 여러 사각형을 그리려고합니다.

요점에는 간단한 규칙이 있습니다.

첨부된 예시가 있습니다.

배경이 없는 큰 직사각형은 규칙을 정의합니다(움직이는 에버리지를 사용하여 포인트 1에서 포인트 2까지 포함된 가격 확인).

사각형 그리기의 포인트는 가장 높은 범위의 막대의 높고 낮음입니다.

어떻게 코딩할 수 있습니까?

당신의 답변에 감사드립니다.

죄송합니다,

지금은 이미지를 첨부할 수 없습니다. 그러나 두 개의 이동 평균이 있다고 가정합니다. 포인트 1은 위쪽 MA가 느린 빠른 MA의 교차이고 포인트 2는 빠른 MA와 느린 MA의 교차입니다.

 

누구든지 첨부된 rsi 차트 막대 표시기를 수정하는 데 도움을 줄 수 있습니까 ???

이 표시기는 RSi가 50 수준 이상일 때 파란색 막대를 표시하고 이 수준 미만이면 빨간색 막대를 표시합니다.

사실 50레벨은 RSI의 중간 레벨입니다. 실제 과매수 및 과매도 수준인 70과 30에 두 가지 수준을 더 추가하면 훨씬 유용할 것입니다. RSI가 이 두 수준 70/30을 통과하면 양초의 색도 변해야 합니다. 도움을 주시면 정말 감사하겠습니다. 미리 감사드립니다.

파일:
 

라즐로,

이 버전을 사용해보십시오. 여전히 2개의 레벨에서 작동하지만 3개의 상태를 표시합니다(또는 표시하지 않음). 레벨을 나누거나 낮출 때 막대에 색상을 지정하고 rsi 값이 2개 레벨 사이에 있으면 막대를 그대로 둡니다(간단하고 표시기, 막대에 의해 색상이 지정되지 않음) 다음은 표시 방법의 예입니다. "일반" rsi와 비교하는 방법:

Laszlo:
누구든지 첨부된 rsi 차트 막대 표시기를 수정하는 데 도움을 줄 수 있습니까 ???

이 표시기는 RSi가 50 수준 이상일 때 파란색 막대를 표시하고 이 수준 미만이면 빨간색 막대를 표시합니다.

사실 50레벨은 RSI의 중간 레벨입니다. 실제 과매수 및 과매도 수준인 70과 30에 두 가지 수준을 더 추가하면 훨씬 유용할 것입니다. RSI가 이 두 수준 70/30을 통과하면 양초의 색도 변해야 합니다. 도움을 주시면 정말 감사하겠습니다. 미리 감사드립니다.
 
fareastol:
결국 스스로 무언가를 만든 것 같아요. 이제 당신과 공유합니다.

지표 내부에 명시된 바와 같이 나는 아무 것도 발명하지 않고 내가 가지고 있는 두 가지 관련 지표를 혼합하기만 하면 됩니다. 아마도 "혼합"이 잘되지 않을 수 있습니다.

보시고 유용하다고 생각하시면 더 좋게 만들어주세요!

Fareastol, 나는 당신의 범위 표시기가 마음에 들고 "시작점" 끌기(당신이 가지고 있는)와 "끝점 끌기"를 추가할 수 있고 그러면 자동으로 그 기간 동안 범위를 그릴 것이라고 생각합니다.