村人の稼ぎ方を学ぶ【第2話】! - ページ 157 1...150151152153154155156157158159160161162163164...473 新しいコメント 削除済み 2012.11.11 10:28 #1561 そこがポイントで、フィル間の固定距離をなくしてダイナミックにし、反対側のラインを超えたら(シグナルが反転したら)クローズするようにしたいです Роман 2012.11.11 12:33 #1562 BeerGod: 要は、トッピングの距離が固定されているのを解消して、ダイナミックに、反対側のラインを超えたら閉じる(反対側の信号で閉じる)ようにしたいのです ATRの表示によってダイナミックにチャンネル幅を変化させるようにしました。今のところ、このブランチの設定でイランとともに、マイクロリアルでこの(逆)アバランチ型スキーム(逆マーチン)を使っています。イランではまだそのスキームをテストしていません。私のエントリーはボリンジャーではなく、OSMAというインジケーターで行っています。アイラン-平均化ツールの場合、ボリンジャーバーでスタートエントリーができるのですが・・・。このコードでは、平均化チャネル幅を計算し、その幅に達すると平均化が実行され、ボリュームが増加します。extern int Period_ATR = 30; // значение АТР для расчета динамического канала extern double Mul_TP = 4.0; // множитель целевой прибыли в единицах волатильности (АТР) extern double Mul_Sl = 0.8; // множитель защитной остановки с последующим производством усреднения позиции при ее сработке уже // увеличенным лотом в единицах волатильности (АТР) ... //-----------------------------------------------------расчет динамического канала---------------------------- if (Symbol() == "GBPJPY" || Symbol() == "EURJPY" || Symbol() == "USDJPY" || Symbol() == "CHFJPY" || Symbol() == "NZDJPY" || Symbol() == "USDRUR") { channel = (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*1000)*Mul_Sl; StopLossPips = NormalizeDouble(channel,0); } else { channel = 10* (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*10000/3)*Mul_Sl; StopLossPips = NormalizeDouble(channel,0); } if (Symbol() == "XAGUSD") // || Symbol() == "EURGBP") StopLossPips = StopLoss; // т.к. волатильность (по АТР) другая (выше) { channel = (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*100)*Mul_Sl; StopLossPips = NormalizeDouble(channel,0); } if (Symbol() == "XAUUSD") // || Symbol() == "XAUUSD" || Symbol() == "EURGBP") StopLossPips = StopLoss; // т.к. волатильность (по АТР) другая (выше) { channel = (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*100)*Mul_Sl; // Большая волатильность, поэтому умножение на 10. StopLossPips = NormalizeDouble(channel,0); } TakeProfitPips=NormalizeDouble(StopLossPips*Mul_TP,0); // расчет уровня тейка для всех инструментов по заданному значению динамического стопа 削除済み 2012.11.11 13:14 #1563 ありがとうございます、実験してみます。一般的には、感覚的に詰め替えればうまくいきます。 Роман 2012.11.11 13:17 #1564 BeerGod:ありがとうございます、実験してみます。一般的には、感覚的に詰め替えを行えば、ある程度の使用感はあります。 どういたしまして。もちろんです!(笑IMHO!ここではリフィルの話ではなく、平均値の話をしているのですが、それはエラン的なExpを考えているのであれば...です。:-) 外部変数を最適化し、本番用のバージョンを用意したら、すぐにレポートをアップします ボリンジャーストリップでスターターエントリーもできるのですが・・・。 削除済み 2012.11.11 13:44 #1565 私の「イラン」はゼロから書くことにしました、リスクの高いトレード ですが、リスクは正当化されます、エントリーにはボレーダーを使うことにしました、あとは、最小限の預金でシステムを維持するために、賢明な平均化をしなければなりませんね。 Роман 2012.11.11 14:01 #1566 BeerGod: 私の「イラン」はゼロから書くことにしました、リスクの高い取引ですが、リスクは正当化されます、ボレーダーをエントリーポイントにすることにしました、あとは賢い平均化をすることです、そうすれば最小限の預金でシステムが機能します。 私のアバランチ(反転・加算)の平均化方式をアイラン(ポーズの平均化価格)で一対一に移し、バリアントを使用することにします。ボリンジャーのスターターもやろうかな...。OSMEでとりあえず。 このようなコードがあります。extern int Max_Iteration = 36; // Максимальное количество итераций (ордеров) в мартине extern int k = 2; // с какой итерации тралим extern int VAR_MM = 0; // используемый вариант MM в соотв-ии: // 0 = множитель с числами ФИБО; // 1 - по Илану в соответствие с LotExponent // 2 - классический мартин - удвоение предыдущего объема // 3 - мн по ар-ой прогрессии // 4 - мартин по схеме домножения предпредыдущего объёма на 2, т.е. 1,2,3,4,6,8,12,16,24,32 extern double LotExponent = 1.1; // на сколько умножать стартовый лот в степени - схема по Илану .... if (Iteration <= Max_Iteration && VAR_MM == 0) // Последующие лоты открываются по множителю в соответствие с числами ФИБО switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 2; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 3 : Lots_New = lots * 3; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 4 : Lots_New = lots * 5; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 5 : Lots_New = lots * 8; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 6 : Lots_New = lots * 13; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 7 : Lots_New = lots * 21; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; ... case 19: Lots_New = lots * 6765; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 20: Lots_New = lots * 10946;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; default: Lots_New = lots * 17711; {Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); } } // Конец тела switch if (Iteration <= Max_Iteration && VAR_MM == 1) //Последующие лоты открываются по ИЛАНУ через экспоненту: iLots = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTrades), lotdecimal); switch(Iteration) // Заголовок switch { // Начало тела switch // case 0 : Lots_New = lots; Print("старт, Lots_New = ", Lots_New );break; // СТАРТ case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема // расчет последующих объемов, открываемых позиций, начиная с объема ПЕРВОЙ-case 1 default: Lots_New = lots * MathPow(LotExponent, Iteration); Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); } // Конец тела switch if (Iteration <= Max_Iteration && VAR_MM == 2)// Последующие лоты открываются в соответствие с классическим мартином - удвоение switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 2; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 3 : Lots_New = lots * 4; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; ... case 16: Lots_New = Lots * 32768;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 17: Lots_New = Lots * 65536;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; default: Lots_New = lots * 65536; {Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); } } if (Iteration <= Max_Iteration && VAR_MM == 3)// Последующие лоты открываются в соответствие с членами ар прогрессии switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 3; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 3 : Lots_New = lots * 5; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 4 : Lots_New = lots * 7; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 5 : Lots_New = lots * 9; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; ... case 57: Lots_New = lots * 113; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 58: Lots_New = lots * 115; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; default: Lots_New = lots * 117; {Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); } } // Конец тела switch if (Iteration <= Max_Iteration && VAR_MM == 4) // мартин по схеме домножения предпредыдущего объёма на 2, т.е. 1,2,3,4,6,8,12,16,24,32 switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 2; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 3 : Lots_New = lots * 3; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 4 : Lots_New = lots * 4; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; ... case 31: Lots_New = lots * 49152;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 32: Lots_New = lots * 65536;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; default: Lots_New = lots * 98304;{Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); } } 削除済み 2012.11.11 16:38 #1567 コードをありがとうございます、アイデアをくれました、私のロジックに合うようにコードを書き直しますが、動的平均化で実験すべきです、そうすれば奇跡は可能です)システムは可能性を秘めています・・・はい、それは話の一部ですが、平均化距離(正しい計算)が全てです。 削除済み 2012.11.12 17:15 #1568 履歴に残るか?そろそろ引用元へ行くべきかな? 削除済み 2012.11.12 17:26 #1569 村人たちよ、HELLO!!!!https://www.mql5.com/ru/forum/142073/page2 Роман 2012.11.12 23:56 #1570 rentik:村人たちよ、HELLO!!!!https://www.mql5.com/ru/forum/142073/page2 プリヴァ! 娘さんの誕生、おめでとうございます。 よくぞ言ってくれました。 1...150151152153154155156157158159160161162163164...473 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
要は、トッピングの距離が固定されているのを解消して、ダイナミックに、反対側のラインを超えたら閉じる(反対側の信号で閉じる)ようにしたいのです
ATRの表示によってダイナミックにチャンネル幅を変化させるようにしました。今のところ、このブランチの設定でイランとともに、マイクロリアルでこの(逆)アバランチ型スキーム(逆マーチン)を使っています。イランではまだそのスキームをテストしていません。私のエントリーはボリンジャーではなく、OSMAというインジケーターで行っています。
アイラン-平均化ツールの場合、ボリンジャーバーでスタートエントリーができるのですが・・・。
このコードでは、平均化チャネル幅を計算し、その幅に達すると平均化が実行され、ボリュームが増加します。
ありがとうございます、実験してみます。一般的には、感覚的に詰め替えればうまくいきます。
ありがとうございます、実験してみます。一般的には、感覚的に詰め替えを行えば、ある程度の使用感はあります。
どういたしまして。もちろんです!(笑IMHO!
ここではリフィルの話ではなく、平均値の話をしているのですが、それはエラン的なExpを考えているのであれば...です。:-)
外部変数を最適化し、本番用のバージョンを用意したら、すぐにレポートをアップします
ボリンジャーストリップでスターターエントリーもできるのですが・・・。
私の「イラン」はゼロから書くことにしました、リスクの高い取引ですが、リスクは正当化されます、ボレーダーをエントリーポイントにすることにしました、あとは賢い平均化をすることです、そうすれば最小限の預金でシステムが機能します。
私のアバランチ(反転・加算)の平均化方式をアイラン(ポーズの平均化価格)で一対一に移し、バリアントを使用することにします。ボリンジャーのスターターもやろうかな...。OSMEでとりあえず。
このようなコードがあります。
村人たちよ、HELLO!!!!
https://www.mql5.com/ru/forum/142073/page2
村人たちよ、HELLO!!!!
https://www.mql5.com/ru/forum/142073/page2
プリヴァ!
娘さんの誕生、おめでとうございます。
よくぞ言ってくれました。