読み取り専用

フォーラムは現在、読み取り専用のアーカイブとなっています。.

バグ報告やプラットフォームに関する質問はこちら → [email protected]

私たちのコミュニティはDiscordとYouTubeで活動しています。ぜひ参加してください!

ご参加ください Discord YouTube

Proの条件を満たした場合、またはピップス単位の損失が発生した場合、その日の取引を終了するようEAに指示すべきですか?

14件の返信

birdy70

登録者、bbp_participant、コミュニティ、25件の返信。.

プロフィールを表示

12年前 #112314

こんにちは、マーク,

 

一日の利益または損失が例えば+/-100pipsに達したときにその日の取引を停止するルールを入力する場合、それは「ストラテジー(戦略)」のブロックではなく、「リスク管理(Risk Management)」または「セーフティ/ストップ(Safety/Stop)」のブロックに入力します。

 

フィードバックをいただきありがとうございます、,

Birdy70

0

マーク・フリック

管理者、sq-ultimate、2件の返信.

プロフィールを表示

12年前 #125178

こんにちは,

 

EA Wizardには当日の損益(PL)を返す機能はありませんが、追加することができます。.

 

1. {EA Wizard}/code/CustomFunctions.mq4 を開き、そこに次のコードを追加します:

 
double sqGetPLInPipsToday() {
   string todayTime = TimeToStr( TimeCurrent(), TIME_DATE);
   double plToday = 0;
 
   for(int i=0;i<OrdersHistoryTotal();i++) {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true && OrderSymbol() == Symbol()) {
 
         if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) {
            保留中の注文をスキップ
            続ける。;
         }
 
         if(TimeToStr( OrderOpenTime(), TIME_DATE) == todayTime) {
            if(OrderType() == OP_BUY) {
               plToday += sqGetBid(OrderSymbol()) - OrderOpenPrice();
            } else {
               plToday += OrderOpenPrice() – sqGetAsk(OrderSymbol());
            }         
         }
      }
   }
 
   for (int cc = OrdersTotal() - 1; cc >= 0; cc--) {
      if (OrderSelect(cc, SELECT_BY_POS) && OrderSymbol() == Symbol()) {
 
         if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) {
            保留中の注文をスキップ
            続ける。;
         }
 
         if(TimeToStr( OrderOpenTime(), TIME_DATE) == todayTime) {
            if(OrderType() == OP_BUY) {
               plToday += sqGetBid(OrderSymbol()) - OrderOpenPrice();
            } else {
               plToday += OrderOpenPrice() – sqGetAsk(OrderSymbol());
            }         
         }
      }
   }
   
   return(plToday*gPointPow);
}
 
 
2. 次に、ルール内でこの新しい関数を呼び出すことができます。ルールは次のようになります:
IF(その他のルール)
and (Custom Function: sqGetPLInPipsToday() < 100)   <– これは、今日の損益(Pips)が100 Pips未満であることを意味します
 
それから

マーク
StrategyQuantアーキテクト

0

birdy70

登録者、bbp_participant、コミュニティ、25件の返信。.

プロフィールを表示

12年前 #125205

こんにちは、マーク,

 

このコードはどこに入力すればいいのでしょうか?PCで「C:StrategyQuant/SQEAWizard/Code」というフォルダを開くと、「CustomFunctions.mql4」というファイルがあります。 そのファイルを開くと、MT4のエディタが「CustomFunctions」というウィンドウで開きます。そのウィンドウにあなたのコードを貼り付けてコンパイルすると、6つのエラーメッセージが表示されます!

 

助けてください。.

 

Birdy70

0

マーク・フリック

管理者、sq-ultimate、2件の返信.

プロフィールを表示

12年前 #125244

こんにちは,

 

あなたはこの関数をこのファイルにコピーする必要がありますが、コンパイルはしないでください。完全なEAではありません。.

このファイルのコンテンツはEA Wizardで生成されるすべてのEAに追加されるため、カスタム関数を配置するための場所です。.

 

EA Wizardを開いて、ストラテジーを読み込み、そこにカスタム関数を追加して、EAにエクスポートするだけです。そうすれば、問題なくコンパイルできるはずです。.

マーク
StrategyQuantアーキテクト

0

birdy70

登録者、bbp_participant、コミュニティ、25件の返信。.

プロフィールを表示

12年前 #126130

こんにちは、マルクさん、,

 

申し訳ありませんが、理解できません!EAWフォルダの中に CustomFunctions.mql4 というファイルを見つけました。MT4エディタ(MT4内)でこのファイルを開き、最初に教てもらった取引条件を貼り付けることができました。EAWの戦略詳細を開くと、「関数」というダイアログボックスの下に「カスタム関数」というファイルが表示されます。しかし、このウィンドウに取引ルールをどのように入力すればよいのでしょうか?. 

 

もしかしたら、このルールをEAWで段階的に使用する方法を教えていただくか、あるいはEAに「100pipsまたは100ユーロの利益または損失に達した日には、その日の取引を停止する」よう指示する別のトレーディングルールを教えていただけますでしょうか?

 

これはとても素晴らしいことです。.

 

「戦略オプション」というボタンの下に、次のようなルールが表示されます:

決済済み損益の合計(マジックナンバー / 注文数)

合計Profits 

総損失額

決済損益(pips)(マジックナンバーおよび指定トレード数前)

金額ベースの決済損益(マジックナンバーおよび取引履歴)

 

これらのオプションを使って、次のようなルールを作成することは不可能ですか?

 

もし

決済された買い/売り注文の合計が100pipsまたは100ユーロ(例)を超える場合

 

それでは

その日の取引を止める

 

お手伝いいただきありがとうございます!このようなトレーディングルールを作成できることを願っています。.

 

よろしくお願いいたします

Birdy70

0

マーク・フリック

管理者、sq-ultimate、2件の返信.

プロフィールを表示

12年前 #126137

こんにちは,

 

この関数を CustomFunctions.mq4 ファイルにコピーすると、すべての新しいEAにアタッチされるため、条件内で使用できるようになります。.

 

やり方 – 通常通りEA Wizardで戦略を開きます。「新しいトレーディングルールの追加」をクリックし、「Functions」 -> 「Custom Function」の順に進み、「Function」フィールドに次のように記述します。 sqGetPLInPipsToday()

< 100 の比較を追加し、[OK] をクリックしてダイアログを閉じます。.

 

これで以上です。この戦略をEAとして保存すれば、動作するはずです。.

マーク
StrategyQuantアーキテクト

0

jastejp

購読者、bbp_participant、コミュニティ、7件の返信。.

プロフィールを表示

11年前 #129459

こんにちは、マルクさん、,

 

私は他のEAビルダーと比較した上で最近EA Wizardを購入しましたが、あらかじめ組み込まれている機能が非常に豊富に含まれているため、とても満足しています。これが競合他社との違いを生み出していると思いますので、今後とも素晴らしい開発を続けてください。.

 

一日中取り組んだのですが、残念ながらここにあるカスタム関数 `sqGetPLInPipsToday()` を動作させることができませんでした。問題は、一日の利益目標に達した後もトレードが継続してしまうことであり、ご指示を非常に慎重に従ったにもかかわらず、なぜそうなるのか分かりません。添付のチャートをご覧いただければ、最初のトレードで1日の目標である20pipsに達しているにもかかわらず、EAがその日のトレードを継続していることがはっきりと分かります。問題の原因を特定するために、添付ファイルを確認していただけますでしょうか。よろしくお願いいたします。.

 

ありがとうございます。.

よろしくお願いいたします。,

 

ジェイミー

ファイル EURUSDM15.pngEURUSDM15.png
ファイル _CCI_MM_v4.sqw
ファイル _CCI_MM_v4 EA.mq4

0

マーク・フリック

管理者、sq-ultimate、2件の返信.

プロフィールを表示

11年前 #129552

わかりました、問題を見つけました。私の関数に間違いがありましたが、以下が正しいものです。.

 

 

double sqGetPLInPipsToday() {
   string todayTime = TimeToStr( TimeCurrent(), TIME_DATE);
   double plToday = 0;
 
   for(int i=0;i<OrdersHistoryTotal();i++) {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true && OrderSymbol() == Symbol()) {
 
         if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) {
            保留中の注文をスキップ
            続ける。;
         }
 
         if(TimeToStr( OrderOpenTime(), TIME_DATE) == todayTime) {
         Log(“Comparing “, TimeToStr( OrderOpenTime(), TIME_DATE), ” = “, todayTime);
            if(OrderType() == OP_BUY) {
               plToday += OrderClosePrice() - OrderOpenPrice();
            } else {
               plToday += OrderOpenPrice() – OrderOpenPrice();
            }
         }
      }
   }
 
   for (int cc = OrdersTotal() - 1; cc >= 0; cc--) {
      if (OrderSelect(cc, SELECT_BY_POS) && OrderSymbol() == Symbol()) {
 
         if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) {
            保留中の注文をスキップ
            続ける。;
         }
 
         if(TimeToStr( OrderOpenTime(), TIME_DATE) == todayTime) {
            if(OrderType() == OP_BUY) {
               plToday += sqGetBid(OrderSymbol()) - OrderOpenPrice();
            } else {
               plToday += OrderOpenPrice() – sqGetAsk(OrderSymbol());
            }
         }
      }
   }
 
   return(plToday*gPointPow);
}

