村人の稼ぎ方を学ぶ【第2話】! - ページ 298 1...291292293294295296297298299300301302303304305...473 新しいコメント Boris 2014.02.04 16:50 #2971 YOUNGA: 私はこの伝説を思いついた - 買いの取引は売りの取引とほぼ同じなので、一緒にテストする理由はない - 実際、EAには売りでの取引のためのモジュールがない(しかし、それは買いの場合と同じです) 保留指値注文でのみ取引する つまり、常に最初に買いでタッチして、その後売りにぶつけてCloseByでクローズするということですか?もし、それがダウンして長期にわたったら? 削除済み 2014.02.04 16:56 #2972 これはテストのポイントです - 私たちは長い間ダウンして、買い注文だけを開いた場合、システムは死ぬはずです(私は繰り返し - 原則として、売却の順序はありません)。現在は修正されています。 khorosh 2014.02.04 17:51 #2973 YOUNGA: 私は、エクイティカーブが相似形であることを発見しました - そう、反対側のマーチンゲールです。ロットサイズは、lastlot = NormalizeDouble(R/(StopLoss-Step*(CountTrades(OP_BUY))) という式で算出されます。),2) R=5...50 レベル間のステップ距離 カーブは魅力的かもしれない、好みの問題だが、このような最大限のドローダウンで年率10%を稼ぐのは非情である。 削除済み 2014.02.04 18:05 #2974 まあ、これで応募の半分くらいかな ;-)収益性をどうやっても上げられない(年率20%くらいだろう)。これまで、ロット計算のアプローチを示してきました。 削除済み 2014.02.04 20:34 #2975 Roman.: ビデオのようにしなければ...。当初はIMHOでは、ご覧ください... 命じられたように:))) 初回入金額 10000 初期ロット1 ランダムエントリー、1ペア売り、1ペア買い TR ~10pip SL ~40bp ストップロスが発生するとロットが2倍になります。 ファイル: 31012014_eurusd_gbpusd_test.ex5 11 kb Роман 2014.02.05 14:25 #2976 pako: 命じられたように:))) 初回入金額 10000 初期ロット1 ランダムエントリー、1ペア売り、1ペア買い TR ~10pip SL ~40bp ストップロスが発生すると、ロットが "2倍 "になります。 なぜコード-クローズドなのか? チェックしてみてください。このようなパターンがあるのか/ないのか? 4にあります。 int start() // -----------------------СТАРТ ЭКСПЕРТА--------------- { //while(GetAsyncKeyState(16)){Sleep(500);} // if(iTime(Symbol(),s_signal_period,0) == prevtime) return(0); //ждем нового бара на сигнальном таймфрейме // prevtime = iTime(Symbol(),s_signal_period,0); //если появился новый бар, то включаемся if (IsExpertStopped) { Comment("Не удалось инициализировать советник!"); return (0);} if (IsExpertFailed) { Comment("Критическая ошибка! Советник остановлен."); return (0);} //---------------------расчет по истории ордеров номера очередной итерации----------------------------------------------- int time = 0; // время - для определения факта работы только с крайним закрытым ордером bool pos1 = false, pos2 = false; //---Поиск крайних отработавших ордеров для открытия очередных позиций на увеличенных при лоссе и стартовых при профите объёмах for (int orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--) { if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY)) {Print(" Ошибка при доступе к исторической базе (",GetLastError(),")");continue;} if ((OrderSymbol() != Symb1) || (OrderMagicNumber() != MagicNumber)) continue; //------------------------- Принимаем в расчет только ордер, закрытый cамым крайним ----------------------- if (time<OrderCloseTime()) //(сравниваем его с хранящимся в переменной time) { time=OrderCloseTime(); //если время закрытия ордера больше - ложим его в переменную int lastType = OrderType(); double lastLots1 = OrderLots(); double lastProfit1 = OrderProfit() + OrderSwap(); } } time = 0; for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--) { if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY)) {Print(" Ошибка при доступе к исторической базе (",GetLastError(),")");continue;} if ((OrderSymbol () != Symb2) || (OrderMagicNumber() != MagicNumber)) continue; //------------------------- Принимаем в расчет только ордер, закрытый cамым крайним ----------------------- if (time<OrderCloseTime()) //(сравниваем его с хранящимся в переменной time) { time=OrderCloseTime(); //если время закрытия ордера больше - ложим его в переменную lastType = OrderType(); double lastLots2 = OrderLots(); double lastProfit2 = OrderProfit() + OrderSwap(); } } //-------------------------------- продолжение стартовым после профита или увеличение по мартину ----------------------------------------------------------------- pos1 = ExistPositions(Symb1,-1,MagicNumber,0); pos2 = ExistPositions(Symb2,-1,MagicNumber,0); if (pos1 == false && pos2 == false) // при отсутствии позиций в рынке по символам { // Анализ крайних двух ордеров по двум инструментам на профит для принятия решения по объёму следующих if (lastProfit1 > 0 && lastProfit2 > 0) { //---Ордер закрылся с прибылью - обнуляем счетчик итераций, счетчик для подсчета последовательного убытка позиций колен лавины, //---текущий и суммарный убыток и открываемся стартовым лотом по тренду // Ордера закрылись в профит, открыться стартовым лотом if (MathRand() > 16384) { WmOrderSend(Symb1, OP_BUY, Lots, MarketInfo(Symb1,MODE_ASK), MarketInfo(Symb1,MODE_BID) - StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_BID) + TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " старт ", MagicNumber); WmOrderSend(Symb2, OP_SELL, Lots, MarketInfo(Symb2,MODE_BID), MarketInfo(Symb2,MODE_ASK) + StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_ASK) - TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " старт ", MagicNumber); } else { WmOrderSend(Symb1, OP_SELL, Lots, MarketInfo(Symb1,MODE_BID), MarketInfo(Symb1,MODE_ASK) + StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_ASK) - TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " старт ", MagicNumber); WmOrderSend(Symb2, OP_BUY, Lots, MarketInfo(Symb2,MODE_ASK), MarketInfo(Symb2,MODE_BID) - StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_BID) + TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " старт ", MagicNumber); } } if (lastProfit1 < 0 && lastProfit2 > 0) { // Ордер по первому символу закрылся с убытком - открываемся по нему увеличенными объёмами Lots_New = lastLots1 * 2; // ---------НОРМАЛИЗАЦИЯ НОВЫХ РАСЧЕТНЫХ ЛОТОВ И ОТКРЫТИЕ ОЧЕРЕДНОЙ ПОЗИЦИИ... Lots_New = NormalizeLots(Lots_New); if (MathRand() > 16384) { WmOrderSend(Symb2, OP_BUY, Lots, MarketInfo(Symb2,MODE_ASK), MarketInfo(Symb2,MODE_BID) - StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_BID) + TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " бАх ", MagicNumber); WmOrderSend(Symb1, OP_SELL, Lots_New, MarketInfo(Symb1,MODE_BID), MarketInfo(Symb1,MODE_ASK) + StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_ASK) - TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " бАх ", MagicNumber); } else { WmOrderSend(Symb2, OP_SELL, Lots, MarketInfo(Symb2,MODE_BID), MarketInfo(Symb2,MODE_ASK) + StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_ASK) - TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " бАх ", MagicNumber); WmOrderSend(Symb1, OP_BUY, Lots_New, MarketInfo(Symb1,MODE_ASK), MarketInfo(Symb1,MODE_BID) - StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_BID) + TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " бАх ", MagicNumber); } } if (lastProfit1 > 0 && lastProfit2 < 0) { // Ордер по первому символу закрылся с убытком - открываемся по нему увеличенными объёмами Lots_New = lastLots2 * 2; // Последующие лоты открываются в соответствие с классическим мартином - удвоение // ---------НОРМАЛИЗАЦИЯ НОВЫХ РАСЧЕТНЫХ ЛОТОВ И ОТКРЫТИЕ ОЧЕРЕДНОЙ ПОЗИЦИИ... Lots_New = NormalizeLots(Lots_New); if (MathRand() > 16384) { WmOrderSend(Symb1, OP_BUY, Lots, MarketInfo(Symb1,MODE_ASK), MarketInfo(Symb1,MODE_BID) - StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_BID) + TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " бАх ", MagicNumber); WmOrderSend(Symb2, OP_SELL, Lots_New, MarketInfo(Symb2,MODE_BID), MarketInfo(Symb2,MODE_ASK) + StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_ASK) - TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " бАх ", MagicNumber); } else { WmOrderSend(Symb1, OP_SELL, Lots, MarketInfo(Symb1,MODE_BID), MarketInfo(Symb1,MODE_ASK) + StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_ASK) - TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " бАх ", MagicNumber); WmOrderSend(Symb2, OP_BUY, Lots_New, MarketInfo(Symb2,MODE_ASK), MarketInfo(Symb2,MODE_BID) - StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_BID) + TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " бАх ", MagicNumber); } } if (lastProfit1 < 0 && lastProfit2 < 0) // Этого варианта нет на видео - удваивает объёмы на обоих символах { Lots_New1 = lastLots1 * 2; Lots_New2 = lastLots2 * 2; // ---------НОРМАЛИЗАЦИЯ НОВЫХ РАСЧЕТНЫХ ЛОТОВ И ОТКРЫТИЕ ОЧЕРЕДНОЙ ПОЗИЦИИ... Lots_New = NormalizeLots(Lots_New); if (MathRand() > 16384) { WmOrderSend(Symb2, OP_BUY, Lots_New2, MarketInfo(Symb2,MODE_ASK), MarketInfo(Symb2,MODE_BID) - StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_BID) + TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " бАх ", MagicNumber); WmOrderSend(Symb1, OP_SELL, Lots_New1, MarketInfo(Symb1,MODE_BID), MarketInfo(Symb1,MODE_ASK) + StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_ASK) - TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " бАх ", MagicNumber); } else { WmOrderSend(Symb2, OP_SELL, Lots_New2, MarketInfo(Symb2,MODE_BID), MarketInfo(Symb2,MODE_ASK) + StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_ASK) - TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " бАх ", MagicNumber); WmOrderSend(Symb1, OP_BUY, Lots_New1, MarketInfo(Symb1,MODE_ASK), MarketInfo(Symb1,MODE_BID) - StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_BID) + TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " бАх ", MagicNumber); } } } //--------------------------------------------------------------------------------------------------- // ----------------------- Свежих закрытых ордеров не было - открытие стартовым лотом ------------ pos1 = ExistPositions(Symb1,-1,MagicNumber,0); pos2 = ExistPositions(Symb2,-1,MagicNumber,0); if (pos1 == false && pos2 == false) // при отсутствии позиций в рынке по символам { if (MathRand() > 16384) { WmOrderSend(Symb1, OP_BUY, Lots, MarketInfo(Symb1,MODE_ASK), MarketInfo(Symb1,MODE_BID) - StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_BID) + TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " старт ", MagicNumber); WmOrderSend(Symb2, OP_SELL, Lots, MarketInfo(Symb2,MODE_BID), MarketInfo(Symb2,MODE_ASK) + StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_ASK) - TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " старт ", MagicNumber); } else { WmOrderSend(Symb1, OP_SELL, Lots, MarketInfo(Symb1,MODE_BID), MarketInfo(Symb1,MODE_ASK) + StopLossPips * MarketInfo(Symb1,MODE_POINT), MarketInfo(Symb1,MODE_ASK) - TakeProfitPips * MarketInfo(Symb1,MODE_POINT), " старт ", MagicNumber); WmOrderSend(Symb2, OP_BUY, Lots, MarketInfo(Symb2,MODE_ASK), MarketInfo(Symb2,MODE_BID) - StopLossPips * MarketInfo(Symb2,MODE_POINT), MarketInfo(Symb2,MODE_BID) + TakeProfitPips * MarketInfo(Symb2,MODE_POINT), " старт ", MagicNumber); } } Print (" lastProfit1 = ", lastProfit1, " lastProfit2 = ", lastProfit2); return(0); // ВЫХОД ИЗ СТАРТ } ファイル: fcusvedptz.mq4 22 kb zymzspzmcy.ex4 10 kb 削除済み 2014.02.05 18:42 #2977 Roman.: なぜコードがロックされているのですか? ほら、こんなスキームがある/ない? "知的財産" :))) いくつかのイベントの後、ソースコードを蝋燭しないでください((( で、MQやWinDoofのようにアドバイスしないのは、おそらくすべて理由があるのでしょう :))) いや、そこの理屈は極めて単純だ。 ランダム遺伝子 0:1 0なら売り、1なら買い 両者共にプラスで引けた場合、オッズ1 Else, 係数2, カウンタ1 とうとう まけおしみ) (( Роман 2014.02.05 21:49 #2978 pako: "知的財産" :))) いくつかのイベントの後、ソースコードを蝋燭しないでください((( で、MQやWinDoofのようにアドバイスしないのは、おそらくすべて理由があるのでしょう :))) いや、そこの理屈は極めて単純だ。 ランダム遺伝子 0:1 0なら売り、1なら買い 両者がプラスになればオッズ1 両方がプラスで終了した場合、オッズは2、カウンターは1です。 とうとう まけおしみ) (( なるほど。映像ではそう見えませんね。一方がプラス側、他方がマイナス側であれば、マイナス側の方のlot_previous * 2とする。プラスで閉じたものが、スタートするものを開く。映像にすべてがある。 私自身はもう少し後に5について書きますが...。 削除済み 2014.02.06 09:48 #2979 Roman.: なるほど。映像ではそう見えませんね。一方がプラス側、他方がマイナス側であれば、マイナス側の方のlot_previous * 2とする。プラスで閉じたものが、スタートするものを開く。映像にすべてがある。 私自身はもう少し後に5について書きますが...。 確かに、よく見ていなかったですね、失礼しました。 Роман 2014.02.06 10:35 #2980 pako: 確かに、よく見ていなかったですね、失礼しました。:-) 1...291292293294295296297298299300301302303304305...473 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私はこの伝説を思いついた - 買いの取引は売りの取引とほぼ同じなので、一緒にテストする理由はない - 実際、EAには売りでの取引のためのモジュールがない(しかし、それは買いの場合と同じです) 保留指値注文でのみ取引する
これはテストのポイントです - 私たちは長い間ダウンして、買い注文だけを開いた場合、システムは死ぬはずです(私は繰り返し - 原則として、売却の順序はありません)。現在は修正されています。
私は、エクイティカーブが相似形であることを発見しました - そう、反対側のマーチンゲールです。ロットサイズは、lastlot = NormalizeDouble(R/(StopLoss-Step*(CountTrades(OP_BUY))) という式で算出されます。),2) R=5...50 レベル間のステップ距離
ビデオのようにしなければ...。当初はIMHOでは、ご覧ください...
命じられたように:)))
初回入金額 10000
初期ロット1
ランダムエントリー、1ペア売り、1ペア買い
TR ~10pip
SL ~40bp
ストップロスが発生するとロットが2倍になります。
命じられたように:)))
初回入金額 10000
初期ロット1
ランダムエントリー、1ペア売り、1ペア買い
TR ~10pip
SL ~40bp
ストップロスが発生すると、ロットが "2倍 "になります。
なぜコード-クローズドなのか?
チェックしてみてください。このようなパターンがあるのか/ないのか?
4にあります。
なぜコードがロックされているのですか?
ほら、こんなスキームがある/ない?
"知的財産" :))) いくつかのイベントの後、ソースコードを蝋燭しないでください(((
で、MQやWinDoofのようにアドバイスしないのは、おそらくすべて理由があるのでしょう :)))
いや、そこの理屈は極めて単純だ。
ランダム遺伝子 0:1
0なら売り、1なら買い
両者共にプラスで引けた場合、オッズ1
Else, 係数2, カウンタ1
とうとう
まけおしみ) ((
"知的財産" :))) いくつかのイベントの後、ソースコードを蝋燭しないでください(((
で、MQやWinDoofのようにアドバイスしないのは、おそらくすべて理由があるのでしょう :)))
いや、そこの理屈は極めて単純だ。
ランダム遺伝子 0:1
0なら売り、1なら買い
両者がプラスになればオッズ1
両方がプラスで終了した場合、オッズは2、カウンターは1です。
とうとう
まけおしみ) ((
なるほど。映像ではそう見えませんね。一方がプラス側、他方がマイナス側であれば、マイナス側の方のlot_previous * 2とする。プラスで閉じたものが、スタートするものを開く。映像にすべてがある。
私自身はもう少し後に5について書きますが...。
なるほど。映像ではそう見えませんね。一方がプラス側、他方がマイナス側であれば、マイナス側の方のlot_previous * 2とする。プラスで閉じたものが、スタートするものを開く。映像にすべてがある。
私自身はもう少し後に5について書きますが...。
確かに、よく見ていなかったですね、失礼しました。
確かに、よく見ていなかったですね、失礼しました。