/жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+//|Трал по эквити |//+------------------------------------------------------------------+/*
Функция вызывается в самом начале эксперта сразу за int Start(), вызов происходит таким образом :
//удаляем запрет на торговлю после удаления всех ордеров
if(OrdersTotal()<1){
if(GlobalVariableCheck("stop")){GlobalVariableDel("stop");}
gEqviti=AccountBalance();
}
//тралим эквити
if(EcvitiTral3(EqwTralStep)){return(0);}
if(GlobalVariableCheck("stop")){return(0);}
если еквити поднялась над балансом, то она блокирует все стальные функции эксперта и тралит.
теперь по переменным : в глобальных переменных static double gEqviti;
во внешних переменных extern double EqwTralStep=0.03;
шаг трейлинга в процентах от эквити extern bool WithoutLoss=false; разрешение на применение метода безубытка
работа фунции : при превышении эквити над балансом она запоминает уровень баланса как нулевой,
при котором надо закрывать- это работа с безубытком, при дальнейшем превышении эквити
на размер EqwTralStep в прцентах она передвигает уровень закрытия выше,
если скорость превышения большая то функция увеличивает шаг квадратично .
*///жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжbool EcvitiTral3(double EqvTralStep){
//if(GlobalVariableCheck("stop")){GlobalVariableDel("stop");} if(OrdersTotal()<1){gEqviti=AccountBalance();return(false);}
if(WithoutLoss){
if(AccountEquity()>=AccountBalance()){mlots = 0.01;CloseAllFirstProfit();
WithoutLoss=false;Print("CloseAll");GlobalVariableDel("stop");return(false);}
return(true);
}
if(AccountEquity()>AccountBalance()){
if(AccountEquity()-AccountBalance()>((AccountBalance()/100)*(EqvTralStep*2))){EqvTralStep=EqvTralStep+EqwTralStep;}
if(AccountEquity()>(gEqviti+(gEqviti/100*EqvTralStep))){
gEqviti=gEqviti+(gEqviti/200*EqvTralStep);
if(!GlobalVariableCheck("stop")){GlobalVariableSet("stop",0);}
}
if(AccountEquity()<=gEqviti){mlots = 0.01;CloseAllFirstProfit();
Print("CloseAll");GlobalVariableDel("stop");return(false);}
else{Comment(AccountFreeMargin()+AccountMargin(),"\n",
"EQUITY TRALING MODE\n",
"EQUITY TRALING STEP =",EqvTralStep," %",
"\nACCOUNT BALANS = ",AccountBalance(),
"\nCLOSE LEVEL = ",gEqviti,
"\nACCOUNT EQUITY = ",AccountEquity(),
"\nNEXT STEP = ",gEqviti+(gEqviti/100*EqvTralStep));
// Print("AccountEquity() = ",(AccountBalance()/100)*(EqvTralStep));return(true);
}
}else{GlobalVariableDel("stop");}
return(false);
}
こんにちは。
イゴールさんのMMと呼ばれるものは同じEAで、負けポジションを取り返す機能を付加したEAよりも収益性が高いように思います。
問題は、なぜMMを独立したEAとして利用しないのか、ということです。
ついに思いついたか......。- はい、あなたはそれがあまりにも変更された雪崩である権利、雪崩からロックオンロックの唯一のアイデアを残しました...、も "廊下/価格チャネル "の概念は、現在の市場のボラティリティではなく、次のロックのための距離に基づいて、変更されています。
私はEAを独立したものとして起動することはありません、それは利益を達成するために一定のロットを増加させることが基本ですが、同時に、別のロックを設定する前に使用可能な資金を制御する場合、結果は非常に "素晴らしい "です。つまり、雪崩の高値掴みで「損切り」するよりも、ТРに届かずに戻り始めたらスプレッドの中で利益を出した方がいい、損切りしたら(定数で300$とした)雪崩を起こそうとか、そういうことを書いています。
イゴール、この「強制的な株式調査」についてもう少し詳しく説明してくれませんか、このような調査がどのように機能するのかよく理解できないのですが...。
コードは私のものではなく、まだ理解もしていないのですが、100%動作します。
イゴール、この「強制的な株式調査」についてもう少し詳しく説明してくれませんか、このような調査がどのように機能するのかよく理解できないのですが...。
自己資本を超えたトラブリングは必要ありません。 プロフィットゾーンに入った後、重なった注文を決済し、残った注文をトラブリングしても同じ効果が得られます。
おそらくですが、これまでは、負けたEAをプラスに「引っ張る」ための万能機能を作るという発想でしたが、トラリピは、4(5)サインや最小限のストップなどを考慮する必要がないため、手間がかからないということです。- 機能を差し込むだけでOK
ZS: さて、どういうことでしょう?renoshnik さんはkodobaseに別のEAを持っていて、テスターでは動作しないとのことですが、今日は時間がありませんが、そのEAのsllep()を以下のようにやり直せばよいでしょう。
このように、1秒間だけsleep()することができます。
このEAが より良い結果を示すと思います :)
SZS: さて、アイデアはどうでしょう?renoshnik さんはkodobaseにもう一つEAを持っていて、そちらのテスターでは動作しないようです。今日は時間がありませんが、このようにEAでsllep()をやり直してみてください。
1秒くらいならsleep()できる。
このEAは 素晴らしい結果を出すと思います :)
私はこの問題を解決しました。http://voloshin-fxcci.blogspot.com/ 私のExpert Advisorは1月から実際の口座で動作しています。今のところ(ジンクスではなく)毎月利益が出ています...。ちなみに、これは月初めのスナップショットですが、「ロット」(平均化注文)でもなんとか動きました...。
このEAで「雪崩的な こと」をやろうとしたのですが、どうすればいいのかまだわかりません。
特にこのEAでは、エクイティトロールは機能しないと思います。私の理解では、エクイティ・トレーリングはONEポジションしか建てない場合に適用され、その多くはノイズによる小さなドローダウンがあり、価格の反転を待って対処するつもりはないのです。しかし、これらのポジションの中には、1つか2つ、「危機的」なレベルまで下落したものがあり、そこまで価格が巻き戻ることは期待できない。ロック」する必要があるのは、これらの数少ないポジションだけであり、その場合、エクイティ・トロールは機能しない......。
コードベースアーカイブにこんなものがありました ==Anti-Moose programの紹介
codebaseのアーカイブで見つけたのですが、==Anti-Moose programの紹介 です。
今日から「アンチロス」の構築を始めたところです。 もし雪崩が負けロットで稼ぐことを目的とするならば、アンチロスがゼロに戻り、各方向のすべてのオープンポジションの総量が再計算される方が理にかなっており、テスターには以下の図面があります。
しかし、これは未決済の注文が多い場合、オーバーラップの増加分が少ないという問題があります。
私は今日「アンチロッソイ」の構築を始めたところです。もし雪崩がブレークイーブンを目指すのであれば、アンチロッソイはゼロに戻り、各方向のすべてのオープンポジションの総量が再計算されるべきで、今のところテスターではこのようになります。
雪崩がロットから稼ぐことを目指すのであれば、ゼロから出金する方が理にかなっており、ロットの総量を再計算することが必須である。
ちょっと提案なんですが...。もし「antilope」を行うのであれば、それはスクリプトであるべきだと考えており、このスクリプトを実行する際に、他の注文に影響を与えずにBreakevenまで取るべき注文に「チケット」を設定できれば良いと思うのですが・・・。
ちょっと提案なんですが...。もし「アンチロップ」を作りたいのであれば、スクリプトである必要があり、スクリプトを起動するときに、他の注文に影響を与えずにブレークイーブンに持っていくための注文の「チケット」を設定できればいいのですが・・・・。
半日 "テスターをねじる" - 結論は1です:ロックは、効果的な戦略のロックとの組み合わせで、特定の時点で損失を与えた戦略に別の戦略のアプリケーションは、EAの効率を数倍に増加しますが、....
- ロックは別の戦略/指標に置くべき
- つけやきば
- なぜなら、逆指値注文のレベルは、商品のボラティリティに応じて計算されなければならないからです。
しかし、結果として - ランダムな損失のロックの私の戦略を使用して、私は次のロックのボリュームを増やそうとしながら、私は、これまでの歴史上の5 "反転 "を観察しますが、時間とお金の間の接続は明らかにロックアップ比率の増加、より速く、それが解かれますが、より高いドローダウン、見られています。
この場合、すでに市場に出ている数量に応じてロック数量増加の算術進行に変更したため、ドローダウンが少なくなっています。