マーク
StrategyQuantアーキテクト

0

jastejp

購読者、bbp_participant、コミュニティ、7件の返信。.

プロフィールを表示

11年前 #129560

マークさん、こんにちは,

 

どうもありがとうございます。.

新しいコードを試して、結果をお知らせします。バックテストによってオーバー・トレードが問題であることが示され、このスクリプトによってそれが解決されることを期待しています。.

 

ジェイミー

0

jastejp

購読者、bbp_participant、コミュニティ、7件の返信。.

プロフィールを表示

11年前 #129888

マークさん、こんにちは,

 

お返事が遅くなり申し訳ありません。. 

 

動いていますし、まさに私の望み通りの動作をしています。よくやりました!

 

このような有用なコードなどをフォーラムのスティッキー(固定)スレッドにまとめていただいて、見つけやすくしてはどうかと思うのですが、いかがでしょうか。.

 

ありがとうございます、,

ジェイミー

0

ブリニャック・ルーフィング

購読者, bbp_participant, コミュニティ, 顧客, 91件の返信。.

プロフィールを表示

11年前 #130754

上で説明された通りにその文字列を試しましたが、pips数に達した後もトレードが続いてしまいます。この簡単なEAの作成で、何が間違っているのでしょうか?

ファイル PLStopTest11.sqw
ファイル PLStopTest11.mq4

0

ブリニャック・ルーフィング

購読者, bbp_participant, コミュニティ, 顧客, 91件の返信。.

プロフィールを表示

11年前 #130768

みんな、,

  ご覧のとおり、投稿のタイムスタンプが示すように文字通り徹夜で作業したのですが、どうしてもこれが理解できません。何が間違っているのか、誰か詳しく説明していただけないでしょうか。.

 

私が求めているのは、参考にできるシンプルな戦略だけです。例えば、「EMA 10 > EMA 20 のときはロング、EMA 10 < EMA 20 のときはショート」といった具合です。私がしたいのは、$10で利益確定し、翌取引日を迎えることだけです。 徹夜で仕事をして疲れ切っているので、できるだけ早く対応していただけると助かります。.

0

ボラウチャク

定期購読者、bbp_participant、コミュニティ、14件の返信。.

プロフィールを表示

10年前 #135674

こんにちは、, 

まずは、EA Wizardに対する素晴らしいサポートの数々に心より感謝申し上げます。,

 

この機能は素晴らしく、本当に必要としていました。. 

しかし、このコードにはわずかな修正が必要です。. 

 

        if(OrderType() == OP_BUY) {
               plToday += OrderClosePrice() - OrderOpenPrice();
            } else {
               plToday += OrderOpenPrice() – OrderOpenPrice();
 
このコードは次のものでなければならない:
 
        if(OrderType() == OP_BUY) {
               plToday += OrderClosePrice() - OrderOpenPrice();
            } else {
               plToday += OrderOpenPrice() – OrderClosePrice();
 
プログラマーではないし、色々試して(何時間かかけて)見つけたものなので、間違っていたら指摘してください。
 
サポートしていただき、改めてありがとうございます。. 
最高 

0

tomas262

管理者、sq-ultimate、2件の返信.

プロフィールを表示

10年前 #135684

はい、その通りです。それですね。 OrderOpenPrice() に置き換える必要がある OrderClosePrice()

0

ジャック・アーチャー

カスタマー、bbp_participant、コミュニティ、sq-ultimate、6件の返信。.

プロフィールを表示

1年前 #287831

こんにちは。StrategyQuantで1日の利益目標や1日の損切りを設定する方法はありますか? それを実現できる設定やカスタムブロックが見つかりません。 よろしくお願いします!

0

14件の返信を表示中 - 1 - 14件目 (全14件中)