コーディングの方法は? - ページ 243

 

ATRインジケーターの改良を手伝ってください!!!

私はATR指標の改良版をコード化しようとしています。私は、ATRインジケータを持ちたいのですが、期間Pの午前2時から午前11時までのローソク足のみに基づいています。

例えば、1時間足チャートで、120期間(±120時間=5日間)のATRを求めたいのですが、その120時間のうち、午前2時から午前11時までのバーだけで、求めることができます。

もしどなたか、私がやろうとしていることを行うために、標準のATRコードを修正する方法をご存知でしたら、あなたのコードでこの投稿にお答えください。

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

 

Ea

直近のローソク 足からX本後のローソク足の始値や高値を求めるには、どのような式を使えばよいのでしょうか?(plsは完全な式を書いてください。私は1行か2行でお願いします。)

ありがとうございます。

 
ak_marshal:
Pls、どの式は、最も最近のフラクタルローソク足からXバーであるローソク足のオープンまたは高値を取得するために使用することができます?(plsは完全な式を書いてください。私はちょうど1つまたは2つの行をお願いしています。) ありがとうございます。

まず最初に、フラクタルバーの インデックスが何であるかを確認する必要があります。そのためにはループを使う必要があります。ここではforを使います。

for(int i = 0;i<Bars;i++)

{

double isfractal = フラクタルを読み込むためのコード。

if(isfractal != 0)

{

double myOpen = Open;//これがあなたのXになります。XBarsAfterFractalはフラクタルバーからの整数値- xバーです。

break;//ループから抜ける

}

}

 

非常に簡単なスクリプトをお願いします

こんにちは、皆さん。

どなたか、下記のCoderGurusのスクリプトを助けていただけませんか?

このスクリプトはそのままでうまく動作しますが、ストップロスとプロフィットテイクを現在の買値と売値ではなく、取引の開始価格に基づいて停止するように変更したいと思います。

先ほど言ったように、このままでも問題なく動作するので、OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green);を変更すればいいと思っていたのですが、以下のようになりました。

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*StopLoss,OrderOpenPrice()+Point*TakeProfit,0,Green) に変更しました。

が、実行してみても何も起こりません。

どなたか正しい方向を示していただけませんか?

ありがとうございます。

スティーブ

//+------------------------------------------------------------------+

//| My_First_Script.mq4(マイファーストスクリプト)

//| 著作権 Coders Guru

//|https://www.mql5.com/en/forum

//+------------------------------------------------------------------+

#property copyright "Copyright Coders Guru" (コピーライト・コーダーズ・グル

#property link "https://www.forex-tsd.com"

#property show_inputs

#include

extern double TakeProfit=250;

extern double StopLoss=35;

//+------------------------------------------------------------------+

//| スクリプトプログラム開始関数

//+------------------------------------------------------------------+

int start()

{

int total,cnt,err;

double stop_loss_value;

double take_profit_value;

total = OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY)// ロングポジションがオープン

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green);

err=GetLastError();

Print("高値 - ");

Print("エラー(",err,"):",ErrorDescription(err))です。

Sleep(1000);

}

if(OrderType()==OP_SELL) // ショートポジションがオープンされました。

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*StopLoss,Ask-Point*TakeProfit,0,Red);

err=GetLastError();

Print("エラー(",err,"):",ErrorDescription(err))です。

Sleep(1000);

}

}

return(0);

}

 

関数を ループさせる方法

ループとして動作する関数EAを使いたいのですが。

(今は変数

INTトレンド)

A >> B >> C >> D >> Eを使用します。

私はA =新高値+ SMA30 > 80を使用します。

私は "買い "トレンド= 1

次にB = sma30 < 80

私は "売り "トレンド= 2

次に、C = sma30>80

私は "買い "トレンド= 3

Cでチェックしたいポイントです。

それが新しい高値を作る場合、私は1であることがトレンドとそれをループさせるために返すようにしたい。

高値を更新しない場合は、sma30 < 80に移動します。

そしてトレンド=4へ

////////////

これは私が欲しいループです誰か使用する関数を教えてください(私の方法は、関数ではなく、変数を使用して、なぜかわからない)

賢明なアドバイスのために願っています、ありがとうございます

 

あなたの論理についていけませんでしたが、もしかしたらこの例がお役に立つかもしれません。

MA30=iMA(NULL,0,30,0,0,0,0);

MA80=iMA(NULL,0,80,0,0,0,0);

if(High[0]>High[1] && MA30>MA80) A=1;

if(MA30<MA80)B=2.0。

if(MA30>MA80)C=3です。

これを工夫して、希望のループ結果に拡張することができるかもしれません。

 

extern varとして現在の日付を設定する?

こんにちは、私はいくつかのコードを修正するためにいくつかの助けを求めていた。問題は、この特定のEAを開くたびに、手動で時間と日付を変更する必要があることです。

具体的には、EAはあらかじめ決められた日時に売買を開始するので、時刻を変更するのはそれほど悪くはないのですが、EAを5~6個のチャートに貼り付けるとなると、ちょっと面倒になり、コピー&ペーストでは長期的には解決しません。

extern datetime NewsTime = D'05.08.2010 10:15';がそのコードです。

どんな助けでも感謝します

 

グローバル変数に新しい日付を設定し(GlobalVariableSet)、この変数の読み取りをEAに追加する(GlobalVariableGet)ようなスクリプトを書いてもいいでしょうか。

 

トレードコメント・パラメーターの 変更について

こんにちは。

私は、マスターから正確な取引コメントを コピーするシグナルコピーEAを持っています。このEAに外部パラメータを追加する必要があり、それは私が望む任意のトレードコメントに設定することができます。どなたか助けていただけると本当に助かります。

ありがとうございます。

ファイル:
s-mtfx_s.mq4  27 kb
 
Ale:
新しい日付でグローバル変数を設定し(GlobalVariableSet)、この変数のEA読み取り(GlobalVariableGet)に追加するスクリプトを書くかもしれませんか?

ありがとうございます。でも、"NewsTime "のような外部変数が、静的変数以外のものを受け付けないことが問題なのではと思いました。

スクリプトを使用して設定することができますが、その後、それを変更することはできません?

ということでしょうか?

理由: