3. PotentialProfit = Lottes*TakeProfit*MarketInfo(Symbol(), MODE_TICKVALUE) 공식을 사용하여 잠재적 이익을 계산합니다.
4. 계산에 따르면 5.00달러(0.1 * 50 * 1.0)의 잠재적 이익을 얻습니다.
포지션은 마이너스가 되고 어느 시점에서 또 다른 평균 매수가 열리지만 많은 0.2
1. 이 두 위치에 대한 손익분기점을 계산합니다. 이 기능은 필요에 따라 오랫동안 사용되어 왔으며 아직까지 불만 사항을 발견하지 못했습니다.
//+----------------------------------------------------------------------------+/*
Расчёт уровня БУ для множества по одному инструменту:
сумма лотов = суммарная позиция (СП)
стоимость тика СП = СТ
профит СП = ПСП
Формула расчёта довольно проста:
КП = ПСП / (СТ * СП)
В которой узнаём количество пипс (КП) до уровня БУ относительно текущей цены (ТЦ) символа.
И подставив КП в формулу БУ = ТЦ - КП * Point получаем уровень цены БУ.
В зависимости от направления СП выбирается прибавлять либо отнимать от ТЦ.
*/double PriceWL( int op, int m1, int m2, double &ll) {
double Res, pp, pt, tic, NumPP, Prof= 0 , SumLot= 0.00000001 ;
int i;
pt =MarketInfo(sy,MODE_POINT);
tic=MarketInfo(sy,MODE_TICKVALUE); // Стоимость тика СТfor (i= 0 ; i< OrdersTotal (); i++) {
if ( OrderSelect (i,SELECT_BY_POS)) {
if (OrderSymbol()!=sy) continue ;
if (OrderType()!=op) continue ;
if (OrderMagicNumber()==m1 || OrderMagicNumber()==m2) {
Prof+=(OrderProfit()+OrderSwap()+OrderCommission()); // Суммарный профит позиций ПСП
SumLot+=OrderLots(); // Суммарный лот позиций СП
}
}
}
SumLot= MathAbs (NormalizeLot(SumLot));
NumPP= MathAbs (Prof/(tic*SumLot)); // Количество пунктов до уровня бу КПif (op== 0 ) Res=Ask+NumPP*pt;
if (op== 1 ) Res=Bid-NumPP*pt;
ll=SumLot;
return (Res);
}
//+----------------------------------------------------------------------------+
2. 좋아요. 우리는 손익분기점을 계산했지만... 이 두 포지션을 취하면 0에 가까워질 것입니다. 알겠습니다. 이제 이전에 계산된 $5와 동일한 총 이익을 얻기 위해 필요한 만큼 이 BU 수준에 포인트를 추가해야 합니다.
3. 그리고 여기 뇌에 플러그가 있습니다. 내가 하는 일: 5달러를 받고 이 두 위치(0.1+0.2=0.3)의 총 몫으로 나누고 TICK_VALUE를 곱합니다.
5/(0.3*1.0) = 16.66666입니다. 그런 다음 포인트(0.00016)를 곱하고 손익분기점에 추가합니다.
4. 훌륭합니다. 테이크가 거기로 이전되지만 이 수준에서 마감하는 두 백의 총 이익은 $5와 같지 않은 것 같습니다. 제가 보기에는 더 적은 것 같습니다. 이는 시험 일정에서 확인할 수 있습니다. 총 테이크의 계산된 수준에 따라 하나의 포지션이 청산될 때, 많은 포지션이 청산될 때보다 잔고의 증가가 훨씬 더 크다는 것을 분명히 보여줍니다(차트의 이러한 위치는 그 위에 에퀴티 라인의 모양으로 볼 수 있음) ). 일정:
내가 어디에서 잘못 되었습니까?
총 이익을 출력할 수 있다는 것은 이해하지만... 변수가 얼마인지가 아니라 계산에서 어디가 잘못될 수 있는지 이해하고 싶습니다. 이미 인쇄했습니다.
if ( NormalizeDouble (Open[ 0 ],Norm)>ma && NormalizeDouble (Bid,Norm)<=ma)
{
if (CheckFiltr()>=Filtr)
{
Print (CheckFiltr()+ " Buy" ); <= Это в журнале есть, значит должна открыться сделка.for (i= 0 ;i> 5 ;i++)
{
res= OrderSend ( Symbol (),OP_BUY,Lot,Ask, 3 ,Bid-Sl* Point , 0 , "OpenBuy" ,Magik, 0 ,Green);
Print ( "Проверка Бай " +i); <= Этого в журнале нет.if (res> 0 ) break ;
Print ( GetLastError ()); <= Этого в журнале нет.Sleep ( 5000 );
}
}
}
3. PotentialProfit = Lottes*TakeProfit*MarketInfo(Symbol(), MODE_TICKVALUE) 공식을 사용하여 잠재적 이익을 계산합니다.
4. 계산에 따르면 5.00달러(0.1 * 50 * 1.0)의 잠재적 이익을 얻습니다.
포지션은 마이너스가 되고 어느 시점에서 또 다른 평균 매수가 열리지만 많은 0.2
1. 이 두 포지션에 대한 손익분기점을 계산합니다. 이 기능은 필요에 따라 오랫동안 사용되어 왔으며 아직까지 불만 사항을 발견하지 못했습니다.
2. 좋아요. 우리는 손익분기점을 계산했지만... 이 두 포지션을 취하면 0에 가까워질 것입니다. 알겠습니다. 이제 이전에 계산된 $5와 동일한 총 이익을 얻기 위해 필요한 만큼 이 BU 수준에 포인트를 추가해야 합니다.
3. 그리고 여기 뇌에 플러그가 있습니다. 내가 하는 일: 5달러를 받고 이 두 위치(0.1+0.2=0.3)의 총 몫으로 나누고 TICK_VALUE를 곱합니다.
나는 5/(0.3*1.0) = 16.66666이 있습니다. 그런 다음 포인트(0.00016)를 곱하고 손익분기점에 추가 합니다.
4. 훌륭합니다. 테이크가 거기로 이전되지만 이 수준에서 마감하는 두 백의 총 이익은 $5와 같지 않은 것 같습니다. 제가 보기에는 더 적은 것 같습니다. 이는 시험 일정에서 확인할 수 있습니다. 하나의 포지션이 청산될 때, 총 테이크의 계산된 수준에 따라 많은 포지션이 청산될 때보다 잔고의 증가가 훨씬 더 크다는 것을 분명히 보여줍니다(차트의 이러한 위치는 그 위에 에퀴티 라인의 모양으로 볼 수 있음) ). 일정:
내가 어디에서 잘못 되었습니까?
총 이익을 출력할 수 있다는 것은 이해하지만... 변수가 얼마인지가 아니라 계산에서 어디가 잘못될 수 있는지 이해하고 싶습니다. 이미 인쇄했습니다.
사실 맞아요. 너무 늦을 수도 있지만 나는 무언가를 고수하지 않습니다. 다음은 본질적으로 pp의 이익입니다. 이것은 열림에서 닫힘까지의 거리입니다. 그렇다면 그 표현이 사실이 아닌 이유는 무엇입니까?
나는 이미 완전히 무언가를 운전하고 있습니다 ... :) 작업 :
1. 0.1랏의 거래량이 있는 오픈 포지션이 있습니다.
2. 그녀의 TakeProfit은 50핍입니다.
3. PotentialProfit = Lottes*TakeProfit*MarketInfo(Symbol(), MODE_TICKVALUE) 공식을 사용하여 잠재적 이익을 계산합니다.
4. 계산에 따르면 5.00달러(0.1 * 50 * 1.0)의 잠재적 이익을 얻습니다.
포지션은 마이너스가 되고 어느 시점에서 또 다른 평균 매수가 열리지만 많은 0.2
1. 이 두 위치에 대한 손익분기점을 계산합니다. 이 기능은 필요에 따라 오랫동안 사용되어 왔으며 아직까지 불만 사항을 발견하지 못했습니다.
2. 좋아요. 우리는 손익분기점을 계산했지만... 이 두 포지션을 취하면 0에 가까워질 것입니다. 알겠습니다. 이제 이전에 계산된 $5와 동일한 총 이익을 얻기 위해 필요한 만큼 이 BU 수준에 포인트를 추가해야 합니다.
3. 그리고 여기 뇌에 플러그가 있습니다. 내가 하는 일: 5달러를 받고 이 두 위치(0.1+0.2=0.3)의 총 몫으로 나누고 TICK_VALUE를 곱합니다.
5/(0.3*1.0) = 16.66666입니다. 그런 다음 포인트(0.00016)를 곱하고 손익분기점에 추가합니다.
4. 훌륭합니다. 테이크가 거기로 이전되지만 이 수준에서 마감하는 두 백의 총 이익은 $5와 같지 않은 것 같습니다. 제가 보기에는 더 적은 것 같습니다. 이는 시험 일정에서 확인할 수 있습니다. 총 테이크의 계산된 수준에 따라 하나의 포지션이 청산될 때, 많은 포지션이 청산될 때보다 잔고의 증가가 훨씬 더 크다는 것을 분명히 보여줍니다(차트의 이러한 위치는 그 위에 에퀴티 라인의 모양으로 볼 수 있음) ). 일정:
내가 어디에서 잘못 되었습니까?
총 이익을 출력할 수 있다는 것은 이해하지만... 변수가 얼마인지가 아니라 계산에서 어디가 잘못될 수 있는지 이해하고 싶습니다. 이미 인쇄했습니다.
내 가격은 5자리 숫자로 구성되어 있습니다. 예: 1.3221.
4자리를 의미합니다. 소수점 이하 4 또는 5를 의미하며, 5자리 중 132210이 됩니다.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\
프로그래머님! 어드바이저와 지표를 결합하는 방법을 알려주세요.
예를 들어, 자체 알고리즘으로 거래하는 간단한 mo_bidir.mq4 봇을 사용했는데 해당 알고리즘에 따라 거래를 계속 열려면 이 봇이 필요하지만 3x MA 신호 후에는 -
예를 들어 ~에 신호 - 3개의 이동 평균 :
FastEMA>MediumEMA>SlowEMA( 경향 위로 ) - 봇 구매
FastEMA<MediumEMA<SlowEMA ( 경향 아래로 ) – 봇 팔다
Inp_Signal_ThreeEMA_FastPeriod = 8;
Inp_Signal_ThreeEMA_MediumPeriod = 38;
Inp _ 신호 _ ThreeEMA _ SlowPeriod = 48;
또한 어드바이저가 5분 차트에서 계속 거래하고 지표가 일일 또는 4시간 시간대의 신호를 제공하여 봇 설정에서 시간대를 변경할 수 있도록 해야 합니다.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\
반복해서 죄송합니다. 하지만 최소한 어떤 포럼 스레드에 적용할지 알려주십시오. 아니면 새 주제를 만들어야 하나요?
고맙습니다.
안녕하세요. OrderSend가 포지션을 열지 않는 이유를 설명해 주십시오.
나는 이미 완전히 무언가를 운전하고 있습니다 ... :) 작업 :
1. 0.1랏의 거래량이 있는 오픈 포지션이 있습니다.
2. 그녀의 TakeProfit은 50핍입니다.
3. PotentialProfit = Lottes*TakeProfit*MarketInfo(Symbol(), MODE_TICKVALUE) 공식을 사용하여 잠재적 이익을 계산합니다.
4. 계산에 따르면 5.00달러(0.1 * 50 * 1.0)의 잠재적 이익을 얻습니다.
포지션은 마이너스가 되고 어느 시점에서 또 다른 평균 매수가 열리지만 많은 0.2
1. 이 두 포지션에 대한 손익분기점을 계산합니다. 이 기능은 필요에 따라 오랫동안 사용되어 왔으며 아직까지 불만 사항을 발견하지 못했습니다.
2. 좋아요. 우리는 손익분기점을 계산했지만... 이 두 포지션을 취하면 0에 가까워질 것입니다. 알겠습니다. 이제 이전에 계산된 $5와 동일한 총 이익을 얻기 위해 필요한 만큼 이 BU 수준에 포인트를 추가해야 합니다.
3. 그리고 여기 뇌에 플러그가 있습니다. 내가 하는 일: 5달러를 받고 이 두 위치(0.1+0.2=0.3)의 총 몫으로 나누고 TICK_VALUE를 곱합니다.
나는 5/(0.3*1.0) = 16.66666이 있습니다. 그런 다음 포인트(0.00016)를 곱하고 손익분기점에 추가 합니다.
4. 훌륭합니다. 테이크가 거기로 이전되지만 이 수준에서 마감하는 두 백의 총 이익은 $5와 같지 않은 것 같습니다. 제가 보기에는 더 적은 것 같습니다. 이는 시험 일정에서 확인할 수 있습니다. 하나의 포지션이 청산될 때, 총 테이크의 계산된 수준에 따라 많은 포지션이 청산될 때보다 잔고의 증가가 훨씬 더 크다는 것을 분명히 보여줍니다(차트의 이러한 위치는 그 위에 에퀴티 라인의 모양으로 볼 수 있음) ). 일정:
내가 어디에서 잘못 되었습니까?
총 이익을 출력할 수 있다는 것은 이해하지만... 변수가 얼마인지가 아니라 계산에서 어디가 잘못될 수 있는지 이해하고 싶습니다. 이미 인쇄했습니다.
죄송합니다. 여기에 무엇이 잘못되었는지 설명해주십시오. 내가 이해할 수없는.
위치가 Sell 인 경우에도 추가 ??